Archive for the ‘Seminars’ Category


Indie Startup for Dummies (2008)

I held an Indie Startup for Dummies seminar at the Assembly’08 event, together with Jani Kahrama.

Secret Exit began its game development activities in early 2007 with the aspirations to become an income-funded independent game studio. The seminar covers the first 18 months of the company, from bold plans to unfortunate setbacks to a mountain of paperwork up till today: five guys, a bit of funding and a registered console developer status.

PDF slidesWARNING: If you feel like any “advice” is given in these slides, please note that’s very much time-sensitive, so probably not relevant today. You may find some interesting anecdotes though.


Immediate Mode Graphical User Interface seminar (2007)

At the Assembly’07 event, I held a seminar presentation about Immediate Mode Graphical User Interfaces (IMGUI for short), together with Jari Komppa.

IMGUIs are a “new old” way of creating user interfaces in interactive applications. While not a silver bullet, these lightweight user interfaces can be much easier and faster to implement than any “real” widget library, and are sufficient in many cases. The session goes through theory, a bit of practise, and some case studies.

PDF slides

Note: Big thanks go to Jere Sanisalo from Housemarque, who made it possible to use Super Stardust HD as an additional reference (images & info in the slides).


The Neglected Art of Fixed Point Arithmetic (2006)

Even if floating point is nowadays the typical way to do your math, there is still situations where fixed point math is still relevant. I held a seminar about this topic at the Assembly‘2006 event.

Note that the link below points now to a revised version of the slides. I noticed that in slide 26 I had inadvertently written “b > 0” and “b < 0” when it should read “|b| > 1.0” and “|b| < 1.0”, respectively.

I have also been asked why there’s rounding when converting fixed point numbers from real numbers, but not when converting to integer numbers. Conversion to and from integers is typically best left at simple shift operation, as then the operation is lossless so you can freely convert them back and forth. Convert from a real number typically loses accuracy, so in typical case you probably want to minimize the error. The need to round also varies case by case, so you should think if you want to do it or not.

Note also that the included square root code is actually the version from the Graphics Gems V, not the one from the mentioned Apple Technical Report (there’s minor difference). If you didn’t notice, the quoted form of code copes with 2.30 fixed point numbers, so you probably need to adjust the FRACBITS value to match with your code.

Revised PDF slides

Update 2019-08:
Please fill out this form if you’re potentially interested in a new resource about fixed-point math:


Gentle Introduction to Physics in Games and Demos (2005)

I held a seminar session at the Assembly‘2005 event. My focus was giving an introduction to the common concepts of physical simulation, to give a short glimpse of what kind of physics effects have been featured in demos so far, and to present a short case study of my Dismount™ games.

PDF slides


  • The slide presenting rigid bodies claims that rigid bodies have a shape. Technically this isn’t correct. The shape is realized by collision detection. Forces can be applied to rigid body at arbitrary points without relation to real shape. Thanks to Jere Sanisalo for pointing out the error in the slides.