GAME PROGRAMMER (UE5)


Last couple years (2021-2023), I've served as a Programmer at Iceland's 1939 Games, Helsinki studio, specializing in Unreal Engine 5 (Blueprint, C++, Python, and Json).


Main achievements and responsibilities:

  • Conversion of the game to Android (AAB format) with optimized sideloading packages.
  • Mobile game analytics using Firebase and Appflyer.
  • Implementation of Mobile Push Notifications for enhanced player engagement.
  • Extensive UI development across critical game elements (e.g. National (game) progression, login, NPE, Playmenus including also Match deck selection)
  • Upgraded app UI for the Esport World Championship requirements.


Notably, I contributed to the successful release of Kards on Android and iOS, on side of Steam version reforming.

KARDS - The World War II Card Game


Most of the tasks(client side) have been carried out with blueprint.
Except, of course, when c++ has had to create a framework for blueprint.

Especially dev tools have mostly required implementation with C++.

In terms of analytics and Android packaging, tasks have been performed not only in ue5 but also in receiving applications (Google Analytics, Google play, Appsflyer, Firebase).

Match Deck Selection Menu
Functionality, implementation

  • Deck listing in the game menu based on player-specific backend data.


  • Deck sorting order by last used (active) deck or by favorites.


  • Deck wrapping based on design. Which also includes scalability from a small mobile screen to a superwide monitor, allowing the first line to continue.
  • View of the active deck in the menu on the right.

  • Casual / Ranked button functionality.

  • Play button functionatily in different gamemodes.

  • Active game mode selection and management for user storage.

  • Different functionalities in different game menus depending on mode ( training: not casual/ranked, only against the bot. Skirmish: Completely dedicated menus and season dependent content etc.)


Player Progression
Functionality, implementation

  • Configuring level rewards in the background and displaying the implementation.


  • Player's current level with reward unlock features. Both unlocked and locked levels with their own UI configurations.


  • The sideways scrolling view shows the 50 levels prevailing at once. Therefore, every 50 levels there is an exception in functionality, where the view does not show the following above the prevailing level. This required a little special tweeting for the system.


Branch on Platfrom Type
Dev tool, Functionality (BP,C++)

  • BranchOnPlatformType is function that speeds up blueprint use in situations where PC and mobile have their own needs.


  • I created this relatively simple function with c++ which checks whether the platform is mobile or PC. The check is performed with the platformtype function I created earlier, which defines the type by platform name (Mac,Windows = desktop, else mobile). The name data is retrieved from the IniPlatformName(UE) function.


  • This is an example of the tools we created when we started developing game for mobile. In addition to these, the list includes various UI variables for dev and testing etc.


Android Application Bundle (AAB)
Packaging, Functionality, Google play

  • Especially in the early stages of game development, I was fully responsible for building Android packages and their settings.


  • AAB had just been released and turned into the only option to upload package for Google Play. This required some modification and effort, since the size of the game package was problematic. In addition, the public documentation for AAB was still limited, so for the most part I had to experiment and figure out the settings by myself.


  • The game was eventually able to fit into a normal package. But just in case, I built the Fast-Follow and On-Demand asset packs systems. To avoid problems as the package grows (card games are updated frequently)

  • In addition to mounting, package creation caused changes in areas such as Asset Manager priority and chunk id.


Game analytics
Appsflyer, Firebase, Event system

  • I take care of distributing game analytics to Firebase and Appsflyer.


  • Created a blueprint function library that contained the functions which was needed to transfer events.


  • The functions are used in several necessary places inside the game for trigger wanted analytics events (e.g. first online match, purchase event).