Discover millions of ebooks, audiobooks, and so much more with a free trial

Only $11.99/month after trial. Cancel anytime.

Einführung in die Programmierung von 2-D-Spielen
Einführung in die Programmierung von 2-D-Spielen
Einführung in die Programmierung von 2-D-Spielen
Ebook124 pages55 minutes

Einführung in die Programmierung von 2-D-Spielen

Rating: 0 out of 5 stars

()

Read preview

About this ebook

Die meisten Menschen haben in ihrem Leben wohl schon einmal ein Computerspiel gespielt – und viele werden sich gefragt haben, wie diese eigentlich funktionieren. Dieser shortcut erläutert die Grundlagen der 2D-Spieleprogrammierung unabhängig von konkreten Frameworks, Technologien und Plattformen. Neben einer Einführung in die Geschichte und Theorie präsentieren die Autoren ein komplettes, spielbares 2D-Spiel im Stil der 80er und 90er Jahre zum Nachbauen. Zuletzt wird die Frage nach der Implementierbarkeit eines solchen Spiels im Browser mit JavaScript und HTML5 gestellt und anschaulich beantwortet.
LanguageDeutsch
Release dateJun 30, 2016
ISBN9783868025941
Einführung in die Programmierung von 2-D-Spielen

Related to Einführung in die Programmierung von 2-D-Spielen

Titles in the series (100)

View More

Related ebooks

Programming For You

View More

Related articles

Reviews for Einführung in die Programmierung von 2-D-Spielen

Rating: 0 out of 5 stars
0 ratings

