Game Maker (kurz: "GM") ist eine vom Niederländer Mark Overmars entwickelte Software. Sie ermöglicht PC-Benutzern das Erstellen von Computerspielen, ohne dass sie eine komplexe Programmiersprache, wie z.B. C++ oder Pascal, erlernen müssten. Trotzdem enthält Game Maker für den versierten Nutzer eine eigene Programmiersprache namens GML (Game Maker Language), die sich an höhere Programmiersprachen wie Pascal, Java und C anlehnt und dem Benutzer sehr viel Spielraum beim Skripten lässt. Der Game Maker bietet die Möglichkeit, einfache Spiele wie Pac-Man oder Pong zu kreieren, kann aber aufgrund seiner Vielfältigkeit auch für große Projekte benutzt werden. Erfahrene Benutzer können so Spiele erstellen, die den alten 16-Bit Spielen in nichts nachstehen. Der Game Maker bietet somit den optimalen Einstieg für Informatik-Interessierte ab ca. 16 Jahren.

Angefertigte Spiele können unabhängig vom Game Maker als Quellcode (In Form einer *.gm6-Datei) oder kompiliert veröffentlicht werden (In Form einer Windows *.exe-Datei). Die kompilierten Spiele werden interpretiert, dadurch sind sie von der maximalen Ausführungsgeschwindigkeit nativen Implementierungen gegenüber unterlegen, was sich aber im 2D Betrieb bei den heutigen PCs kaum auf die Leistung auswirkt.
Der Quellcode des Game Maker ist zu fast hundert Prozent von Mark Overmars in Delphi (zur Zeit Version 7) geschrieben.
Game Maker orientierte Seiten, auch deutschsprachige, sind am Ende dieses Artikels aufgeführt.
Aktuelle Version
Game Maker befindet sich momentan bei Version 6.1 (Stand vom 29. Mai 2005). Er baut auf Direct3D auf, wodurch, wenn auch eingeschränkte, Nutzung von 3D- und Vektorgrafiken möglich wird. Auch gibt es nun einfache Möglichkeiten schnell Effekte wie Schnee, Regen oder Nebel zu erzeugen.
Die Engine des Game Maker wurde über die Jahre hinweg verbessert und ist seit Version 6.0 speziell im Grafikbereich signifikant besser, unterstützt jetzt Hardware-Transparenz und Farbmischfunktionen für die Sprites.
Der Game Maker bietet ferner die Möglichkeit, DLLs einzubinden, die Aufgaben erledigen, die Game Maker selbst nicht durchführen kann. Einige populäre DLLs sind:
- GMSock - Erlaubt die Nutzung von Sockets für grundlegende Netzwerkfunktionen; ermöglicht wird dadurch z.B. ein IRC-Client oder ein file downloader.
- GMSQL - Ermöglicht MySQL Verbindungen.
- Text2Speech - Ermöglicht dem Game Maker die Windows Sprachsynthese zu benutzen, um die Programme 'sprechen' zu lassen.
- SXMS(2.x) - Eine Wrapper DLL für die Nutzung von Fmod und WinAmp Plugins. Dies fügt sehr gute Audiofunktionen hinzu, wie DirectX 8.1 FX, Visualisierungen, Channel Management, Streams (lokal oder aus dem Internet) und unterstützt eine Vielzahl an Formaten (z.B. MP3, OGG, MOD, S3M, IT).
Noch bis Ende Sommer 2006 hat Mark Overmars die Betaversion des GameMaker 6.2 angekündigt. Welche Verbesserungen diese jedoch genau enthält steht noch nicht fest.
Benutzeroberfläche
Die Benutzeroberfläche ist einfach und sehr bedienfreundlich gehalten, das Verwalten und Arbeiten an einem Projekt geht leicht von der Hand.
Game Maker bietet ein simples Drag & Drop System zum Programmieren an, mit dem man den Programmablauf durch einfaches Ziehen von Icons in ein Feld "schreibt". Trotzdem können auch hier schon Variablen und Programmcode benutzt werden.
Syntax
Die Syntax der Game Maker Programmiersprache GML ist recht einfach gehalten. Er erlaubt verschiedene Programmierstile, man kann also von verschiedenen Programmiersprachen zu GML (und zurück) wechseln ohne Probleme zu bekommen. Hier ein paar Beispiele:
Beispiel der Syntax eines Anfängers:
if x = 5 and y < 10 then health = 0 else if y > 55 then room_goto(level2); else exit; ray[0]="Hi" hungry = 0 draw_text(x, y, ray[0]) if hungry = true then { ray[1]="Hungrig!"; ray[2]="Wirklich hungrig!"} repeat(10) x = x+1
Beispiel einer fortgeschrittenen Syntax:
if (x==5 && y<10) health = 0; else if (y>55) room_goto(level2); else exit; var ray; ray[0] = "Hi"; hungry = false; draw_text(x, y, string(ray[0])); if (hungry) { ray[1] = "Hungrig!"; ray[2] = "Wirklich hungrig!" } for (i=0; i<10; i+=1) x += 1;
Die Programmiersprache erlaubt sogar Pascal-Schlüsselwörter, wie begin und end anstelle von { und } oder ' und ' (einfache Anführungszeichen) anstelle von " und " (doppelte Anführungszeichen). Natürlich kann man das so mischen wie es einem beliebt, z.B. Pascal Schlüsselwörter mit doppelten Anführungszeichen.
if x=5 and y<10 then begin show_message("x ist fünf und y ist weniger als 10."); end; while 50>20 do begin show_message('Fünfzig ist immer noch mehr als zwanzig.'); end;
Wie oben zu sehen ist die Syntax sehr stark an die Vorlieben des Benutzer anpassbar. Er erlaubt Schreibweisen vieler Sprachen wie Java, C, C++, Delphi, BASIC und noch weiterer.
Verfügbarkeit
Eine eingeschränkte Version kann auf der Seite www.gamemaker.nl kostenlos heruntergeladen werden. Um alle Funktionen benutzen zu können (z.B. auch externes Nachladen von Dateien, erweiterte Zeichenfunktionen, 3D-Funktionen, Partikelsystem, Datenstrukturen, Surfaces, Online-Multiplayer-Modi), kann man ihn für 15€ registrieren.
Minimale Systemvorraussetzungen
Game Maker Version 6.1 benötigt:
- Microsoft — Windows 98 SE, Windows 2000, Windows ME, Windows XP oder höher.
- Microsoft — DirectX 8.0 oder höher.
- Grafikkarte mit 16MB oder mehr Speicher.
- 64MB freien Arbeitsspeicher
- 800x600 Bildschirmauflösung mit 16-bit Farben oder höher.
Weblinks
- offizielle Game Maker Homepage (englisch)
- offizielles Game Maker Forum (englisch)
- Game Maker Domäne Das größte deutschsprachige Game Maker Forum.
- Game Programming University (englisch) Diese internationale, kostenfreie Online-Universität bietet regelmäßig Kurse zum Game Maker an.
- Games Showcase(englisch) großes, qualitativ hochwertiges Game Maker Spielearchiv
- GameMakerGames (englisch) riesige Datenbank mit Game Maker Spielen