Die c’t rezensiert “Spiele entwickeln mit Gamestudio A8”

In der aktuellen Ausgabe der c’t ist eine Rezension meines Buches Spiele entwickeln mit Gamestudio A8 erschienen. Dass Karl-Heinz Dahlmann dabei recht angetan war, wirkt sich wie erwartet ganz ordentlich auf das Amazon-Verkaufsranking aus. Allerdings hätte ich nicht mit einem solchen Impact gerechnet, denn die Verkaufszahlen sind dermaßen in die Höhe geschossen, dass ich fast vor Freude im Büro spontan angefangen hätte zu singen. Zwar hatte ich im Weihnachtsgeschäft schon einmal Platz 16.000 (von 6.000.000.000 Büchern auf Amazon insgesamt) erreicht, aber dass nun Platz 4.800 drin sein sollte, hätte ich nicht gedacht. Da ich gegen Abend wieder auf Platz 20.000 abgerutscht war, war dann die erste Euphorie verflogen. Als ich dann ein paar Tage später nochmal geschaut hatte, sah ich, dass sich das Buch konstant auf Platz ~4000 gehalten hatte und sogar noch einen neuen Rekord mit Platz 4.100 aufgestellt hatte. Juhu! 🙂

Zu sehen sind diese Zahlen übrigens nur auf der amazoninternen Plattform Amazon Author Central. Dort kann man sich als Autor registrieren und sich seine eigenen Bücher zuordnen lassen. Amazon holt dann vom Verlag die Bestätigung ein, dass man wirklich der Autor ist und erst dann bekommt man Zugriff auf die Daten. Ein signifikanter Unterschied zu dem Äquivalent in Amerika ist, dass man in Deutschland lediglich das Ranking einsehen kann und nicht die absoluten Verkaufszahlen. Ich gehe mal davon aus, dass das wieder so eine rechtliche Geschichte ist, die Amazon und den Autoren diese Möglichkeit nimmt. Schade ist, dass man auch nur vom Verlag einmal im Jahr eine Rückmeldung über die tatsächlichen Verkaufszahlen bekommt. Zwar wissen die Damen und Herren wieviele Exemplare sie an die Buchhandlungen rausgegeben haben, allerdings haben letztere die Möglichkeit, nicht verkaufte Bücher wieder zurückzugeben. Diese werden dann nachträglich wieder von den Verkaufszahlen abgezogen. Diese Rechnerei tut sich der Verlag dann verständlicherweise nur einmal im Jahr an. Alles nicht so einfach aber dennoch spannend! In den ersten 3 Monaten des letzten Jahres habe ich übrigens ~500 Bücher verkauft, davon etwa 50 EBooks. EBooks bringen dem Autoren übrigens etwa 3x so viel Tantiemen ein wie ein gedrucktes Exemplar. Kauft also mehr EBooks, ihr macht die Autoren damit glücklich und tut was für die Umwelt 😉

Die Grafik oben zeigt nocheinmal den Ausschnitt des Amazon-Rankings. Anfang Juni kam die c’t auf den Markt. Der Anstieg der Verkaufszahlen stellte sich noch am selben Tag ein. Vielleicht erscheint ja bald nochmal was in der Gamestar oder einem ähnlichen, spieleorientierten Magazin. Das würde unserer Community sicher noch ein bisschen helfen zu wachsen, sodass wir auf der nächsten AckCon (unserem jährlichen Entwicklertreffen) die 20 Teilnehmermarke knacken! Ich freue mich auf jedenfall sehr. Nicht nur darüber, dass ich wahrscheinlich nächstes Jahr auf den Malediven Urlaub machen kann sondern auch darüber, dass sich wirklich so viele Menschen für für ein so kreatives und schönes Hobby wie dem Entwerfen von digitalen Spielen interessieren!

[Gamestudio] BmapGS – Library for bitmap manipulations

For the TUST project I wrote a DLL for some advanced bitmap operations based on the cImg library. It contains for example functions like:

  • Blur
  • Resize
  • Mirror
  • Erode
  • Sharpen
  • Draw line, arrow, spline, triangle, rectangle, border, text

Have fun with it!

[Gamestudio] TUST – A new template library

Some friends and I started a new template library for the game development suite Gamestudio called TUST. This library is supposed to be easy to use for beginners to enable Gamestudio to be more user friendly as it was in its younger days. Furthermore, the Gamestudio community posts hundreds of great code snippets but nobody ever composed them into one package. Currently, we are working on the basics like path finding, effects, shaders and small demos.

If anybody is interested in joining us (yes, you too, students 😉 ) he/she can contact me. We need every help we can get so that we can show an eary state on the AckCon 2013 (video1, video2) in June in Bielefeld!

To show the progress we made, I want to post some pictures of the finished, customizable, procedurally generated menu system I wrote in the last days.

