Pietari niinimäki

iComputer science freshman and entrepeneur.

I started programming at third grade. At first I played around with small websites on and off, even made some Javascript games. In middle school my interests towards Game development and 3D graphics grew. I learned and honed my skills in 3D modeling software, and enjoyed my work practice period at Supercell's Creature Studio. I have worked on multiple projects since on my freetime, and you can read about those on this page.
Airship Arena


This is a game that I actually finished and released on Google Play Store for Android and on the App Store for iOS devices. The game took a little less than 6 months to create from start to finish. I made the graphics, frontend and backend basically from scratch, and I'm proud of the immense amount of work I put into this game, and the lessons learnt while making this innovative and creative product.

The game features 15 different blocks that can be used to build airships and fight agains AI enemies. New blocks can be unlocked by opening chests gained by beating enemies!

The game is sadly not available for download anymore.

Check out the Website!

Geokings is a rather experimental location-based multiplayer game project, which I worked on for about 4-5 months.

In making this project I have learned a lot more about making reliable netcode, using databases, PHP, making APIs, and AWS, as all actions the player does, are visible to other players and/or confirmed in the backend. I also have gotten more experienced in prioritizing and prototyping, which has made progress smooth and fast.

I have stopped developing Geokings for a few reasons, and moved on to a new project for now.

Check out the trailer here!
Vaahtera - 48h Game Jam

Unity,C#,Blender,Paint.net and an intensive 48 hours

This is a game, that I had actually planned a long time ago. Basically you control a growing tree, and strategize leaf and branch placing. Features cool looking branch generation!

If you check this game out on the game jam site, linked below, you can take a look at the source code. Not the prettiest stuff, but instead of focusing on the prettiness of the code, I made sure to include all sorts of innovative mechanics in the game :P

The game ranked a bit better than my other Ludum Dare games, especially in Innovation and Graphics, which I targeted for.

Play the game, and check out the source code here!
Necroxeon - 78h Game Jam


This game was made in a team of three programmers, including myself, two audio people, and two graphic designers. In the end I had to make most of the graphics though :)

This was the first time I worked in a gamedev team as a programmer, and I learned a lot about communication, planning, and working with different kinds of people from it.

Play the game, and check out the source code here!
Medieval trading game


I originally had planned about making this a full fledged game, but that idea did not go into fruition.​​​​​​​
​​​​​​​This demo project features an adaptible and easily modifiable innovative procedural generation system,road generation based on the A* algorithm, NPCs that travels from city to city, and an efficient and easily modifiable terrain chunk loading system.

Procedural mario kart


This is a bit of an older project, and not the most visually impressive, but the idea is fun, and for this project I had many new ideas for procedural generation systems, that I implemented in this project. The race tracks are procedurally generated custom geometry, and the terrain, which is generated based on the track, is easily customizable with parameters, allowing for easily making different kinds of worlds.

Youtube demo video
Procedural island


In this project my goal was to create interesting continents, with diverse biomes. The project features grid-based vegetation placement, custom shaders for seamless blending of biomes, pathfinding-based river and lake generation. I also wrote an effective, easy to use and easily customizable terrain Level Of Detail system for this project, so if the terrain would be viewed up close, the terrain would remain detailed, and you could see far-off areas, without a large performance hit.

Youtube demo video
Civilization 5 clone challenge, timelapse of coding


This is a project that I did relatively long ago, the code quality is not the greatest etc.
Features a procedurally generated hex-based world, and hex-based river generation. This project took 18 hours to finish from scratch.
Compared to the other projects of mine, this isn't that interesting, but the timelapse may be:

Check out the timelapse of making this
Mobile mars city builder

XCode, Swift,Blender,Paint.net

This was my second iOS project, after a crossy-roads clone with a twist, which I published on the app-store.
I started this project when I turned 14, and eventually cancelled it a bit over a year later, as the challenge was a bit too much for me then, and I didn't have the experience I have know of project development.

The most interesting parts of this project is the relatively in depth and complex road construction. Roads are curved, and allow for seamless intersections etc.

Check out the tech demo video here.
Finnish forest road generation

Unity, C#,Blender,Paint.net

On this project I focused on making a procedurally generated realistic environment from scratch, which I think I succeeded in pretty well.

Road generation is improved from the Procedural Mario Kart project.

All graphics are made by me, the nature models are as optimized as they can be, while retaining their realism, and are loaded only once the player is near them.

Youtube demo video
Stereo depth algorithm

Visual Studio,C#

I am also very interested in Computer Vision, especially 3D data augmentation.

​​​​​​The algorithm, demonstrated on the above picture, takes two reference images as input, and determines the distance of each area of the image from the camera.

In this project I learned about Computer Vision, using Visual Studio and .NET, and optimizing algorithms.

See more examples of the algorithm's results!

(I didn't make the graphics for this one)

I developed Orbit​​​​​​ as a minigame for a mobile application that the startup I am in is developing. The game is a bit on the simpler side, but is designed to be innovative, easy to use, and fun.

The game was playable alongside the application it is in. The minigame got lots of positive reviews, and people were enthusiastic to play it.

A dangerous situation not to wear shoes in - Ludum Dare 48h game jam


This was my first game jam entry. Before this I had mostly worked on 3D games, so this was a nice change. The game ranked rather well, and it's innovation and relatively feature-rich gameplay was praised.

Play the game here!
Made with Grapedrop