CHOOSE YOUR LANGUAGE --- G E R M A N --- E N G L I S H ---

Donnerstag, 20. Juni 2013

Jetzt im AppStore


Endlich ist es soweit, die ersten beiden Spiele, Extra Fluffy und Pulse of Life sind Heute Weltweit im AppStore erschienen. Eine Beschreibung mit Fotos und Videos gibt es hier: www.freakwave.de.

Es ist fantastisch das alle so glatt lief, und jetzt bin ich bereits mit dem nächsten Spiel beschäftigt. Es wird etwas wesentlich interessanteres sein, interessant auch für die größeren Spieler aber nicht kompliziert sondern ganz simpel zu spielen. Eine passende Ergänzung für mein Sortiment, nachdem ich ein Spiel eher für Kinder und eines für Nerds und Conways Game of Live Fans entwickelt habe. Das neue Spiel läuft bereits als Prototyp aber ich werde noch ein paar Wochen entwickeln und Stillschweigen waren müssen, aber danach werde ich natürlich hier im Blog darüber berichten.

Jetzt wünsche ich euch allen viel Spaß beim spielen, und auf baldiges Wiederlesen ;)

Rayjunx

Sonntag, 2. Juni 2013

Raspberry Pi - Food for the nerds of us


My loved Raspberry Pi in pocket size :-)

I have had no time to make some experience with LINUX thill a few days ago, even if I already know its a fine thing, specially because OpenSource. Last week two friends shown me, close at the same time, without knowing about each other, the Raspberry Pi. This mini computer have just pocket size and you can buy for about 30-40 Euro. The yellow box around you see in the image are optional.

It have a 0.7-1ghz processor using only about 5watt, have 512MB integrated RAM, audio, video and DVI out, 2 x USB, SD card slot and what is most amazing a free programmable interface for input and output. Soon I going to control some LED display with it ;) And because LINUX is more effective and not so fat it runs very well and stable, and you can download versions optimized for Raspberry Pi. You can use it as media server, control unit, as skype unit with webcam, up to a super cluster raspberry station, whatever you need, just perfect for every electronic nerd ^^

Web links:

http://de.wikipedia.org/wiki/Raspberry_Pi
http://www.raspberrypi.org/quick-start-guide


More reports and experiment reviews following ^^
Rayjunx

Samstag, 1. Juni 2013

Extra Fluffy und Pulse Of Life sind fertig!


Heute nur ein kurzes Update:

Extra Fluffy und Pulse Of Life sind fertig und jetzt bereits bei Apple zur Kontrolle! Rückmeldung sollte in etwa einer Woche kommen und kurz danach werden sie dann in allen Apple App Stores Weltweit verfügbar sein.

Die Homepage ist auch fertig, inklusive langen Videos zu den Spielen und anderen interessanten Projekten. Ich werde sie aber erst einige Tage vor dem Release updaten.

Viele weitere Spiele sind gleichfalls in der Pipeline, und ich habe schon mit Versuchen angefangen.

Euch allen einen schönen Tag! Und bitte noch kurz geduldig sein, bald sind die Spiele und die Homepage verfügbar. Ich suche im übrigen immer noch nach weiteren Testspielern.

Mehr Infos auf www.freakwave.de

Rayjunx

Bug Jagd


Kennst Du die kriechenden Bugs die sich im Quell Code verstecken und den Programmierern schlaflose Nächte bereiten? Ich möchte Dir von Ihnen erzählen :) Es gibt so viele Möglichkeiten wie man Bugs vermehren und anlocken kann aber es ist ungemein schwerer sie wieder los zu werden.

Im Detail


Wenn Du eine Liste hast mit 10 Bällen die im Bildschirm umherfliegen, wird diese intern wie in allen Programmiersprachen üblich von Objekt 0 bis 9 gezählt. Wenn man das vergisst greift man gerne auf Objekt 10 zu das es nicht gibt, oder fängt an die Objekte ab "1" zu berechnen. Aber so einen Fehler findet man noch recht schnell...

