little-big-shooter

Im Rahmen meines Studiums habe ich bereits verschiedene Spiele entwickelt und als begeisterter JavaScript-Entwickler wollte ich die Herausforderung annehmen und ein Spiel mit JavaScript entwickeln. Als kleine Inspiration diente mir dabei krunker.io. Besonders fasziniert war ich von der Fragestellung, wie ein First-Person-Shooter implementiert werden kann und welche technischen Anforderungen dafür nötig sind. Dieses Projekt wurde als Masterprojekt an der Fachhochschule Erfurt durchgeführt. Für das Projekt waren insgesamt 125 Stunden vorgesehen, von denen 40 Stunden für die Einarbeitung in die JavaScript-Bibliothek Three.js verwendet wurden und die restlichen 85 Stunden in die Entwicklung des Spiels flossen. Aufgrund der begrenzten Zeit musste ich mich auf die wesentlichen Spielmechaniken konzentrieren und konnte leider nicht alle Bugs beheben. Bei Interesse kannst du dir gerne das fertige Ergebnis hier ansehen.

Technologien

Für die Umsetzung des Projekts wurden folgende Technologien verwendet:

  1. Vite - Build-Tool
  2. Three.js - Darstellung von 3D-Objekten
  3. cannon-es - Physik-Engine
  4. Yuka - Künstliche Intellegenz für Gegner
  5. daisyUI - CSS-Framework

Bekannte Fehler

Die während des Spielens auftretenden Fehler sind, wie bereits erwähnt, größtenteils auf die begrenzte Entwicklungszeit zurückzuführen. Zunächst ist das Zielen und Schießen manchmal ungenau, besonders wenn der Spieler sich in der Nähe der Gegner befindet. Dies könnte auf eine fehlerhafte Berechnung der Beschleunigung der Kugel auf der y-Achse zurückzuführen sein. Weiterhin ist es nicht möglich, von hohen Gebäuden hinunterzuschießen, was die strategischen Optionen einschränkt. Ein weiteres Problem besteht darin, dass die physikalischen Körper sich gelegentlich bei Kollisionen verschieben, was Bewegungen der Spielers ermöglicht die nicht beabsichtigt sind. Außerdem scheinen die Gegner manchmal Hindernisse nicht zu erkennen und laufen einfach durch sie hindurch, ich bin mir nicht sicher ob dies ob dies ein Fehler der genutzten Biblitohek ist. Zuletzt kommt es vor, dass das Spiel sich aufhängt, was natürlich besonders in intensiven Spielmomenten sehr störend sein kann. Diese Punkte bieten wichtige Ansätze für Verbesserungen in zukünftigen Updates oder Versionen des Spiels.