Hadoop 1.0.4 auf Ubuntu Server 12.04.2 installieren

Die Installation von Hadoop ist nicht ganz trivial und leider auch nicht allzugut dokumentiert. Allerdings existiert ein sehr gutes Tutorial von Michael Noll in dem dieser erklärt wie man einen einfachen Single-Node-Cluster aufsetzt. Dieses habe ich mehr oder weniger ins Deutsche übersetzt und stelle es hier zur Verfügung.

 

[Gamestudio] Leap Motion DLL

Today I finished a simple DLL to connect Gamestudio to the Leap Motion. Headers and DLL can be downloaded here. The plugin works with the Leap Motion SDK 0.7.6.

Download

Since I don’t know about the license, you have to download the SDK yourself and put the Leap.dll in the same directory as this plugin.

The device has to be enabled by calling leap_init() and can then be used, for instance, to get all hands (get_hand_count()) recognized by the device. The video below shows a quickly hacked demo.

Streaming-Portale im Internet – (K)Eine Alternative zu TV und Downloads?

Ich gestehe: ich schaue Grey’s Anatomy. So, jetzt ist es raus. Ich könnte behaupten, dass meine bessere Hälfte mich dazu verleitet hätte, aber es wäre gelogen, wenn ich behaupte, dass ich die Serie nur wegen ihr schaue.

Nun ist es ja so, dass die neuste Staffel (9) auf Pro7 ausgestrahlt wird. Da aber das Fernsehen einen immernoch nötigt, zu festen Zeiten auf dem Sofa zu sitzen und die minutenlangen Werbeblöcke zu erdulden, verweigere ich mich dem. Dieses Konzept funktioniert in meinen Augen nur, solange man nicht eine Folge verpasst und viel Zeit hat um sich mit uninteressanter Werbung zuschwallen zu lassen. Für mich gilt: Ich bin erstens ein notorischer Zuspätkommer und zweitens habe ich eben nicht viel Zeit. Es muss also eine Alternative her.

Continue reading “Streaming-Portale im Internet – (K)Eine Alternative zu TV und Downloads?”

[Leap Motion] Setting up a C++ project with Visual Studio 2010

Yesterday, my Leap Motion Developer Device arrived and I started imeadiately to try the diverse SDKs. Setting up a Java project is simple because the official resource side provides an easy but great tutorial. A C++ project is some more difficult but fairly uncomplicated, as well, when you know how to configure include and library paths. Follow these easy steps to set up a project:

  1. Create a Win32 project via File -> New Project…
  2. Right click the project and select Properties
  3. Under Configuration Properties -> VC++ Directories -> Include directories add a link to [LeapSDK]\include
  4. Under Configuration Properties -> VC++ Directories -> Library directories add a link to [LeapSDK]\lib\x86
  5. Add Leap.dll (Or Leapd.dll in debug mode) under Linker -> Input.
  6. Include at least leap.h in your project and follow the official C++ tutorial to begin your first project.

Have fun! 🙂

Developing custom JSF 2.0 components

In this tutorial I want to show you how to create a classic JSF 2.0 component in pure Java (Classic != Composite Component). Furthermore, you learn how to package it to an own JSF taglib (meaning: as a JAR) so that you it can be distribute easily.

 

HDFS Explorer – Managing the Hadoop file system on a remote machine

Working with hadoop means working with the Hadoop File System (HDFS). Therefore, it is mandatory to read, write and delete files via command line. That can be quite difficult and exhausting when you are not familiar with the common unix and hadoop commands. To handle this task, I wrote a small application that is able to work with an HDFS running on Ubuntu.

So far, the application is able to:

  • Read the HDFS in a treeview
  • Upload / Download files to/from the local machine
  • Delete files on the HDFS
  • Create directories on the HDFS

When there is a need (and if I get enough good feedback 😉 ), I’ll add session management for several file systems as well as the function to start MapReduce jobs from the application (as it can be seen in the lower group box).

A download is about to follow soon!

Eine einfache Logging-Klasse in C++

Ich schreibe gerade an einigen DLLs für Gamestudio und hatte da das Problem, dass es nicht einfach ist diese zu Debuggen. Dafür habe ich hier eine einfache Logging-Klasse geschrieben die als Singleton agiert, er muss also nicht explizit initialisiert sondern einfach nur aufgerufen werden. Das geht so:

Logger::getInstance()->log("Skins: %i", 1);

Es ist also möglich, beliebig lange Argumentelisten zu verarbeiten. Das Log wird in der Datei “Log.txt” im Verzeichnis der Anwendung gespeichert.

Den Quelltext findet ihr hinter dem More-Tag. Viel Spaß damit!

Continue reading “Eine einfache Logging-Klasse in C++”