Blog

  • Diagnosing game crashes

    Diagnosing game crashes

    When doing user testing, there will be surprises. The players will do things you people would never believe; and there is a small, but insignificant chance that this will result in the game crashing. Not the nice kind of crash with an error message and some default action, but the…

    Continue reading

  • Game saves (2) and concepts

    Game saves (2) and concepts

    In the last post, we explored the low-level USaveGame objects, including a developer quality of life mechanism to support saving and loading of these objects. But this all feels like too much manual work. You have seen these UPROPERTY(SaveGame) specifiers, and the Unreal build tool does not complain if you…

    Continue reading

  • Game saves (1) and concepts

    Game saves (1) and concepts

    In the good old days, games were proper gamers; to play a game, one had to first find the tape, then fiddle with the play and fast-forward buttons to. If you wanted to finish a game, you had better have a whole day, there were no saves. The times have…

    Continue reading

  • Constructor parameters

    Constructor parameters

    Constructor parameters What do we mean constructor parameters? Surely, they are exactly what the title says, what else is there to discuss? You need one or two things? Well, add or or two constructor parameters. Ten things? Ten constructor parameters for you. Now, one or two constructor parameters are definitely…

    Continue reading

  • Diagnosing an elusive build problem

    Diagnosing an elusive build problem

    Diagnosing an elusive build problem After a day of pair programming, we ended up with a lot of new code and blueprints in our project. We submitted all code to our VCS, and waited for the inevitable “OK” from the build automation. Sadly, it never came; instead, we went from…

    Continue reading

  • Generic BP Nodes

    Generic BP Nodes

    Generic BP Nodes Let’s say you wanted to implement a Blueprint node that can return the first element of a list (if the list is non-empty), with two exec pins for valid and invalid, very similar to say the cast node. Tackling first the valid and invalid exec pins, we…

    Continue reading

  • Multiple controllers and UI

    Multiple controllers and UI

    Multiple controllers and UI In addition to network multiplayer, our game needed local couch mode multiplayer, too. It is just so much fine to grab a game controller and have a go with one’s friends. The challenge was how to use the game controllers to drive the user interface. One…

    Continue reading