Blog

  • Dumplings

    Dumplings

    Pork dumplings (饺子) are a must-have in the North during Chinese New Year. Between us, they look a little like ravioli… in case yours turns out like ours, a little misshapen. We tell ourselves that it’s the taste that counts. You can cook in the Cosy / Normal mode, and…

    Continue reading

  • Tang Yuan

    Tang Yuan

    Tang Yuan 汤圆 is a round, stuffed Chinese dessert made of glutinous rice flour and a sweet filling. The outer layer has a soft texture that feels like mochi, but is a little firmer and a little stickier. There are many different sweet fillings, but in KOPI, we use our…

    Continue reading

  • Sample-precise sound
    ,

    Sample-precise sound

    In the Christmas 1 level, we wanted to add a Christmas band as a small fun NPC. If the player gives them any drink or food, they’ll play a tune. (Obviously, if the players ignore the band, they get no tunes.) So far, so easy. But we also wanted to…

    Continue reading

  • Testing for valid glyphs

    Testing for valid glyphs

    We localise KOPI to many different languages, including traditional and simplified Chinese. As I was working through the Christmas edition, I happily typed in “Christmas” in the traditional script (聖誕節), saved everything, compiled the localised strings, and assumed that the simplified version (圣诞节) will also work. To my surprise, I…

    Continue reading

  • Recording KOPI

    Recording KOPI

    We’re working on KOPI trailer, which needs a lot of in-game vide shots (yes, much more than we thought, there’s a pattern emerging!). The initial naive thoughts of just capturing game play of the two of us playing very quickly turned out to be completely insufficient: even at 4k, the…

    Continue reading

  • KOPI World Tour stop 1

    KOPI World Tour stop 1

    If you want to be one of the first in the world to play KOPI, and if you also fancy a free coffee or a small bite to eat, come and join us first in Nucre Patisseries in Kuala Lumpur on 21st October! Play KOPI, get a free coffee |…

    Continue reading

  • Testing gameplay II

    Testing gameplay II

    Continuing the previous–to paraphrase–“Testing is painful” post, we did everything we could to reduce this pain. Tests indeed aren’t easy, so we need to do all we can to reduce this pain & friction. In KOPI, we support local multiplayer for “couch mode”: if you plug in two controllers, and…

    Continue reading

  • Testing gameplay I

    Testing gameplay I

    Tests are crucial part of any system; tests help us make sure the code we ship works as intended. Ah yes… and yet, there are bugs left. And a lot of the times, it’s the players that discover the bugs: strange bugs; complicated and unexpected sequences of actions, leading to…

    Continue reading

  • A few C++ tips

    A few C++ tips

    const_cast It is the case that const_cast can remove or add const ness to things. However, even if the const ness is removed, if an object is declared to be const in the first place, making any modifications to it remains undefined behaviour. Consider this code Here we use const_cast…

    Continue reading

  • Fast local iterations

    Fast local iterations

    In case you didn’t notice, we’re building a game. The game of course runs “without any bugs 🫣” in the Unreal Editor, but it is necessary to test the game on various local devices as quickly as possible. We could use our CI/CD, but that is a touch slower: it…

    Continue reading