Welcome to my portfolio
My name is Teemu Hörkkö and I am a 28.6-year-old game developer, programmer and technology enthusiast. Since August 2016 I've worked at Frozenbyte Oy as an engine, console and general gameplay programmer.
In December 2014 I graduated from Kajaani University of Applied Sciences with a bachelor's degree (fin. tradenomi) in information technology and specifically game and game engine programming. My thesis was on component-based object management in game development which is a central part of modern game engines. It can be read on Theseus (in Finnish with an abstract written in English).
Ever since I was 9 years old I wanted to start making games. Programming has been my hobby since and I started off with QuickBasic making very basic text games and later with CoolBasic which was purpose built for game dev and had basic foundations for creating them. Along the way I've picked up web development languages and other knowhow.

During my free time I like to also play video games, listen to music, and occasionally playing piano and composing music. Sometimes I may read some books. I play/played World of Warcraft and have made a few addons for it too. See them if you'd like! They might be out of date tho, buyer beware!
I have some public open source projects on my GitHub though most of it is the WoW addons :)
Also, I like penguins
Contact
If you wish to throw me a message I can be contacted via email.
Skills & Programming Experience
I am experienced in C++ which is also the language of choice for the game development at my workplace. Additionally it was used for nearly all of the games in the Games section.
I am also familiar with different web development languages and technologies even though lately I find myself disliking what web development has become.
Below I have a listed a few of the languages, technologies and software I know or am familiar with, though it isn't by any means exhaustive.
General
-
C++
Primarily game development experience with a handful of my own projects using SFML most often.
Frozenbyte uses C++ for the proprietary game engine and all gameplay programming.
-
C#
Have used it for some minor utility and helper programs. Beyond that I've used it for some game development in both Unity and XNA.
-
Lua
Majority of my Lua experience is from creating addons for World of Warcraft.
-
Python
A nice tool for scripting useful utility scripts and gadgetry.
Web
-
HTML, XHTML & XML
-
PHP
Laravel is a very nice PHP framework.
-
CSS
It's magic. Nested styles with Sass are nice.
-
JavaScript
It exists.
-
SQL
In practice I've really only used MySQL and SQLite.
Software
-
Visual Studio
The primary IDE I use both at work and for hobby projects.
-
Sublime Text
A very snappy text editor I use for everything I don't do in Visual Studio: Lua addons, web development and all miscellaneous text editing.
-
Adobe Photoshop
-
Adobe After Effects
-
FL Studio
The software I use to make all my music.
Console Programming
-
Nintendo Switch®
Working with this platform is quite pleasant. I was part of our initial efforts to port Has-Been Heroes to the platform and did some general and low level stuff like platform configuration, file management, controller support (JoyCons and Pro-Controller) including the HD rumble to list a few things.
For Nine Parchments I also worked to implement the network communication for online and local wireless multiplayer. It was a rather large undertaking and I've learned a lot.
-
Microsoft Xbox One®
My experience on this platform is mostly related to network programming and implementing the secure communication via sockets and online matchmaking for multiplayer gameplay. Additionally I've implemented some other engine functionality like hooking up the hardware MP4 video playback through the included libraries.
-
Sony PlayStation 4®
My experience on this platform is very limited, only consisting of implementing user presence instrumentation.
Games
In this section you can find all the games where I've worked on as a programmer. They are listed from the newest to the oldest.
Frozenbyte

