Java Fun and Games: Java besucht die Spielhalle

In den 1980er Jahren strömten die Leute in die Spielhallen, um Pacman, Space Invaders, Frogger, Donkey Kong und andere Spiele zu spielen. Es macht immer noch Spaß, diese Klassiker zu spielen: Wenn Sie noch nie eines dieser Arcade-Spiele gespielt haben oder einfach nur eine Reise in die Vergangenheit unternehmen möchten, schauen Sie sich Classic '80s Games in Resources an.

Träumen Sie jemals davon, ein Java-basiertes Arcade-Spiel zu entwickeln, das den Klassikern ähnelt? Wenn ja, können Sie diesen Traum mit JGame, einer von Boris van Schooten entwickelten Java-Game-Engine, verwirklichen. Dieser Artikel führt Sie in JGame, seine Funktionen, Verzeichnisse und Dateien sowie Beispielspiele ein. Wir untersuchen auch die Architektur von JGame - die Engine, die Spielobjekte und die Timer.

Hinweis: Sie können jetzt die in Java Fun and Games präsentierten Applets mit DevSquare, einem Online-Entwicklungstool, erstellen und ausführen . Lesen Sie zunächst das unter Ressourcen verfügbare Benutzerhandbuch.

Einführung in JGame

JGame ist eine kleine 2D-Java-Game-Engine, deren High-Level-Framework - basierend auf Sprites mit automatischer Animation und Kollisionserkennung und einem kachelbasierten Hintergrund mit einfachen Sprite-Tile-Interaktionsfunktionen - die Entwicklung von Arcade-Spielen im klassischen Stil vereinfacht. Spiele werden als Anwendungen oder Applets ausgeführt und auf jede Fenstergröße skaliert - sie werden sogar im Vollbildmodus ausgeführt. (Um mehr über Sprites und Kacheln zu erfahren, besuchen Sie Wikipedia.)

Dieser Artikel konzentriert sich auf JGame Version 1.2. Obwohl diese Version einige Mängel aufweist (mangelnde Soundunterstützung und die Unfähigkeit, Spiele mit scrollendem Hintergrund zu erstellen, sind zwei Beispiele - diese Probleme werden höchstwahrscheinlich in einer zukünftigen Version behoben), bietet Version 1.2 mehrere Funktionen, die die Entwicklung und Bereitstellung von Arcade-Spielen erleichtern ::

  • Integrierte animierte "Sprite" -Engine mit einfacher Animationsdefinition
  • Fliesenbasierte Hintergrundbehandlung mit dekorativem Hintergrund
  • Automatische Kollisionserkennung mit Sprites und Hintergrundkacheln sowie einfache Interaktion mit Hintergrundkacheln
  • Möglichkeit, Sprites, Kacheln und Farbschriften direkt von Sprite-Blättern zu laden
  • In einer Textdatei definierte Bilder und Animationen
  • Ein Zustandsmaschinenmodell für In-Game-Sequenzen
  • Eine Standard-Spielzustandsmaschine und einige Standard-Spielobjekte
  • Debugging-Funktionen, einschließlich der Visualisierung von Begrenzungsrahmen und des Druckens von Debug-Meldungen neben einem Objekt auf dem Spielfeld
  • Optimierte und beschleunigte Grafiken für verschiedene Displays, ohne dass zusätzliche Pakete erforderlich sind; funktioniert gut auf Remote-X11-Displays
  • Möglichkeit, das Spiel in einer Fenstergröße zu programmieren; Das Spiel kann beim Ausführen auf jede gewünschte Fenstergröße (auch im Vollbildmodus) skaliert werden
  • Auf verschiedenen Plattformen getestet; kann einfach als Applet oder als Anwendung (und aus einer JAR-Datei) ausgeführt werden

Motor einbauen

Sie müssen JGame installieren, bevor Sie mit dieser Software arbeiten können. Surfen Sie zur JGame-Webseite (siehe Ressourcen für einen Link) und wählen Sie eine Distributionsdatei aus - jgame-20061023.tar.gz oder jgame-20061023.zip für Version 1.2. Nach dem Herunterladen und Aufheben der Archivierung der Distributionsdatei empfehle ich, das jgame-Ausgangsverzeichnis in Ihr Stammverzeichnis zu verschieben (der Einfachheit halber).

