Screenshot von Blockout NG aktueller Entwicklungsstand
Blockout NG
ist das neuste Projekt an dem ich gerade arbeite. Es soll ein
klassischer Blockout-Klon werden, welcher genauso wie Netris irgentwann
einmal ein Spiel über Netzwerk/Internet gegeneinander
ermöglichen soll. Doch primär nutze ich dieses
Projekt um einen Einstieg in die DirectX- bzw. Direct3D-Programmierung
zu bekommen. Bevor es also wirklich einmal den Entwicklungsstand von
Netris erreicht hat (Multiplayerspiel mit alle wichtigen Features),
wird noch viel Zeit vergehen.
Bereits in das Projekt integrierte Komponenten sind:
- Variable Spielfeldgröße und
Tiefe
- Alle Standard-Spielblöcke sind aufrufbar
- drehen der Spielblöcke um alle drei Achsen in
jeweils beide Richtung ist möglich
- verschieben der Spielblöcke in alle Richtungen ist
möglich
- Abfragen zur Kollision der Seitenränder mit dem
Spielblock vorhanden
- Anzeigeroutine für Spielfeldhöhe vorhanden
aber noch nicht endgültig implementiert
- Aufsetzroutine des Spielblocks am Ende des Spielfeldes oder
auf einen anderen Spielblock vorhanden
- Variable Texturfarben je nach Höhe des Spielfeldes
- Bewegung der Kamera möglich (später im
Spiel wird sie wahrscheinlich festgesetzt)
- Transparenter Spielblock um das Spielfeld dahinter auch noch
sehen zu können
Folgende Feature fehlen noch, um das Spiel zumindest erstmal im
Singleplayer spielbar zu machen:
- seitliche Kollisionsabfrage beim Verschieben des
Spielblocks mit bereits gesetzten Blöcken
- Kollisionsabfrage mit bereits gesetzten Blöcken vor
dem drehen des Spielblocks
- ein Willkommens- und Einstellungsmenü (geplant in
3D, wahrscheinlich in der ersten Fassung zunächst ein normales
Fenster
- Überprüfung und Abbau vollständig
gefüllter Ebenen
- Anzeige / Zählen der erreichten Punkte,
entsprechendes festlegen der Punkte
- Automatisches fallen der Steine mit steigender Geschwindigkeit
Folgende Features sind für Multiplayer nötig, bzw.
sind noch angedacht
- Generelles implementieren von
Netzwerk-Server-Client-Funktionen
- Mehrere Anzeigen über den Status der Gegner
- Sound
- Auswahl selbst erstellter Texturensets / Soundsets
- Festlegen eigener Tasten zur Steuerung und
Tastenempfindlichkeit
- Auswahl der Auflösung
- diverse 3D-Effekte wie punktuelles Licht = Spotlight etc.
- Optimierung des Codes hinsichtlich Geschwindigkeit (gerade
hier sehr wichtig, da sonst die FPS-Rate stark leidet)
- einen Bot (?)
- Diverse Bildschirme für Einstellungen, Chat etc. in
DirectX-Grafik (also keine Windowsstandardfenster)