Sprites
Da bin ich wieder. Leider hat es diesmal etwas länger gedauert, ich war abgelenkt von diversen Projekten, die wohl auch in den nächsten Tagen hier gepostet werden.
Zum einen bin ich aktuell dabei für D eine pygame ähnliche Engine Struktur zu schaffen, da mir der ganze funktionale Code von SDL, statt Objekt Orientiertierung, wie ich es eben von pygame und generell von Python gewohnt bin, mächtig auf den Nerv geht.
Zum anderen haben ein paar Kollegen und ich beschlossen, ein Adventure Spiel zu entwickeln, wahrscheinlich in Python.
Aber in diesem Artikel möchte ich erklären, wie man Sprites auf die dazugehörige Karte zeichnet, so wie angekündigt.
Das mag für den einen ganz einfach klingen, ein Sprite ist ja nur eine Spielerfigur, sprich eine Grafik, also laden und an verschiedene Positionen blitten … oder doch nicht?
More »
Tile-Engine mit XML und D
In diesem Beitrag werde ich zeigen, wie im letzten Artikel schon angedeutet, wie man mit D und XML eine kleine Tile-Engine bastelt um eine auf Tiles basierende Spielkarte zu erstellen.
Ich werde hierbei mit Tiled arbeiten (Download) um daraus mithilfe dieses Tilesets (Achtung groß)

eine Karte zu erstellen und im XML Format abzuspeichern.
Danach werden wir mit Hilfe des XML Parsers und der Image Klasse das Tileset laden, in 16 * 16 Pixel große Kacheln zerschneiden, abspeichern, die mit Tiled erstellte und in XML abgespeicherte Karte laden, und daraus dann ein Bild zu erstellen, welches wir in das Fenster zeichnen lassen.
Ich setze vorraus, dass D auf eurem System installiert ist und ihr die einfache Handhabung kennt, Derelict nutzt und eine passende IDE besitzt, ansonsten empfehle ich vorerst die Tutorials auf http://d.whosme.de/, von Einführung ins D Programmieren bis Code::Blocks: Konfigurieren für Derelict, wobei es Geschmackssache ist, ob ihr später mit Code::Blocks oder mit Eclipse/Descent arbeitet; ich arbeite mit Code::Blocks, da man dort die Keywords manuell hinzufügen kann, da einige dem Editor nicht bekannt sind (Beispiele wären “string” & “invariant”) und ich keine Erweiterung brauche, wie Eclipse z.B. Descent benötigt.
Ersteres ist bei Eclipse nicht der Fall, aber das ist, wie bereits angemerkt, reine Geschmackssache.
Viele Worte, wenige Taten … bisher ![]()
More »
Von C(++) über Python zu D
Mein erster Eintrag auf meinem neuen Blog.
Während der erste vielmehr den Kampf gegen Formularspam gewidmet war, und eine viel Zahl an Captcha’s oder anderen Maßnahmen dagegen, wird es sich hier eher um Programmiersprachen, Tutorials und kleinen Hilfestellungen drehen, näheres dazu hier.
Zum eigentlichen Thema.
Wie vielleicht noch einige wissen, begann ich im Sommer 2009 mit C++, nachdem ich Jahrelang mit Webdesign und den dazugehörigen Sprachen wie HTML, CSS und PHP gearbeitet hatte.
C++ gefiel mir von Anfang an nicht wirklich, oder vielmehr: ich wurde damit einfach nicht warm.
Mein Hauptantrieb eine so Systemnahe Programmiersprache zu lernen, war, weg von der Konsolenprogrammierung und hin zur Fenster- und damit Spieleprogramierung zu kommen, und im wesentlichen ist C/C++ auch heute noch die “gefragteste” Sprache dafür.
Nach einer Vielzahl an GUI’s, von DirectX über Allegro hin zu SDL und SFML, wurd’ es mir wohl durch das anhaltende Trauma (
) von DirectX zu bunt und ich sah mich nach anderen Sprachen um.
So kam ich schließlich zu Python, welche mir von Anfang an sehr gut gefiel, und womit sich die Spieleprogrammierung mittels Pygame auch als verblüffend simpel herraustellte.
So gelang es mir relativ schnell einen einfachen Nachbau von Pokémon in Python zu programmieren, wenn auch Kämpfe und Einkäufe, wie man sie aus dem Spiel in seiner Kindheit vielleicht noch kennt, noch nicht fertig gestellt waren.
More »