Game Development

  • A First Person Adventure Game (Python) Jun 2009 - Now
  • This is a game I'm developing with a friend whom with we'll be giving a course in university of Turku this Fall titled "Introduction to Game Development Tools".

  • Monstrum Maris Balticum (Python) Jan - Mar 2009
  • The name of the game is Monstrum Maris Balticum. It is a very ambitious 3 year game project that is being developed at university of Turku and Turku polytechnic school. It is supposed to come out in 2011 when Turku is featured as the Culture Capital of EU.


    We developed the game with Panda3D, an open source 3D graphics engine that lets the developers use either Python or C++ to write the code. We chose specificly to use Python because it is faster to develop. Whenever we need more performance however we cst pop the hood open and use C++.

  • Project Pongo (Java) Sep - Dec 2008
  • Info to be added...

  • PongDeluxe (Symbian C++) May 2008
  • PongDeluxe

    PongDeluxe is a simple game I developed with Mika Vähäkainu during a mobile device programming course. It features collision detection, and a semi-intelligent AI.

    Source code and documentation package Guide on how to get the game running on windows, The assignment

  • Game of Life (Java Mobile Edition) May 2008
  • On my fourth year of studying at the university of Turku I attended a mobile device programming course that was lectured remotely from Tampere. In the course we had the possibility to do a voluntary programming exercise in Java Mobile Edition (JME, formerly called J2ME) in the hopes of raising our grades. I decided to revisit my old Game of Life Java game because I figured it would be a very straight forward job to port the small program to a mobile version. As it turned out, I was right :)

    Source code, documentation, whole package, The assignment.

  • Game of Life (Java) May 2006
  • GameOfLife

    At the end of my second year of university studies I decided to do another simple game programming exercise. This time I chose to do a life simulation called Game of Life. Originally it's the idea of a British mathematician called John Conway. For the implementation I used an MVC-architecture where the different parts of the game are divided modularly based on their function. My game can be found here along with the source code and documentation.

  • Volleyball Simulator (C++) Apr 2006
  • Not really a game but a simple simulator that I did during the C++ programming course. I'll add more description here later and links to the source code.

  • WormGame (Java) May 2005
  • WormGame

    This was the first game I developed after I had learned about object orientation in general. I sat down one weekend in May and decided to program one simple exercise project and get study credits for it by submitting it to the university (course name: "harjoitustyöprojekti 1"). I developed the game both as a Java Applet and a stand alone application. The source code for the game can be found in here and the documentation in here. Javadoc documentation is also available.

Software Development (missing images and links at the moment)

  • Personal Website (PHP) Nov 2008 and May 2009
  • I started work on my personal website back in November 2008. I set out to write a simple site where I could host information about myself such as my CV, portfolio, and contact information. In addition I wanted to write my own blog application using CakePHP.


    I worked on that during two weekends and got to the point where pretty much everything was done except some final touches on the security features for the blog. As often happens when something is not a priority, those security features never got implemented. In May 2009 when the school semester had ended I decided to just release the site without the blog.


    At the end of July I then began writing my blog using Google's blogspot. However, if I find myself having some extra time on my hands, I do intend to finish my blog app and start using it as the outlet for my thoughts and stories. It's much nicer to use something that you've built yourself after all, with your bare fingers no less! :)

  • Undisclosed Web Development Project (PHP) Jun 2008 - Now
  • Info to be added...

  • Web Development Project for a University Department / Master's Project (PHP) Dec 2008 - May 2009
  • This project was about implementing a simple web database application for a university of Turku department. I did this as my Master's project as well as a freelance project.

  • User Interface Programming Course Exercise (Java + Swing library) Apr 2006
  • This was a project I did with Mika Vähäkainu where we were tasked to create a user interface on top of Java database application. The application + UI would help supervisors at the university oversee how different students' thesis were coming along.


    The database application was provided by some assistants at the university and was actually been built at the same time as our UI implementation. Needless to say, this resulted in some interesting issues as the API that we were programming on with Mika continued to change as the course progressed. Some database calls that previously worked fine might suddenly start falling apart.


    That was the first time I had to deal with changing requirements. Thinking back on that I now appreciate the lesson we were given in that course, although it was likely an unintended one.


    In software development these days changing requirements are all too common. To say that it shouldn't be so or that the customer should know better is to dodge the real issue. The real issue is that software development is hard and to cope with that we must embrace change and not to go against it.

  • Database II Course Exercise (SQL only) Apr 2006
  • In this course I did my first SQL database data definition script and query scripts in PostgreSQL with three fellow students. In earlier courses we had learned about database analysis and design but this time the idea was to also implement it and run some sample queries.


    The main take-aways from the course for me were that a) proper database design takes time and that b) understanding the theory of SQL helps you by leaps and bounds to do a proper implementation.

  • Huffman Codec Application (Java) Mar 2006
  • This was an Algorithms and Data Structures II course project that I did with two other people at the university. We implemented a coder/decoder (aka codec) for lossless data compression using an entropy encoding algorithm called Huffman coding.


    All in all this was a very interesting small project to do. We got to learn by first hand experience how such codecs can be implemented in a high level language like Java. There is of course much room for improvement in the code but that is beside the point. The main idea was to learn about implementing data structures and algorithms and that was achieved in the end.

  • Microcontroller Programming (Assembly) Oct 2005
  • In the Microprocessors course I got to do little bit of micro programming on the PIC16F8X microcontroller using MPLAB.


    It was a fun experience as I had not done assembler-level programming and got to learn some concretish things about registers and jump commands.

  • Stock Grapher (Java) May 2005
  • This was basic Java program + applet that I programmed with a fellow student in the course Programming Project I. We chose to do a stock program that reads a stock file over the net and then saves the data in binary format to another file. The applet part of the program then read that binary file over the net and presented it in a nice way as a graph.

  • Product Database (Java) May 2005
  • Programming II course exercise project that I did with two fellow students. We created a command line driven product database where the user could enter eg. new products and customers.

Papers / Publications / Etc

  • IT Security - Organizational Level Information Security Jan - Mar 2009
  • Info to be added...

    Course report
  • Bachelor of Science thesis Aug - Oct 2008
  • The topic: Artificial intelligence in computer games

    Thesis