0 ratings0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    Book preview

    Einführung in die Programmierung von 2-D-Spielen - Danny Reinhold

    GmbH

    1 Einführung in die Programmierung von 2-D-Spielen

    Die meisten Softwareentwickler haben in ihrem Leben wohl mindestens einmal ein Computerspiel gespielt – und viele werden sich gefragt haben, wie das eigentlich funktioniert. Bei Recherchen trifft die/der Interessierte dann schnell auf Frameworks und Tools, die sehr mächtig und leistungsfähig sind. Diese verlangen aber auch eine gewisse Einarbeitungszeit, außerdem sind sie fast immer an bestimmte Technologien/Plattformen gebunden. Das führt dann oft dazu, dass man sich dann doch nicht weiter mit diesem eigentlich interessanten Thema beschäftigt. Das ist bedauerlich, denn einerseits kann man anhand der Programmierung von Spielen viel lernen, und andererseits macht das Entwickeln eigener Spiele auch sehr viel Spaß.

    In diesem shortcut wollen wir deshalb – zunächst unabhängig von konkreten Frameworks, Technologien und Plattformen – die Grundlagen der Spieleprogrammierung in 2-D beleuchten und anschließend demonstrieren, wie diese Grundlagen mit verschiedenen Technologien konkret umgesetzt werden können. Dabei wird jeweils ein vollständig spielbares Spiel implementiert. Auf dieser Basis sollte der Leser dann in der Lage sein, eigene Ideen mit der Technologie seiner Wahl umzusetzen.

    Computerspiele sind allgegenwärtig. Es gibt sie auf dedizierter Hardware (Nintendo, Microsoft, Sony), als hochgezüchtete Spiele für ebenso hochgezüchtete High-End-Gamer-PCs, als Java-Game für das „Dumbphone", als Android-/iPhone-App für Smartphones und als Browserspiel im Internet. Die zugrunde liegenden Technologien sind vielfältig. Nichtsdestotrotz gibt es grundlegende Techniken, die weitgehend unabhängig von der jeweils eingesetzten Technologie sind. Das Verständnis dieser Techniken bildet die Basis, auf der dann eigene Spiele unter Verwendung beliebiger geeigneter Technologien umgesetzt werden können.

    Spieleprogrammierung ist ein sehr komplexes und anspruchsvolles Thema, das in einem kurzen E-Book unmöglich erschöpfend behandelt werden kann. Aus diesem Grund wollen wir uns in diesem shortcut auf die Umsetzung einfacher 2-D-Spiele beschränken, um dem Leser den Einstieg zu erleichtern und erste eigene Schritte in der Spieleprogrammierung zu ermöglichen.

    Ein Blick zurück – Computerspiele von den Anfängen bis heute

    Computerspiele können auf eine lange Geschichte zurückblicken. Die ersten Spiele wurden schon zu einer Zeit implementiert, als ein Computer für eine Privatperson unerschwinglich war. Eines der ersten Spiele war etwa Spacewar!, das im Jahr 1962 fertiggestellt wurde und auf einem PDP-1 lief [1].

    Sehr früh wurden die Möglichkeiten einer kommerziellen Verwertung von Computerspielen entdeckt. Zunächst begann man mit Spielautomaten (Arcade-Games), bei denen ein entsprechendes Gerät in einer geeigneten Lokalität (Kneipe, Disco, Spielhalle) aufgestellt wurde und sich durch die eingeworfenen Münzen schnell amortisierte.

    Wenig später entwickelten sich die Telespiele, spezialisierte Spielhardware, die an den heimischen Fernseher angeschlossen werden konnte. Die grafischen Fähigkeiten waren anfangs eher bescheiden (verglichen mit den Arcade-Maschinen). Nichtsdestotrotz erlaubten die Telespiele endloses Spielen zu (verglichen mit ihren professionellen Pendants in den Spielhallen) sehr überschaubaren Kosten. Die Telespiele entwickelten sich zu modularen Systemen mit einer Basiskomponente, die die grundlegende Funktionalität bereitstellte, und Steckmodulen, die die konkrete Implementierung eines Spiels darstellten.

    Anfang der Achtzigerjahre erlangten die Heimcomputer eine größere Verbreitung. Entscheidend war, dass es sich hier erstmals um erschwingliche Computer handelte, die komplett zusammengebaut waren. Ihr Betrieb setzte weder Kenntnisse der Digitaltechnik noch Versiertheit im Umgang mit dem Lötkolben voraus. In der ersten Generation bestand die Hardware typischerweise aus einem 8-Bit-Prozessor mit einer Taktung von 1 bis 4 MHz, 1 bis 64 KB Hauptspeicher sowie einem rudimentären Betriebssystem mit eingebautem BASIC im ROM.

    Die grafischen Möglichkeiten waren aus heutiger Sicht wenig beeindruckend, die Auflösung betrug meist 192 x 256 oder 300 x 200 Pixel, wobei die Anzahl von darstellbaren Farben (wenn überhaupt vorhanden) stark begrenzt war. Ähnlich eingeschränkt war die Möglichkeit der Klangerzeugung. Als Leitfossil dieser Generation ist der C64 von Commodore zu nennen, der insbesondere aufgrund seiner Grafik- und Soundmöglichkeiten weiteste Verbreitung fand. Letztere wurden durch fest eingebaute Spezialkomponenten (Grafik- und Soundchips) ermöglicht, die diese Aufgaben anstelle der CPU übernahmen – insofern können sie als Vorgänger der heutigen Grafik- und Soundkarten angesehen werden.

    Mit der Weiterentwicklung der Heimcomputer zu 16- und 32-Bit-Maschinen mit verbesserten Grafik- und Soundkarten wurden auch die Spiele anspruchsvoller. Relativ spät erhielten dann auch die bis dahin stark eingeschränkten IBM-PCs und ihre Nachfolger leistungsfähigere Grafik- und Soundhardware. In den Neunzigerjahren starben die Heimcomputer dann nach und nach aus – die PCs übernahmen ihre Nachfolge und wurden zu den wichtigsten „Spielmaschinen" in diesem Marktsegment.

    Mit der Einführung immer kleinerer portabler Computer (Personal Digital Assistants, PDAs) und den ersten programmierbaren Handys kam es zu einem Revival vieler ursprünglich aus der Heimcomputerära stammender Spiele, da sie mit der verfügbaren Prozessorleistung und Grafikauflösung nahezu identisch übernommen werden konnten. Mit der Weiterentwicklung des Handys zum Smartphone und des PDAs zum Tablet wurden auch hier viel komplexere Spiele möglich.

    Parallel entwickelten sich darüber hinaus die Browsergames. Die Besonderheit ist, dass die Spiele im Allgemeinen nicht installiert werden müssen, sondern über den Webbrowser ausgeführt werden. Dabei ist meist ein Teil der Logik auf einem Webserver implementiert, während ein anderer Teil lokal über Technologien wie JavaScript oder Flash umgesetzt wird.

    Besonderheiten der Programmierung von Spielen

    Das Programmieren von interaktiven Spielen mit grafischen Komponenten stellt in vielen Fällen neue Anforderungen an Programmierer, die bisher z. B. nur typische Businessanwendungen auf Grundlage von GUI-Frameworks erstellt haben. Wir werden im Folgenden einige der relevanten Unterschiede erläutern, wobei wir uns an klassischen Arcade-Spielen wie Space Invaders, Asteroids oder Ähnlichen orientieren.

    Darstellung des Spiels auf dem Bildschirm

    Einer der wichtigsten Aspekte ist, dass sich der Programmierer intensiver mit Fragen der Darstellung auseinandersetzen muss. Eine GUI-Anwendung wird im Allgemeinen erstellt, indem vorgefertigte Widgets aus einem GUI-Toolkit verwendet werden. Bei Spielen dagegen ist es notwendig, Objekte direkt auf dem Bildschirm zu zeichnen (rendern). Das kann auf verschiedene Weisen geschehen. Ein Weg besteht darin, Objekte als Streckenzüge (Polygone)

    Enjoying the preview?
    Page 1 of 1