JGame wird mit vorkompilierten Java 1.4-Klassendateien geliefert. Wenn Sie JGame mit Java 1.4 oder höher verwenden möchten, müssen Sie nichts mehr tun - JGame ist installiert. Wenn Sie jedoch JGame mit Java 1.2 und / oder 1.3 verwenden möchten, müssen Sie JGame gemäß den Anweisungen in einer Datei mit dem Namen makefile neu kompilieren - einem der verschiedenen Verzeichnisse und Dateien im jgame-Ausgangsverzeichnis, von denen eine Liste folgt unten:

  • Beispiele enthalten Quelldateien und vorkompilierte Java 1.4-Klassendateien für dieses Paket
  • gfx enthält GIF-, PCX- und PNG-Bilddateien für die mit JGame gebündelten Beispielspiele
  • HTML enthält HTML und verwandte Dateien zum Ausführen der Beispielspiele als Applets
  • javadoc enthält die Java-Dokumentation für die beiden Klassenpakete von JGame
  • jgame enthält Quelldateien und vorkompilierte Java 1.4-Klassendateien für dieses Paket
  • CHANGES protokolliert verschiedene Änderungen (einschließlich Fehlerkorrekturen), die auf jede JGame-Version angewendet werden
  • LIZENZ identifiziert die JGame Lizenz, Copyright und Garantieinformationen
  • make.bat kompiliert Quelldateien in Verzeichnisbeispielen und jgame
  • make-docs.bat erstellt die Paketdokumentation im Verzeichnis javadoc
  • make-jar.bat erstellt eine JAR-Datei mit allen relevanten JGame-Klassendateien und Ressourcendateien
  • Makefile zeigt, wie Sie Quellcode kompilieren, eine Java 1.2-Version von JGame erstellen und vieles mehr
  • makepkg.sh präsentiert ein Unix-Shell-Skript zum Packen von JGame in eine Distributionsdatei
  • Manifest identifiziert die Hauptklasse für die JAR-Datei
  • MANUAL bietet Einblicke in die Spielprogrammierung mit JGame
  • README bietet einen Ausgangspunkt für die Erkundung von JGame

Beispielspiele

JGame enthält 11 Beispielspiele, die die Entwicklung von JGame-basierten Spielen demonstrieren: NebulaAlpha, Insektizid, ChainReaction, SpaceRun, SpaceRun II, Munchies, WaterWorld, CavernsOfFire, MatrixMiner, PubMan und DungeonsOfHack. Da diese Spiele im examplesPaket enthalten sind, müssen Sie das examples.Präfix angeben, wenn Sie das Spiel als Anwendung oder als Applet ausführen.

Sie können jedes Beispielspiel als Anwendung ausführen, indem Sie sicherstellen, dass jgame das aktuelle Verzeichnis ist, oder indem Sie den Pfad von jgame zur Umgebungsvariablen CLASSPATH hinzufügen. Geben Sie beispielsweise PubMan (einen Pacman-Klon - Sie werden von Bierkrügen anstelle von Geistern verfolgt) als Anwendung an java examples.PubMan. Standardmäßig läuft dieses Spiel im Vollbildmodus.

Anstatt im Vollbildmodus ausgeführt zu werden, können Sie die meisten Beispielspiele zwingen, ihre Ausgabe in einem Fenster anzuzeigen, indem Sie in der Befehlszeile ganzzahlige Argumente angeben. Rufen Sie beispielsweise auf, um PubMan in einem Fenster mit 300 horizontalen mal 300 vertikalen Pixeln auszuführen java examples.PubMan 300 300. Abbildung 1 zeigt das resultierende Fenster.

Sie können ein Beispielspiel auch als Applet ausführen. Das HTML-Verzeichnis enthält für jedes Beispiel mehrere HTML-Dateien. Jede HTML-Datei führt das Beispiel mit einer bestimmten Fenstergröße aus (einschließlich Vollbild). In der Datei applet-pubman-320x240.html dieses Verzeichnisses wird beispielsweise das folgende Tag verwendet, um PubMan mit einer Fenstergröße von 320 horizontal und 240 vertikal Pixel auszuführen:

 PubMan applet