RaceGame

Das Race Game

Wir präsentieren unser neuestes Spiel.

Heute sind wir stolz darauf, dir unsere neueste Errungenschaft zu präsentieren: Das Glorreiche, das Unglaubliche, das Einzig Wahre Race Game!

Nun, zugegeben, es ist nicht der nächste AAA-Blockbuster, aber: es ist das erste Spiel, das wir mit der neuen Version unserer Sphere-Engine gemacht haben! Wir haben uns in letzter Zeit sehr bemüht, der Engine neue Features hinzuzufügen. Um diese Neuerungen zu präsentieren und zu testen, haben wir Race Game mit einer dynamischen Split-Screen-Funktion ausgestattet. Die Spieler können dem Spiel beitreten und es sogar dynamisch verlassen. Auch wenn es nur ein Engine-Testspiel ist, macht es eigentlich recht viel Spaß. Man kann mit anderen im lokalen Mehrspieler- oder Solo-Modus Rennen fahren und sich seine Zeit merken, was das Spiel schon recht kompetitiv macht. Und der funky 90er-Jahre-Stil ist eine Augenweide, findest du nicht auch?

Es ist einfach mega für uns, zu sehen, dass die Engine langsam bereit ist, tatsächlich Spiele mit ihr zu machen. Nachdem wir Sphere Game, Helix Repair und Stellary mit unserer alten Engine gemacht hatten, haben wir uns entschieden, die neue Version von Grund auf neu zu entwickeln. Tatsächlich haben wir Vulkan erst mit der Entwicklung der ersten Version der Engine kennengelernt, was zu Code mit schlechten und schwer zu pflegenden Mustern führte. Wir haben einige wichtige Entscheidungen getroffen, bevor wir mit der Entwicklung der neuen Sphere-Engine angefangen haben:

  • Wir haben die Engine klar in zwei Abstraktionsschichten aufgeteilt: Die niedrige Abstraktionsebene (LLA) und die hohe Abstraktionsebene (HLA). Die LLA ist jetzt sehr nah an Vulkan selbst, nur das Aufräumen von Vulkan-Objekten wird mit Hilfe von Referenzzählern automatisiert. Das Ziel der HLA ist es, eine einfach zu handhabende Abstraktion auf der Grundlage der LLA bereitzustellen. Diese Trennung hat uns die Implementierung der LLA sehr viel leichter gemacht, da diese nun nicht mehr “safe” sein muss. Weil wir das Aufräumen von Vulkan-Objekten mit Hilfe der LLA automatisiert haben, konnten wir außerdem den Schwerpunkt der HLA vollständig auf die Bereitstellung einer sauberen Schnittstelle legen.
  • Um Datenabhängigkeiten zwischen logischen Einheiten in der HLA zu berücksichtigen, haben wir ein Rust-Crate erstellt, das genau diesem Zweck gewidmet ist: Daab. Wir setzen Daab in der HLA intensiv ein, insbesondere auch für die Re-Creation der Swapchain. Wenn es dich interessiert, wie Daab funktioniert, schau dir diesen Beitrag an.

Race Game ist wirklich ein Meilenstein! Die neue Sphere-Engine macht endlich ihre ersten Schritte in der Spielewelt. Das ist nur der Anfang der Reise zu unserem nächsten größeren Spiel. Bleib am Ball!

Schreibe einen Kommentar