Projects: All The Groovy Stuff I've Made Over The Years!
I’ve worked on TONS of projects over the years, but these are the ones I’m the most proud of.
Feel free to check out the repositories if you find them interesting!
Professional Projects
GNSS-Status System
GNSS-Status collects, parses, and visualizes data from GNSS sensors and ionospheric sources, allowing operators of vehicles such as excavators to observe the error margins of their GPS systems on an external screen.
By analyzing error graphs in real-time, users can correct deviations, improving accuracy during operations. The system is built with embedded applications in mind, using MQTT for data transmission and a client-side web interface for live display
A weld strength calculator suite for Afry Oy, designed from the ground up for industrial use.
The suite contains calculators for multiple different weld seams.
Currently in use in construction projects from bridges to skyscrapers.
Project Management CRM Software
A custom project management suite for 3D-Koppi Oy, designed to simplify communication between managers and employees.
EasyBootstrap
Unity bootstrapping asset, released to the Unity Asset Store.
Allows users to intercept the Unity scene loading process.
EasyBootstrap intercepts Unity’s scene-loading process, forcing Unity to load the user’s predefined bootstrap scene(s) first.
As a bonus, EasyBootstrap supports async/long-running bootstraps! They are awaited before any gameplay scenes are loaded.
Hobby Projects
It’s specifically designed for high player counts (supports 5000+ connections per server). It is currently used to build an unannounced MMO.
I implemented a custom “allocation free” TCP transport with packet fragmentation, reassembly and compression, with full end-to-end encryption support.
This is accompanied by a custom thread-safe messaging system on top of the transport, utilizing a custom binary-serialization strategy.
KorpiEngine
My pride and joy is my custom MIT-licenced 3D game engine, written in pure C#.
It has a Unity-like API and a fully-fledged OpenGL rendering backend.
The engine is internally ECS-based and currently uses a render-API-agnostic backend. There is a default OpenGL renderer implemented, though.
I work on this project on my spare time, always learning something new!
Korpi
I was intrigued by one of the toughest challenges in game programming:
creating a voxel engine. This is the result.
Dig Deeper
While developed in just two weeks, this game is the winner of the GJFS 2024 Unity Programming Challenge – Best Technical Execution category.
Feedback from the judges:
- “This game looks stunning!“ – Thomas Wrinkley, Unity
- “This game may have some of the best quality code I’ve ever seen“ – Sourav Chatterjee, Unity
Slay The Python
Slay The Spire -like roguelike deckbuilder written in Python, with modding support.
This is what happens when you tell me to write a simple game with a language not meant for it:
- 32 different cards, of three rarities.
- 29 different enemy encounters, consisting of 15 different enemies.
- Four different bosses.
- Six unique encounter rooms, of three rarities.
- Deterministic (seeded) map generation.
- JSON-based data loading.
- Modding support.
This is my first “proper” game written in Python.
Vaasa Weather
Simple weather application with live graphing and weather alerts.
I have removed the app from the Google Play store, due to not having enough time to maintain it properly.
AsunnotKartalla
An API and a website to display the rental houses currently available in Finland.
Scrapes Vuokraovi for available rental apartments, geocodes their location, caches them, and displays them on a website while providing a convenient API.
Grit
Complex cellular automata, where each pixel is simulated based on its physical properties.
This was one of my first projects where I had to get down to the nitty-gritty optimization details, to make the project feasible.
This project taught me a great deal about data-oriented design: since millions of pixels need to be individually simulated, you cannot treat them as regular entities.