Wenn wir jetzt aber ein Element löschen, davon ausgegangen man lässt diese Liste auch schön verwalten von z.B. NSMutableArray, dann wird die Liste entsprechend gekürzt. Wenn also Ball Nr. 8 gelöscht wird, ist gleich danach Ball Nr. 8 wieder vorhanden, allerdings ist das dann der Ball der vorher Nr. 9 hatte und nur nachgerutscht ist. Klingt logisch oder? Aber schon hier fangen die Bugs das Knabbern an ;)

Wenn wir nun eine sich wiederholende Schleife schreiben die alle Bälle von 0 bis zum letzten Element in der Liste abhandeln, und dann ein Ball aus dem Spiel gelöscht wird, wird so in der selben Runde/Frame vergessen ein Ball zu bewerten, denn nachdem der jeweilige Ball abgehandelt und gelöscht wurde, springt die Schleife ja zur nächsten Ballnummer, und denkt nicht daran das ein Ball mit der selben Nummer, der noch nicht dran war, nachgerutscht ist. Das muss jetzt nicht schlimm sein, es kann sein das ein Ball nur für ein Frame stehen bleibt oder schlimmer, gar nicht dargestellt wird, es kann aber auch Fehler verursachen die das ganze Spiel zum Absturz bringen, und die nicht so einfach aufzufinden sind weil diese schwerer zu reproduzieren sind. Denn ein Fehler der immer an der gleichen Stelle auftritt kann leicht gefunden und behoben werden, man kennt die Stelle und auch grob durch was er verursacht wurde. Aber taucht ein Fehler in verschiedener Form in ganz unterschiedlichen Stellen auf, und eher selten, und niemals an der gleichen Stellen wenn man ihn forcieren möchte, wird die Bugjagd wirklich zum Geduldsspiel. Vor allem wenn man Stunden sucht und dann feststellt das der Code stimmt und nur der Compiler irgend einen Murks gebaut hat und man das in Maschinensprache umgewandelte Projekt nur komplett bereinigen und neu erstellen muss, und auf einmal geht alles wieder! Dieser Fall ist zwar Selten und abhängig von der Programmiersprache, den Tools etc. aber es kommt durchaus vor.

Noch eine lustige Geschichte von "BLACK AND WHITE"


Vor geraumer Zeit hat ein Entwicklerteam ein Spiel namens "BLACK AND WHITE" entwickelt, während sich ein sehr kurioser Bug eingeschlichen hat. Im Spiel entwickelt man eine kleine Nation von Menschen die obendrein ein riesiges Maskottchen artiges Wesen besitzen das sie beschützt und welches man indirekt steuern kann. Dieser Haushohe Kollos fing auf einmal an nur noch im Kreis zu laufen und reagierte auf nichts mehr. Keiner wusste warum und sie suchten und suchten nach einer Ursache... Bis sich endlich herausstellte was los war: Die Kreatur war hungrig geworden und sie suchte etwas zu essen, also ging sie die Liste mit allen anderen Objekten durch die es im Spiel gab, darauf welches Objekt das angreifbar / essbar war am nächst gelegen war, um dieses anzugreifen und zu essen. Natürlich war es selbst auch in dieser Liste eingeschlossen. Kurz um es versuchte sich selbst zu jagen und zu fressen, was natürlich nicht ging, und endete darin das es immer im Kreis lief beim Versuch sich selbst zu folgen ^^ Wie sagt man so schön, jeder ist sich selbst der nächste!

Alles logisch, aber Logik kann sehr komplex sein, und selbst mit viel Erfahrung stolpert man gelegentlich über solche Fallen. Und ganz im Gegenteil dazu sind es eher fantastische Ausnahmen wenn man richtig lange Quell Code Stellen schreibt, die komplexe Themen abhandeln wie Künstliche Intelligenz, und dergleichen, oder letzten zum Beispiel der Runden Generator für Pulse of Life, und dann nach zig Seiten das Programm startet und dieses auf anhieb perfekt und bugfrei läuft. Das ist in etwa so wie mit verschlossenen Augen zur nächsten Stadt zum einkaufen zu fahren und anzukommen ohne einen Unfall gebaut zu haben ^^ Aber es ist schon super wenn das Programm nach 5 Minuten drüber sehen und korrigieren klaglos seinen Dienst verrichtet.