CokeTunes
Inside of very german Coca Cola cap is a code to download a fourth iTunes song, so 4 caps = 1 song. I do not drink coke, but my brothers have a high Coca Cola consumption. Manually type in all the codes is very annoying and I always wanted to do some research in image recognition. So I have written some code to automatically detect the key inside the cap.
The first problem is take a good image. I made a mark on my desk where to put the cap. The code has to be in the upper part of the image. The next step is to find the center and crop the image. This is done with simple pattern matching of a mask. Removing the colors and adjust the brightness is a simple batch job.Arrange the code in a straight line is done by a simple program I have written with OpenGL. It uses the image as a texture and draws a quad strip with circular texture coordinates.
In the end I pass the final image to an open source OCR tool. At the moment the recognition rate is around 50%. But maybe I can improve this.

P.S.: The pictured codes are unused. So this is your chance to get a free song.
Wanted
After working on a lot of other projects, enjoying my life and the totally disapointing iPhone SDK (The greedy Apple). it is time to pick up the Quake 2 PSP project. It is nice to see that some people still waiting for the game. I do not know when I when will release the next version but I will start coding again soon.I never really gave up Quake 2 PSP, I just favor some other hobbies like improve my guitar skills, programming some highend 3d stuff and playing on the PS3.
Burnout Paradise is a really amazing game. The great single player titles are also fun, but only multiplayer games can offer this everlasting motivation. Burnout made the online mode so easy and perfectly integrated. So if you want to challange me or just collect some online challanges with me, join the chat.
I am also looking forward to Wipeout Pulse HD with a hopefully more addictive and feature packed multiplayer mode. Wipeout Pulse was a little bit poor in this case.
The greedy Apple
I was really excited when Apple announced the free, offical iPhone / iPod touch SDK yesterday. My girl friend has one of these wonderful devices. I downloaded the SDK today and played with the simulator until my girl was back from work so I can test on real hardware. But there is a little problem:
Codesign error: no certificate for identifier "iPhone Developer" was found in your keychain
They want to have money for being a registered iPhone developer, so I can sign my code for the device. I am so disappointed by Apple like never before. I had written such a nice game perfectly fitting to the touchscreen and now that.You have to pay for the iPod, you have to buy an Intel Mac and now I should pay for being a developer that wants to support this platform to make it more popular. Fuck you, you greedy idiots! I think a lot of people think the same way as me. So a lot of great programs will never be written or released.
My girlfriend is afraid of jailbreak the iPod, but it seems to be the only option.

Funny days with GLSL
Currently I am working on an intro for the TUM Demoparty. Keep code small and portable seems to be tricky. I know there are issues in code between platforms like Windows and Mac OS X. But I always expected the shader language to be portable. But I never had such problems with the OpenGL Shading Language.There are two usable versions of GLSL: implicit version 1.10 and version 1.20.Both specifications have in common that no cast operator is defined. Instead the constructor is used to convert types.
(more…)
My new PowerBook

I know that it is called MacBook Pro, but after 3 years of using a PowerBook it is hard to change. Optically there are not much chances. The small FrontRow reveiver and some other plugs, two hooks to lock the display and the buildin iSight camera. A major design difference is the size and the weight. It is even lower than my old PowerBook and it weights less. But the dimesions are a little bit greater and this causes that it does not fit in my old neoprene sleeve.

The main reason for buying it was that I now can develop 3d stuff while I am outside. I always hated the ATI card in the PowerBook. My new system has a Geforce 8600M GT with 256MB. Not as powefull as the GTX in my workstation, but for me the feature set is more important.
I never had the feeling my old notebook is too slow, but the new machine is way faster: the boot process, the workflow, the searching and exspecially the compiling, everything. I liked the power pc architecture but also like Intel processors.

The camera has an awesome quality and scroll with two fingers is so nice. Well, I had iScroll2 installed, but it is so soft and you have to keep more distance between your fingers. FrontRow is wonderful when I lay on my bed and can control music. The most diffucult decision was: glossy or normal display. Well glossy displays have pretty nice colors, but when the sun shines on the screen it is like a mirror. I usally use my notebook in the university, in a train or even outside, so I chosse the normal display and I am totally happy. It is bright and colorful.

I will write a seperate article about leopard and its new features and problems. And for all the guys that was waiting for: I also continue Quake 2 dev soon.
Tremulous Antidecon Mod
Some of you might know the Quake 3 based game Tremulous. It is a team based first person shooter. Two races, aliens and humans with different abilities play against each other. Each team has some structures. I sometimes play Tremulous in my rare leisure time.
One of the problems in Tremulous is that some people join the server, destonstructs some important buildings and leave. Usually the “deconned” team loses. This is a serious problem on some servers. So I have written a very small mod to face this problem: the Tremulous Antidecon Mod.
The concept is pretty simple. After some minutes of gameplay new players are disallowed to deconstruct for some time.
(more…)
The sad truth (Update)
Memory Usage
At the moment I try to optimize the memory usage of Quake 2 PSP. This will allow all sounds in multiplayer and reenable singleplayer mode if enough more can be saved. It was easy to analyse where the memory is used, but the more interessting question is what memory is wasted. I did not want to concede myself but the most memory is wasted in at texture’s memory. Most of the textures are not power of two, but the psp requires that. So I reserve more memory than needed. This wastes around 40% of texture memory. When I would scale down the textures it would result in around 20% less used memory. This will be around 60% less texture memory. As a trade-off the graphics quality will be lowered.
Advanced Button Management in Quake 2
There is no need to read the following post if you are happy with your Quake 2 input. But there are some options to fine tune your input.
(more…)

