New Game: Globetrotter!

I just finished work on my new game! Yeah! This is probably the best one I did so far and it was a damn lot of work. Can you imagine it took me 1 full day to just draw the map. :)

Globetrotter - get as close to the city as possible.

10 Levels with different types of maps and sounds and currently more than 300 different locations.

If you want, give it a try and tell me how much you liked it!

games.dschini.org improved

I have worked a little bit on play.dschini.org which now has moved to games.dschini.org. Here's a screenshot of the new frontpage.

The old design was about 2 years old and the were hundreds of things I absolutely did not like. For example the stupid login that was required to play. From my statistics I could see that nearly 90% of all visitors left the site before any game has been played. So now it is possible to play without login or registration.

Another issue was the highscore that was full of old records which were hard to beat. So now I created a monthly highscore visible on the right side, and periodically updating when you are playing!

Have fun playing!

You give that boy his disks back!

A crazy story I stumbled upon today:

Karen, a US teacher confiscated some Linux CDs which some kids were distributing in the class room because she thought they're sharing pirate copies. Sadly (and funny at the same time) she claimed that "free software" simply does not exist. So she wrote an email to the HeliOS developers and announced consequences.

Omigosh.. Ken Stark's reply is worth a read.

Well, now that's the first part of the story. After posting public parts of the email sent by the mentioned teacher Ken Stark got slashdotted and received enormous feedback from all over the world most of them in form of really bad comments fingerpointing at that teacher. A news magazine from New Zealand even offered him $1.000 to tell name and school of the teacher.

Ken then realized that something had started he probably did not want and soon he received a phonecall from a crying Karen who asked why she had been thrown to the wolves. Well, good luck no personal data was published here.

A long story made short: "Karen you are a good teacher! That's life so head's up!" After all it's even funny!

But most important: The student got back his disks! :)

2 minutes of speedcoding

Watch me 2 minutes of speedcoding the blog starter pack for dschini - with some amazing background sound by maniacs of noise! :)

dschini - a lightweight php framework

Inspired by django and PureMVC I finally managed to publish my own little php framework called dschini.
Now you might ask: Why another php framework? There're plenty of them!
That is right but the answer is simple - I do not like them! [ Except for example django and PureMVC ].

But dschini is actually not a framework but a set of starter packages following certain patterns, like f.e. mvc and proxies.

If you cannot agree on this - take the blue pill, continue with your framework of choice and the story ends here!

Read the rest of this entry »

Exciting events in december!

And not only because of the great agenda! Chances are high to socialize with some really interesting persons from the scene.

06.12 - dojo.beer()

This event is organized by Mayflower and uxebu and starts on December 5th with dinner and dojo.beer(). The real event including talks about functional programming with dojo, aop with dojo, gears, cometd ... hold by some of the core dojo contributors is scheduled for December 6th starting at 12.00 at Mayflower office. Details are available here and here!

08.12 - Flex / PHP Zend AMF

This event is organized by the PHP UG Munich, Flex UG Munich, Optaros und Adobe. Mr. Mihai Corlan, Adobe Platform Evangelist, will focus on creating and debugging PHP and Flex applications with Zend Studio and FlexBuilder. The event is scheduled for December 8th and will take place at Studio Eins in Munich. Details are available here.

Both events are free! Yes! Free! And you're very much welcome!

Alchemy JPG Encoder

If you are following Alchemy forum discussions you'll discover that metalbot created a first simple Alchemy wrapper around the encoding part of libjpeg.

Alrighty, here's a simple wrapper around the encoding part of libjpeg.
It uses a custom destination manager (some semi-obscure libjpeg feature) to avoid the whole FILE* issue.
You'll need to get libjpeg separately. there's a README.txt in my .tgz file that glosses over the steps.

That is quite interesting because this part unfortunately was somewhat slow. I guess some final testing is required to prove that the Alchemy wrapper (especially the encoding stuff) is faster than the JPGEncoder of the as3corelib.

Creating a Button with Alchemy!

Sure this makes less sense... however... The Alchemy API offers lots of functions that I need to understand. And after my first attempts yesterday I got inspired to go further.

The code snippet below does a lookup in the runtime for the named property in the specified namespace. In our case it returns the ButtonClass definition which then can be used to instantiate the Button object.

AS3_Val buttonClass = AS3_NSGet(
  AS3_String("mx.controls"),
  AS3_String("Button")
);
AS3_Val emptyParams = AS3_Array("");
AS3_Val button = AS3_New(buttonClass, emptyParams);

The next snippets shows how to fetch the passed parameter (when calling the getButton-Method from Flex) and how to assign it to previously created Button object.

char* label = NULL;
AS3_ArrayValue(args, "StrType", &label);
AS3_Set(button, AS3_String("label"),AS3_String(label));

All sources of this simple example are here:

I think I will dive into AS3_ThunkProc soon - have fun!