Welcome to my portfolio

My name is Teemu Hörkkö and I am a 28.5-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.

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.

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.

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. If you're interested download here (70 MB zip).

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.

Download

1 Apogalacticon

Download

2 The Legend

Download

3 Interplanetary Megafactory

Download

4 Voyage Across

Download

5 Compressor

Download

6 End to Everything

Download

7 Sunset Twilight

Download

8 Stellar Superhighway

Download

9 Perigalacticon

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.

Download

1 Abstraction

Download

2 Variable Reality

Download

3 Undeniable Truth

Download

4 A Leap Through

Download

5 Immediate Response

Download

6 Fracture

Download

7 Reflection

Download

8 Deadlock

Download

9 Inverse Consequence

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 :)

Download

1 Reach for the Sky

Download

2 Among the Stars

Download

3 River of Infinity

Download

4 Endless Complexity

Download

5 Lonely Expanse

Download

6 Approaching Monstrosity

Download

7 Uncomfortable Darkness

Download

8 Transcending Dimensions

Download

9 Lightyears Away

Download

10 Uncertainty

Download

11 A New Beginning

Download

12 Reach for the Sky (Original Mix)

More Music

Here I have some more mostly older tracks and pieces.

Download

Scyori

Game soundtrack for the game Scyori.

Download

Pyxenos

Game soundtrack for the game Pyxenos.

Download

Kristallimetsä (Crystal Forest)

Played by me. Piano sheets available here.

Download

Flow

Piano sheets available here.

Download

Grove

Remake version of an older track that can be found on my Mikseri page. It's still technically work in progress even though I haven't done work on it in a long time.

Download

Strife

Download

Brevity

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.