Archive for the ‘SDL’ Category.

Sourcecodeumzug für Quadromania nach GitHub

Da Google Code seine Pforten schliessen wird, habe ich die Sourcen für mein Spiel Quadromania nach GitHub umgezogen.Vielleicht arbeite ich ja mal am Projekt weiter, aktuell ist das aber eher unwahrscheinlich.

Projekt-URL zum Auschecken bei GitHub lautet: https://github.com/simonsunnyboy/quadromania

Ouya Konsole – ein erster Bericht

Ouya Mikroconsole

Ouya Mikroconsole

Längere Zeit kein Blogeintrag, es wird Zeit dies zu ändern.

Beim VSTBo vorige Woche hatten Janina und ich Gelegenheit, auf der Ouya Konsole von ZeHa mal probezuspielen. Ich fand die Idee einer Konsole unter Android schon immer recht reizvoll, zumal die Ouya eine für Entwickler offene Plattform darstellt.

Was ist eigentlich die Ouya? Die Ouya ist eine durch Crowdfunding finanzierte offene Spieleplattform auf Androidbasis, die nicht zuviel kosten soll. Der Launchpreis lag bei 99 US$. Grundsätzlich sind Softwaretitel für die Ouya frei herunterladbar zum ausprobieren und probespielen. Nach dem guten alten Sharewareprinzip können dann Features oder ganze Inhalte im Shop nachgekauft werden. (Mehr zur Ouya bei Wikipedia)

Das Gerät ist schön handlich, ein Würfel mit ca 8cm Kantenlänge. Angeschlossen wird die Konsole per HDMI, USB und Netzwerk stehen noch neben WLAN zur Verfügung. Eingeschaltet wird das Gerät auf Knopfdruck von oben. Die Konsole hat einen Lüfter, dieser ist hörbar, stört aber nicht. Der Stromverbrauch beträgt angeblich kaum mehr als 5 Watt im betrieb. Dies ist natürlich sehr schön.

Als Betriebssystem läuft Android 4.1 mit einer speziellen Ouyashell. Allermeistens bekommt der Benutzer Android nicht zusehen. Der Vorteil liegt darin, daß Spiele für Smartphones und Tablets so relativ einfach auf die Ouya portierbar sind und dadurch eine riesiges Softwareangebot entstehen könnte. (Stand heute is das leider noch nicht der Fall.)

USB Sticks können angeschlossen und benutzt werden, sofern diese mit FAT32 formatiert sind.

Die Controller liegen gut in der Hand, die Abdeckung zu den Batteriefächern sind etwas komisch und nicht leicht zu finden. Ähnlich den Controllern der XBox gibt es 2 analoge Sticks, ein D-Pad, 4 Feuertasten und 4 Schultertasten. Ouyaspezifisch gibt es ein kleines Touchpad und einen spezielle Ouyabutton, der Menüs aufruft. Angebunden werden die Controller kabellos per Bluetooth, leider dauert das Pairing manchmal etwas arg lange. Leuchtdioden zeigen an, ob der Controller aktiv ist und welche Nummer er hat.

Mir persönlich gefallen die Controller gut, sie liegen gut in der Hand, sind etwas größer als etwas Controller der Playstation und die Anzeige für das Pairing und die Controllernummer ist weniger klotzig als bei der Xbox. Leider klemmen die Tasten ab und an, wobei ich dort die Batteriefachabdeckungen im Verdacht habe.

Im Gegensatz zu herkömmlichen Konsolen gibt es keine Spiele mehr auf externen Speichermedien. Die Konsole wird über LAN oder WLAN mit dem Internet verbunden und anschließend Software aus dem Store heruntergeladen.

Um im Store Spiele installieren zu können, ist leider zwingend entweder eine Kreditkarte nötig, oder man kauft sich entsprechende Guthabenbons (z.B. bei www.game.co.uk, die auch Bezahlung per Paypal akzeptieren). Ich habe bislang zwar einen Code gekauft, aber musste noch nichts zwingend darüber bezahlen. Ein 10 oder 15$ Code reicht anfangs gut aus, Spiele kosten selten mehr als 1 oder 2$.

Spiele gibt es ca 200 von wechselnder Qualität. Darunter sind leider keine wirklich professionellen Titel. Wer solche sucht, macht um die Ouya lieber einen großen Bogen. Dafür gibt es jede Menge kleinerer sogenannter Indiegames, die kurzweilig sind und Spaß machen. Auch Retrospiele und eine gute Anzahl Emulatoren sind im Angebot.

Emulatoren gibt es für C64, MSX, Atari ST, Atari 2600, Sega Megadrive, NES, SNES, Gameboy und Gameboy Color, PC Engine, PSX und N64. Dadurch hat man zumindest auf einer kleinen Konsole am Fernseher geballten Konsolenpower, den man sonst erstmal aus dem Schrank schleppen muss. Alleine daher lohnt sich das Gerät sehr schnell!

