Riku Leinonen

Interplanetary

A turn-based strategy game with networked multiplayer made with Unity3D in C#. I was responsible for programming all the network functionality for the game. This included a separate online lobby server where the game clients connect to and can host their games and browse and join games hosted by others. I used Lidgren networking library for the networking implementation. I also wrote file reading module that reads tab-delimited text spreadsheets, so the designers in the team could modify values used by the game without having to modify game code and recompile the executable. I also created an input module that made it possible to completely reconfigure the controls of the game in our own custom menu without having to rely on the Unity launcher.

Starcrossed for Android

I ported a Windows Phone game for Android. The original WP game was written in C# using XNA, I ported it over to MonoGame framework so it would work on Android devices as well. Mainly the work involved changing the code to take into account the varying resolutions of Android devices instead of assuming to always run on the same hard-coded resolution and modifying asset loading and audio handling.

Squash the Aliens!

A game for Windows Phone I wrote in C# using XNA. I was the sole programmer for the game, working in collaboration with a game designer.

Battle of Iron Heroes

A 3D PC game I wrote in C# using XNA. I was the sole programmer for the game, working with an audio designer and a bunch of graphics artists. The game uses a flexible component based entity system and features a four-player split-screen multiplayer on one machine, where players may join in on the fly simply by connecting a controller and pressing a button on it.

Sprint Ape

A game for Android devices I wrote in C++ using Kajak3D, a game engine developed by my school. I was the sole programmer for the game, working with a designer, a graphics artist and an audio designer. The game works on all Android devices from Android version 2.2 forward, properly taking into account the varying resolutions the devices can have.