Montag, 26. Oktober 2015

GameMaker - Einführung

Wie in meinem letzten Posts erläutert, habe ich mich für GameMaker: Studio als meine Entwicklungsumgebung für die Spieleprogrammierung entschieden.
Nun möchte ich Anfängern und Interessenten einen Einstieg für diese IDE (Integrierte Entwicklungsumgebung) erleichtern, indem ich ein paar Quellen für Informationen und Tipps aufliste und die Grundlagen ein wenig erkläre.

Offizielle GameMaker: Studio Seite

Communities:

Dokumentation:

Ressourcen:

Natürlich gibt es noch unzählige weitere Informationsquellen, aber die beste bleibt schließlich doch Google. ;)

Die verschiedenen Versionen von GameMaker: Studio
und unterstützte Plattformen

Hier sehen wir die verschiedenen Varianten von GameMaker: Studio und den verschiedenen Modulen für zusätzliche Plattformunterstützungen. Diese Tabelle habe ich schlicht von der offiziellen GameMaker Seite übernommen.
[http://www.yoyogames.com/studio, 28.09.2015]
Feature Standard Professional Master Collection
Price Free $149.99 $799.99
Registration Required
Made with GameMaker Splash Screen in game
Unlimited resources
Texture Management
Multiple Configurations
Team Features
Developer Services Portal (DSP)
Mobile Testing (Android)
GameMaker: Player Export
Windows Desktop Module
Windows Desktop Module + YoYo Compiler + Export
Windows App Module + YoYo Compiler + Export
Mac OS X Module + Export
Ubuntu Linux Module + Export
HTML5 Module + Export
+$199.99
Android Module + YoYo Compiler + Export – x86, ARM, MIPS
+$299.99
iOS Module + YoYo Compiler + Export
+$299.99
Windows Phone 8 Module + YoYo Compiler + Export
+$299.99
Tizen Module + Export
+$199.99
Xbox® One Module + YoYo Compiler + Export
+$299.99
PlayStation® 4 Module + YoYo Compiler + Export
+$299.99
PlayStation® Vita Module + YoYo Compiler + Export
+$299.99
PlayStation® 3 Module + YoYo Compiler + Export
+$299.99
Includes all current & future modules in version 1.x


Grundlagen zur Verwendung von GameMaker: Studio























Hier sehen wir die GUI (grafische Benutzerschnittstelle) der GameMaker IDE. Links zu sehen ist eine Spalte mit allen Ressourcen Typen, die verwendet werden können. Dazu zählen:
  • Sprites (Bilder, die gezeichnet werden können)
  • Sounds (Audio-Dateien für Soundeffekte und Hintergrundmusik)
  • Backgrounds (Grafiken für Hintergründe)
  • Paths (Vordefinierte Bewegungsabläufe)
  • Scripts (Code-Skripte: Entsprechen Methoden / Funktionen)
  • Fonts (Schriftarten)
  • Time Lines (Vordefinierte Zeitabläufe)
  • Objects (Objekte, von denen Instanzen erzeugt werden können)
  • Rooms (Räume / Level / Maps)
  • Included Files (In das Spiel eingebundene Dateien)
  • Extensions (Erweiterungen für verschiedene Plattformen: JAR, DLL, ...)
  • Macros (Konstanten und Codefragmente)
  • Global Game Settings (Einstellungen für alle Plattformen)
Und damit ihr nun mal seht, wie man ein erstes kleines Programm bastelt, habe ich im Folgenden eine kleine Anleitung verfasst, noch bevor ich überhaupt erkläre, wie das ganze so zusammenspielt:

Wie geht es los?
Diese Anleitung wurde ausgehend von GameMaker: Studio in der aktuellen Version geschrieben.

  1. Als allererstes, wenn ein neues Projekt angelegt wurde, wird ein Room benötigt.
    -> Rechtsklick auf den Rooms-Ordner - Create Room.
        (Jetzt könnte das "Spiel" bereits gestartet werden, doch wir bekämen nur ein leeres Fenster.)
  2. Es muss ein Objekt erstellt werden, mit dem etwas geschehen soll.
    -> Rechtsklick auf den Objects-Ordner - Create Object.
    -> Nennen wir es doch obj_hello.
  3. Nun öffnen wir (falls nicht bereits offen) den neu erstellten Raum per Doppelklick auf seinen Namen, springen in den Reiter Objects und klicken rechts in den Raum, um das Objekt obj_hello zu platzieren.
  4. Schließlich legen wir in dem angelegten Objekt (Doppelklick auf obj_hello im Ressourcen-Baum, falls nicht bereits offen) einen neuen Event an:
    -> Add Event - Draw - Draw
  5. Hier ziehen wir nun via Drag'n'Drop von rechts (unter dem Reiter draw) die Kachel mit dem großen A (Draw Text) in die Actions-Liste.
  6. Wir öffnen diesen neu angelegten Draw Text Befehl mit Doppelklick (öffnet sich auch von alleine nach dem Hineinziehen) und schreiben "Hello World" in das Textfeld "text:" und klicken auf OK.
  7. Mit einem Klick auf den grünen Pfeil oben im Menü (Run the game) der IDE, starten wir nun unser "Spiel" und siehe da - ein Hello World Programm ist "geschrieben".

Wie geht es weiter?

Jetzt solltet ihr einen ersten Eindruck davon haben, wie der GameMaker aufgebaut ist und grob funktioniert:
  • Ihr könnt Objekte in einen Editor ziehen und beliebig anordnen.
  • Diese Objekte funktionieren Event-orientiert. Z.B. könnt ihr reagieren auf:
    "Instanz erstellt", "Instanz angeklickt", "Instanz gelöscht", "Instanz1 kollidiert mit Instanz2"...
  • Und in diese Events könnt ihr wiederum Anweisungen hinein ziehen, die der Reihe nach, oder auch nur unter bestimmten Bedingungen, ablaufen. Es ist auch möglich ein "Blatt Papier" hineinzuziehen und alles selbst auszuprogrammieren (ich würde es als erfahrener Programmierer nicht anders machen).
Natürlich gibt es unzählige Möglichkeiten die ich nicht im geringsten angedeutet habe. Wenn ihr Lust auf mehr bekommen habt, könnt ihr euch in den genannten Communities, auf YouTube, oder auch aus anderen Quellen, Tutorials anschauen oder einfach selbst etwas rumexperimentieren.
GameMaker selbst liefert ebenfalls eine kleine Auswahl an Tutorials und Demos direkt mit.

Wichtiger Tipp: Wer noch unerfahren ist, sollte unbedingt mit einem Projekt starten, dass so klein wie möglich ist! Auch der Gedanke, man könne ein komplexes Spiel, wie z.B. ein RPG beginnen, kurz halten und später erweitern, schlägt wahrscheinlich den falschen Weg ein.
Eure Art und Weise zu Programmieren und Dinge umzusetzen wird sich stetig wandeln und verbessern. Ihr werdet irgendwann merken wie ineffizient oder undurchsichtig euer alter Code ist und würdet am liebsten alles neu machen... Außerdem ist es extrem demotivierend, wenn man etwas anfängt, aber nie zu Ende bringt...


In meinem nächsten Post möchte ich ein kleines Spiel samt Quellcode mit euch teilen, mit dem ihr euch alles in Ruhe anschauen und nachvollziehen könnt. Es handelt sich um einen kurz gehaltenen Nachbau eines sehr alten aber auch heute noch gespielten Spiels das jeder kennt. ;)
Der Quellcode ist gut kommentiert (allerdings auf Englisch), aber nicht unbedingt an Anfänger gerichtet. Doch so hat man mal die Gelegenheit zu sehen, wie alles etwas "professioneller" angegangen werden kann.

Keine Kommentare:

Kommentar veröffentlichen