Skip to content
This repository has been archived by the owner on Mar 26, 2024. It is now read-only.

Gamelogik

Maximilian Bosch edited this page Oct 6, 2019 · 6 revisions

Die Gameengine transzendiert Back- und Frontend und bildet die Spielwelt ab. Sie besteht aus Teilen, wie dem Spritesystem, Hitboxen, Gravitation, Animationen, Inputverarbeitung etc.

Die Gamelogik läuft sowohl auf dem Frontend im WebAssembly, als auch auf dem Backend.
Im Frontend läuft sie in einem eigenen WebWorker und kommuniziert mit dem Grafik-WebWorker und dem Backend.
Im Backend läuft sie in einem eigenen Thread und kommuniziert mit dem Frontend.

Spritesystem

Sprites sind Texturen, welche auf dem Bildschirm angezeigt werden. Die Texturen werden alle in einer großen Bilddatei, dem Texture-Atlas abgespeichert. Dem Frontend werden dann nur die Eckpositionen jedes Sprites übergeben.

Hitboxen

Alle nicht rein optischen Objekte sind von einer Hitbox umgeben. Zum Beipiel besteht der Charackter aus mehreren Hitboxen, welche die Gliedmaßen modellieren. Auch Waffen, der Boden und bestimmte Angriffe (wie z.B. ein Geschoss) besitzen Hitboxen.

Gravitation

Alle Objekte des Spiels fallen beschleunigt nach unten, sofern nicht eine andere Kraft dem entgegenwirkt, dies kann beispielsweise durch ein Stehen auf dem Boden erbracht werden.

Animationen

Die von Dragonbones generierten json-Dateien müssen noch in ein für uns nutzbares Format umgewandelt werden. Dafür berrechen wir für jeden Animationsframe die relativen Positionen aller Knochen und speichern diese als Binärdatei.

Eventverarbeitung

Die Events werden vom Frontend übermittelt.

Navigation

Brainstorming:
      Sessions Liste 📃
      Letzte Session ◀️
      Nächste Session ▶️
      Last Design-Session 👈
      Next Design-Session 👉
      Dunkle Seite 🌈
Design:
      Sound 🎧
      Grafikdesign 🤺
      Animationen 🎞️
      Gamedesign 📝
Programmierung:
      Gamelogik ⚙️
      Frontend 👾
      Backend 🗄️
Spielprotokoll 🧻

Clone this wiki locally