December 3rd, 2018
I grew up with computer games in the early 90s. King's Quest VI, Street Fighter II, Doom, Lemmings, Monkey Island, Wing Commander, Ultima Underworld, Burntime, and so many more games cemented my eternal love for pixel art games.
Back in these days I was only allowed to play computer games for half an hour a day (with a later extension to an amazing 60 minutes!). This limitation made playing games even more interesting. When my daily 30 minutes were over, I wasn't sad. Instead, I felt like I felt the day before Christmas - excited that I get to play for another 30 minutes the next day!
This love for games later brought me to Counter Strike. You could create your own maps and import models created in 3D modeling software. At the time I was using Milkshape 3D. A year later I discovered Quake 3's modding capabilities, which started a never ending passion -- creating games on my own.
As a Warhammer 40,000 fan, I wanted to turn the amazing tabletop game Necromunda into a computer game. Learning C programming was required for modding, which soon led me to creating my own terrain engine. Back in these days, we would buy every book about OpenGL and download tutorials from flipcode.com and other tutorial sites onto floppy disks. We only had internet access at school, making this whole endeavour a little more involved than it is today.
All the math I learned at school suddenly became useful -- I had to program all the collision detection and response from scratch. As computers weren't as fast as today's, I had to learn about performance optimization. With programmable shader pipelines arriving on the market, I eventually learned how to program shaders (to make grass move with the wind).
Two years later, I started my university career. I was working on another terrain engine with a few friends. Naturally, the engine had turned into a completely overambitious RPG project. I was looking for ambitious programmers to join the team and got to know Mario - finally a friend with whom I could talk about graphics and game programming!
While at university, I started working part time at Joanneum Research as a C++ programmer. My initial focus was on graphics programming via OpenGL. Later I was mostly working on DirectShow and computer vision applications. I started a computer games company called Pixelcloud Games together with my friend Florian, another graphics programming enthusiast. We started by writing our own engine for a simple 2D game, which wasn't too crazy at the time.
Soon after, Unity (version 3.3 IIRC) had just become affordable. We gathered a few thousand euros and bought our first Unity licenses. Unity didn't support automatically generating colliders for 2D sprites, so I started implementing my own solution. I polished the interface and made the package "2D Collider Gen" available on the Unity Asset Store, which I still support and maintain.
Besides other Unity projects, I also created a brain-computer-interface based training simulation game for disabled people for Graz University of Technology, worked at a VR-startup for a crazy entrepreneur, and, until recently, was an engine and shader programmer at Bongfish GmbH, working on a yet to be announced game.
Mario approached me and asked if I would like to work on Spine. Being a practitioner of Chinese Martial Arts and hugely interested in the fundamental basics of movement and animation, and with the prospect of working on the industry standard for 2D animation for games, this was an easy question to happily answer with a resounding "Yes"!
Coming from a Unity background, I'm very happy to contribute my knowledge to the Unity runtime and C# core, improve performance through parallelization and optimization, as well as being a bugslayer and making customers on the forum happy. Apart from Unity, I will be helping out with Spine's Unreal Engine integration and the C++ core runtime as well.
A very hard question! If I have to pick only one, it'd be Privateer -- the first game I played where you could fly around freely, earn money, and spend it on all kinds of weaponry to equip your spaceship.