Monday 30 January 2012

Game Development in 48 hours: Sad Cactus



Last weekend I took part in Global Game Jam. People all around the world gather on GGJ sites and arrange a team and create idea for a game on the fly. Our team consisted of 7 people; 3 programmers, 2 artists and 2 designers. I worked on programming side. The idea was to create game about a cactus, who is sad because he can't hug anyone. We created the game on Unity and we even had time to sleep! The experience was great and I recommend these kind of events for anyone who can program, create art, design games or manage projects. Especially for project managers, we only had one on site and many teams could have probably done better with one on their team.

Take a look at the video:

Want to try it out? It runs on a Mac and PC and is downloadable from GGJ site:
http://globalgamejam.org/2012/sad-cactus

Monday 23 January 2012

Global line simplification algorithm POC

I created this line simplification algorithm as a proof-of-concept for a school exercise. The simplification is based on "Ramer–Douglas–Peucker algorithm" (Wikipedia entry), which is a global simplification algorithm. Code is written in Python, which doesn't support recursion too well. Python will throw you with an ugly "maximum recursion depth exceeded" error if the line consists of too many points and the tolerance value is too low.

I will only release the python source because the software doesn't really do anything interesting, but anyone interested can take a look. The file jGeom.py contains required classes and geomUI.py is the crude runnable UI-implementation. I you implement my code on your project, please credit me as the original author.

Download page



Saturday 21 January 2012

Tutorial: How to make anaglyph (red/cyan) pictures from 3ds photos

Making anaglyph pictures to view with old-school red/cyan-glasses is pretty traightforward. Here is a simple tutorial for creating an anaglyph picture with 3ds. Only the first step is 3ds-centric, all other steps can be applied with other cameras too (But you'll need to take two photos with a regular camera).

First you obviously have to take the photo. If you use 3ds you can find the photos on card at /DCIM/100NIN03/ . 3ds saves two files named HNI_XXXX.JPG (2d) and HNI_XXX.MPO (3d). Preview the .jpg file and select corresponding .mpo to extract. You can use any software you like for extracting, but I have created a tool for that. Open these files in Photoshop and put them on different layers, left on top. Set blending mode on left picture to "Screen".

Select the right image and from select Image -> Adjustments -> Curves. Choose only the red channel and move the point from top right corner to bottom right corner. Picture should change to cyan. For the left image repeat these steps, but instead of red channel change green and blue channels.

Next you have to set the "zero-level". Choose one spot which you want to be at screen level. Move either of the pictures left or right to match the spot in both pictures. You may want to wear anaglyph glasses while searching for the perfect spot.
Now you are almost ready. Just crop the photo to desired size and enjoy your 1850's hottest new technology created with 2011's hottest new technology!

Here are some sample photos for your enjoyment (Click for bigger picture.):



MPO converter Release 2

Taking awesome stereoscopic photos with your Nintendo 3DS but on your computer you only see one picture and a weird .mpo-file? Well here is a solution! This software extracts both left and right pictures and saves them as standard .jpg-files. Then you can convert them to anaglyph picture or edit them as you wish.

Software is completely open source and written in Python. There are standalone versions for Windows and Mac and a .py-file for Unix users. You are also free to implement my algorithm to your own software if you wish. Just credit me as the original author.

Download now:
https://sites.google.com/site/joonamo2/files
The Download includes Windows and Mac versions, source and a sample file.

Update: Tutorial for creating anaglyph (red/cyan) photos with 3ds:
http://joonamo.blogspot.com/2012/01/tutorial-make-anaglyph-redcyan-pictures.html

Thursday 5 January 2012

Introduction

Hello there!

My name is Joona Heinikoski. I am an Engineering student at Aalto University School of Science and Technology. This blog serves two purposes; it is a personal blog for me where I write about technology, games, software and anything that interests me at the moment. This also serves as my portfolio. I will publish my software and games here for everyone to see and try.

Posts about my published software will be in English so anyone can understand them and try out the piece of software. The regular blog posts will mostly be written in my native language, Finnish. That way I can express my thoughts better. This may change in the future, but the software posts will always be written in English. I will also publish my CV (in Finnish and English) here for those interested in hiring me for work.