Entwicklen kann man wohl für das Gerät entweder über diverse Frameworks, aber auch direkt in Java wie für Android üblich. Ausserdem gibt es wohl irgendwie einen Weg mit C und libSDL zu programmieren, mindestens der Emulator  atabee (Atari ST Emulator auf Basis von Hatari , yummy!) ist ein direkter Port vom PC in C mit libSDL.

Wie schon beim Wiz damals, reizt mich an der Plattform, potentiell selber dafür Spiele entwickeln zu können. Beim Wiz ist jaleider nicht mehr viel los, die Plattform ziemlich tot, aber eine kleine Konsole im Wohnzimmer ist natürlich etwas anderes.

Mein persönliches Fazit: Bei der Ouya ist viel Potential vorhanden, aber noch nicht ausgeschöpft, die vielen Emulatoren erlauben aber heute schon zumindest für Retrogamer wie mich ein sattes Spielvergnügen.

Mehr zur Ouya: http://ouya.tv/
Gutes Forum und News: http://ouya-gaming.de/

Quadromania Sourcecode now at Google Code

The sources for my opensource game Quadromania are now hosted at Google code:
http://code.google.com/p/quadromania/

Included is the complete history of my sofar local Subversion repository starting with the first public 2009 release.

Die Tücken der Spieleportierung

Gestern habe ich wegen dem stürmisch schlechten Wetter, bei dem man ja kaum vor die Tür wollte, am Nachmittag ein wenig programmiert. Ziel sollte es sein, das alte Spiel Megadash, ursprünglich für den Atari ST in GFABASIC geschrieben, auf PC bzw den GP2X Wiz zu portieren.

Ansich ging das ganz gut, binnen 2 Stunden hatte ich die meisten notwendigen Teilmodule in C neugeschrieben, eine Umgebung mit Code::Blocks aufgesetzt, meine ParadizeLib eingebunden und generell auch zum Laufen gebracht.

Am Ende des vorigen Nachmittags hatte ich dann das Spiel mit allen Mechaniken am Laufen, wie die Steine fallen, etc. Nur das Timing habe ich irgendwie nicht 100% abgebildet bekommen. Stellen, die im Originalspiel zwar mit Tücken bestückt waren, aber spielbar waren, funktionieren in meinem Port irgendwie nicht mehr. Die Steine erschlagen den Spieler an Stellen, wo man im Originalspiel erfolgreich “um sein Leben” rennen konnte.

Ich habe verschiedene Timingparameter angepasst, aber keinen zufriedenenstellenden Zustand gefunden. Entweder ist es immer noch zu schwer, oder viel zu leicht und auch da nicht immer nachvollziehbar.

Mal sehen, ob der Fehler noch gefunden wird. Im Moment liegt es jedenfalls als begonnenes Projekt auf der Platte.

ParadizeLib – meine Abstraktionsschicht für die Abstraktionsschicht

Toller Titel, ich weiss ;)

Im Jahr 2009 habe ich mir ja eine Opensource Handheld, einen GP2X Wiz zugelegt. Natürlich wollte ich dafür auch programmieren. Mit Quadromania war auch irgendwann mein erstes Spiel in C fertig und auch schrittweise erweitert.

In Zuge dessen fiel mir dann auf, daß SDL nicht gleich SDL ist. Auch wenn man SDL benutzt, muss man leider gerade was Joystickabfrage angeht immer noch Softwareweichen vorsehen, je nach Target. Beim GP2X Wiz zum Beispiel ist der SDL Joystick zwar vorhanden, aber er bietet keinen Achsenevents, da er digital arbeitet. Also muss man im Code ummappen.

Irgendwann dachte ich dann über eine Abstraktionsschicht nach und die ParadizeLib war das Ergebnis. Hier wird grundlegendes Einstellen des Bildschirms über SDL, Einsammeln von Tastendrücken, Joystick und Mauseingabe auf plattformunabhängige Aufrufe gelegt. Das Benutzerprogramm benutzt nur die ParadizeLib, die dann sich danach richtet, ob für einen GP2X Wiz oder eben ein normales Linux compiliert wird.

Die ParadizeLib abstrahiert zum Beispiel einen Joystick mit 2 Achsen und bis zu 4 Tasten. Am PC kann das dann ein USB Gamepad sein, am GP2X Wiz ist es aber das Steuerkreuz und die zugehörigen Tasten.

Lange Rede, kurzer Sinn, das Projekt gammelte seit 2 Jahren auf meiner Platte rum, und ich dachte mir, bevor ich es vergesse, mache ich es lieber OpenSource und arbeite vielleicht daran ab und an weiter.

Ich habe hier eine kurze Seite eingerichtet, vgl. im Menu, aber das eigentlich Repository liegt bei Google Code und ist per Mercurial abrufbar. Die Projektseite lautet http://code.google.com/p/paradizelib/

Wer Spass daran hat, kann sich die Library ja mal ansehen und vielleicht weiter daran entwickeln. Ich stehe gerne für Diskussion zur Verfügung. Irgendwann schreibe ich auch hoffentlich mal ein Spiel, welches diese Library auch verwendet.

Ballerburg SDL

