Danny Reinhold freiberuflicher Softwareentwickler

Spielen Sie ein wenig mit dem Spiel herum … nicht nur mit dem Spiel, natürlich auch mit dem Quelltext!

Wolfgang Schmidt ---

Sie denken, das war schon alles? Im nächsten Teil beschreiben wir, wie ein einfachen Spiel mit Browsertechnologien umgesetzt werden kann.

Nachdem wir im ersten Teil dieser kleinen Artikelreihe bereits einiges über die Geschichte und die Theorie von 2-D-Computerspielen berichtet haben, steigen wir in diesem zweiten Teil in die Praxis ein und präsentieren ein komplettes, spielbares 2-D-Spiel für den PC (Windows, Linux) und andere Plattformen wie Raspberry Pi, Mac OS X, iOS und Android.

In diesem Teil springen wir ohne große Ausschweifungen direkt in die Praxis. In dieser Artikelreihe geht es um 2-D-Spiele im Stile der 80er- und frühen 90er-Jahre. Diese Spiele sind in der Regel relativ einfach aufgebaut. Um dem Rechnung zu tragen, haben wir uns für den Einsatz relativ einfacher Technologien entschieden. Dennoch möchten wir, dass der Code portabel ist und auf so ziemlich jedem System übersetzt und ausgeführt werden kann.

Wir haben die Programmiersprache C gewählt, für die so ziemlich überall geeignete Compiler verfügbar sind. Und um nicht lange beschreiben zu müssen, wie geeignete Makefiles aufgebaut werden oder das Projekt in einem IDE zusammengestellt werden kann, verwenden wir den TinyC-Compiler. Dieser Compiler wird zwar nicht mehr aktiv weiterentwickelt, ist aber für praktisch alle Systeme verfügbar, funktioniert sehr gut, erfordert keine umfangreiche Installation und reicht für unsere Zwecke völlig aus. Wenn Sie mit einem anderen Compiler oder einer komplexeren Entwicklungsumgebung als einem Texteditor arbeiten möchten, können Sie dies selbstverständlich tun.

Einige Hauptaufgaben bei Computerspielen sind die Darstellung von Grafiken, die Ausgabe von Geräuschen und Musik sowie die Abfrage von Tastatur-, Maus-, Joystick-, Controller- oder sonstigen Eingabegeräten. Das sind auch genau die Aufgaben, die am Einfachsten mit portablen, genau auf diese Aufgaben spezialisierten Bibliotheken erledigt werden können. In diesem Artikel verwenden wir die Bibliothek SDL, die für alle für unsere Zwecke relevanten Systeme verfügbar ist. Diese Bibliothek nimmt uns so viel Arbeit ab, dass wir uns im Code auf die wirklich wichtigen Dinge konzentrieren können: Auf das Spiel!

Bomber – ein Klassiker

In diesem Teil der Artikelreihe entwickeln wir Schritt für Schritt den Quelltext für ein Spiel, das wir „Bomber“ nennen. Die Idee für das Spiel ist natürlich, wie sollte es bei einem Artikel über Retro-Games auch anders sein, abgekupfert. Das erste Spiel dieser Art hieß „Canyon Bomber“, stammte von Atari und wurde 1977 veröffentlicht. Von diesem Spiel gibt es unzählige Klone, so z.B. das bekannte „City Bomber“ von 1982, zu dem Sie weitere Details im Wikipedia-Artikel „City Bomber“ nachlesen können.

Die Spielidee ist denkbar simpel: Ein Flugzeug fliegt von links nach rechts über den Bildschirm. Im unteren Bereich ist die Skyline einer Stadt zu sehen. Durch Drücken der Space-Taste kann eine Bombe abgeworfen werden. Wenn die Bombe ein Haus trifft, wird es zerstört. Ziel ist es natürlich, alle Häuser der Skyline zu zerstören. Fliegt das Flugzeug rechts aus dem Bildschirm heraus, so erscheint es links wieder – allerdings etwas tiefer. Schritt für Schritt näher sich das Flugzeug also dem Boden. Falls es so tief kommt, dass es ein Haus berührt, ist das Spiel beendet.

Den vollständigen Artikel lesen Sie in der Ausgabe:

Entwickler Magazin 3.16 - "Optimierte Agilität"

2-D-Spiele besitzen viel Charme. Im Entwickler Magazin 3.16 zeigen Danny Reinhold und Wolfgang Schmidt, wie ein solches Spiel auf alle aktuelle Plattformen portiert werden kann.

Alle Infos zum Heft
236410Retrogames-Entwicklung mit ANSI C und SDL
X
- Gib Deinen Standort ein -
- or -