Trine 4Windows, Xbox One, PS4, Switch
The three heroes of the best-selling adventure series are back, sent on a quest to retrieve the troubled young Prince Selius. Amadeus the Wizard, Pontius the Knight, and Zoya the Thief are joined together once again on a thrilling quest through fantastical fairytale landscapes teeming with danger.
Prince Selius suffers from intensely dark dreams and, due to his magical talents, monstrous nightmares are able to slip into reality and wreak havoc on the waking world. Amadeus, Pontius, and Zoya must find the afflicted prince and resolve the desperate situation before the world is engulfed by the Nightmare Prince’s shadows.
Trine 4 is my first foray into a more gameplay oriented programming work during my time at Frozenbyte. Instead of focusing on the lower level nitty-gritty I wanted to have a chance to bring something on the screen that's more visible than just network connection error popups (see Nine Parchments below).
Primarily I've worked on a lot of general gameplay stuff without specializing into any particular area. However, to list a few gameplay features I've been implementing: gameplay effects support and triggers, finalized puzzle implementations, a few physics features like linear velocity drive and rotational drive entities for moving objects, pulley systems and some general behind the scenes improvements.
Steam Store Trailer on YouTube See More
Trine 4 is a trademark or a registered trademark of Frozenbyte. Art and logo copyright © Frozenbyte 2019.

Nine ParchmentsWindows, Xbox One, PS4, Switch
Nine Parchments is a co-operative blast'em up game of magic mayhem. Runaway apprentice wizards seize the opportunity to complete their spellbooks by going after the lost Nine Parchments. As the would-be wizards rapidly acquire powerful new spells without learning proper safety measures, it's natural their hasty progress results in plenty of deadly accidents...
Nine Parchments is the second shipped game during my employment at Frozenbyte and being a larger game comparatively it has been a lot of work.
My work on this game has primarily been bringing our in house engine up to speed with the required network programming for online multiplayer on both the Microsoft Xbox One and Nintendo Switch. On Nintendo Switch I was working on the controllers again, adding the support for single JoyCon controls.
Steam Store Trailer on YouTube See More
Nine Parchments is a trademark or a registered trademark of Frozenbyte. Art and logo copyright © Frozenbyte 2016-2017.

Has-Been HeroesWindows, Xbox One, PS4, Switch
Embark on an epic journey with the Has-Been Heroes, a group of legendary champions once celebrated throughout the kingdom – almost forgotten until the King has one more quest, the most epic of them all: TO TAKE THE TWIN PRINCESSES TO SCHOOL!
For Has-Been Heroes I mostly worked doing lower level engine stuff. Most of my work related to this game specifically was console porting to the Nintendo Switch including project setup, implementing engine features like inputs, and in particular the new HD rumble system.
Frozenbyte uses an in-house built engine programmed in C++. This being my first shipped game during my employment a lot of my time during the project was also spent learning how to program in the engine and how to use the editor.
Steam Store Trailer on YouTube See More
Has-Been Heroes is a trademark or a registered trademark of Frozenbyte. Art and logo copyright © Frozenbyte 2016-2017.
My projects
These projects below are my own or independent productions and they aren't related to my work at Frozenbyte. For a handful of projects in addition to being a programmer I also did some other tasks which are mentioned in the descriptions. Videos, screenshots and downloads are available on Bluefox Games website.
There are more games than this but they are a lot older and more crude projects created with CoolBasic for Windows only.

ScyoriWindows
- Project Length
- 4 months
- Team Size
- 1 person
Is being evil hard work? Scyori does it for a living and now you can have a go at it too. There is a space station in the fringes of space that for some reason needs to be blown to pieces along with everyone on it. To make that a reality you have plasma guns and stuff.
The game is a spiritual successor of Pyxenos featuring similar mechanics and graphical style. Due to a lack of time the game project didn't quite reach the intended goal of multiple boss fights and challenging combat. Think of it more as a proof of concept.
I made this whole game alone. For it I created a new engine in C++ with SFML and Box2D with the intention of improving a design I used for my previous projects having gained experience from them. I also made the graphics and the music. Game took part in the Assembly Summer 2013 gamedev compo where it finished on 10th place.

StonelayerAndroid
- Project Length
- 5 months
- Team Size
- 3 people
- 2 programmers
An intended sequel to Protect Anubis. Game has been programmed almost completely in C++ apart from the required Java code necessary for an Android application. Our self made engine utilizes OpenGL ES 1.1 to draw stuff on screen. Audio playback is implemented using Android's own SoundPool and MusicPlayer classes with binds between Java and C++ code. Uses Box2D for physics.
Unfortunately the project was not finished due to time constraints and is on an indefinite hold or in other words, practically cancelled.