Das gute alte Atari ST PD Spiel Ballerburg für den SM124 wurde jetzt für Linux und andere Systeme auf SDL portiert. D.h. man kann jetzt auch ohne Emulator die Burgen anderer zerstören.

Ballerburg SDL

Ballerburg SDL

Bis auf das Eingeben von Spielernamen, Burgenauswahl und eine Bestenliste sind die wichtigsten Features schon umgesetzt, die Befragung des Königs, Bauen von Fördertürmen und natürlich das Zerlegen der feindlichen Burg mittels Kanonenkugel.

Die Grafik reisst keinen vom Hocker, aber das braucht das Spiel nicht. Das glänzt durch seine Spielidee und kann ohne weiteres mit modernen Casual games für iPhone und co mithalten.

URL zu Ballerburg SDL: http://baller.tuxfamily.org/

Hatari auf dem GP2X Wiz – der erste Sonnenschein

Seit ein paar Tagen versuche ich den Atari ST(e) Emulator Hatari (http://hatari.berlios.de/) auf den GP2X Wiz zu portieren.

Nach viel Rumprobieren, Fluchen, Aufregen und bösen Postings in die Mailingliste habe ich zumindest einen ersten Ansatz, der Wiz zeigt den Atari Desktop, den man per Touchscreen bemausen kann ;)

Hatari auf dem GP2X Wiz (erstes Mal der grüne Desktop)

Hatari auf dem GP2X Wiz (erstes Mal der grüne Desktop)



Ich hoffe soweit zukommen, daß man wenigstens Demos schauen und Spiele spielen kann, denen ein Joystick reicht.

Gepatcht habe ich bisher nur die Datei  screen.c und eine spezielle Konfigurationsdatei erstellt.

Mehr Richtung Wochenende! *Freude Freude Freude*

STay cool, STay Atari /|\

DOSBox auf dem ACER AS X1301-3

DOSBox (Banner)

DOSBox (Banner)

In den letzten Tagen habe ich noch eine fehlende Software auf meinem ACER AS X1301-3 installiert. DOSBox ist ein Emulator, der einen PC mit MSDOS im Stile der frühen 90er nachbildet. Damit laufen die allermeisten frühen Titel von Apogee (Commander Keen) und Epic Megagames (Jill Of The Jungle, Jazz Jackrabbit) recht anständig.

Der Emulator bildet die PC Hardware nach, aber auch einen großen Teil des MSDOS APIs, sodaß man kein echtes DOS installieren muss. Ein sehr benutzerfreundliches und einfaches Konzept.

Auf dem ACER AS X1301-3 läuft DOSBox unter Linux sehr anständig. Ich habe den relativ aktuellen 0.74 Stand auf meinem Ubuntu 10.04 LTS compiliert und es läuft gut. Dank Nvidiagrafikkarte mit aktivierten 3D-Treiber funktioniert auch der OpenGL-Anzeigemodus ordentlich. Dadurch kann man das emulierte Bild deutlich besser skalieren, was bei unsäglichen 16:9 Bildschirmen und dem beliebten MCGA Modus 13h sicherlich hilfreich ist.

Der Emulator läuft mit eingestellten 5000 Zyklen (welche Zyklen das genau sind, hab ich bis heute nicht verstanden) noch stabil, eventuell kann man diese Zahl sogar noch erhöhen. Damit ist Jazz Jackrabbit in jedem Fall gut spielbar, man muss eventuell die Bildqualität im Spiel auf einen 386er herunterregeln. Dafür läuft es dann spielbar. Mein alter Athlon hat das zum Beispiel  nicht geschafft.

QuickBasic 4.5 läuft ebenfalls ganz gut und ich plane bald meine alten selbstgemachten Spiele für MSDOS zumindest als Museum zur Verfügung zu stellen.

Quadromania v0.5

Heute war es so furchtbar warm, da kann man nur drinnen bleiben, sich wenig bewegen und programmieren.

quadromania v0.5 (GNU/Linux)

quadromania v0.5 (GNU/Linux)

Ich habe an Quadromania etwas gearbeitet und nun hat das Spiel Soundeffekte und Musik. Ausserdem gibt es einen Port für Dingoo A320 unter Dingux. (Danke an zLouD für das Binary!)

Quadromania Projektseite

Quadromania v0.4 release

Heute gibt es von meinem Brettspiel Quadromania eine neue Version.

Quadromania v0.4 (Highscore tabelle)

Quadromania v0.4 (Highscore tabelle)

Die Version v0.4 verwaltet jetzt eine Highscoretabelle und diese wird auch auf Disk gesichert und wieder geladen. Ferner wurde die Grafik bezüglich des Programmcopyrights angepasst.

Natürlich gibt es auch wieder eine Version für den GP2X. Einfach die Binärdistribution für den Wiz auf SD-Karte oder den NAND Speicher entpacken. Dann sollte eigentlich ein entsprechendes Icon erscheinen.

Links zum Download gibt es auf der Quadromania Seite.

Frohes Daddeln!

Und Feedback ist natürlich immer willkommen, auch ein simples Danke schön oder dergleichen.