PyxenosWindows
- Project Length
- 2 months
- Team Size
- 2 people
- 2 programmers
Brace yourself for a striking adventure. You, Pyxenos, must defend some place for no reason whatsoever now and for ever. Can you do it? Will the overwhelming numbers of your enemies vanquish you or shall you triumph on this day of glory? Only you can find out!
Taking advantage of our already mostly usable game engine for Blogic we created this game in C++. Our goal was to make a challenging and cool looking arena shooter to participate in the Assembly Summer 2012 gamedev compo where it finished on the 5th place. For this project I also created all graphics and the music used in the game.

BlogicWindows
- Project Length
- 5 months
- Team Size
- 5 people
- 2 programmers
Blogic is an arcade puzzle game where your goal is to destroy blocks by dropping them from up top to combine them into groups of four or more. Arcade-mode gives you limited time to destroy a certain amount of blocks and Puzzle-mode unlimited time but with limited amount of moves.
This game was our first bigger C++ project. We built a basic game engine for this game in C++ using SFML. Project was very good introduction to the problems that one may face when creating games in C++. We had plenty of troubles with memory leaks and segmentation faults. For this game I also created a simple level editor in HTML, JavaScript and PHP so that another team member could design levels and puzzles.

Protect AnubisWindows Phone 7
- Project Length
- 4 months
- Team Size
- 4 people
- 1 programmer
The Empire of Rome has attacked the God of the Dead, Anubis, and you must protect him from the legion's relentless assault in this physics based game. Place blocks of solid rock between the romans and Anubis in order to deflect the projectiles and save the world from certain doom.
Protect Anubis was the first mobile game I've created. It was programmed in C# using XNA framework and Farseer physics for Windows Phone 7.
Other work
These websites I have listed I've created either for myself or as paid work. They are listed in order from the newest to the oldest.

Raamattu avautuu
A comprehensive Bible study website for the SDA church where users can register to complete courses and tests.
Includes a full admin panel for creating the courses and with minor content management systems for adding miscellaneous content pages and managing files. Made with Laravel backend and AngularJS for admin panel.

Kajak Game Development Lab
Another school website. I created a slightly more advanced content management system using a combination of Laravel and AngularJS. Main site layout was done in co-operation with other people but I made all the backend stuff including admin panel.

Bluefox Games Entertainment
The website for my game development house or what ever you'd like to call it, to serve as portal for the distribution of the games I've worked on. Not really updated much recently what with me being employed by another game dev company and all.

Parkanon Lukio (Parkano High School)
I created the layout and the content management system (CMS) myself for this website. The goal was that the school can update the site themselves. CMS admin panel has a simple WYSIWYG-editor and page management panel.

Netpal
Netpal Oy employed me to create this sort of a local youtube for city of Parkano, Finland. Videos of local events and other happenings would be added and users would also able to upload their own videos. In addition to the website I have done some graphics and video editing for Netpal. The site has since been discontinued.
Music
Occasionally I try to compose some music in FL Studio. Might not be the awesomest material ever but these are my favorites. If you like what you hear you can find more of my tracks on my SoundCloud page and Mikseri.net page. Bear with me if the mixing is a bit off on some tracks
Note: Playback on website requires a modern web browser that supports mp3 or ogg audio files. Downloadable files are in mp3 format.
Apogalacticon Download full album
A journey from the outskirts to the galactic core. Or something. Idk, you come up with a better idea.
Inverse Consequence Download full album
Second album with darker or edgier theme I guess? Imagine yourself in a virtual world. Now imagine you didn't know that. Amazingly cliché, I know.
Reach for the Sky Download full album
My first full feature album! The tracks are supposed to tell a narrative based on space travel. See if you can find out what it is :)
More Music
Here I have some more mostly older tracks and pieces.
Grove
Piano Compositions
In addition to the music above I have some original compositions for which I have created piano sheets in PDF format. Links to downloads below.