CubeWar

Three.js

Node.js

WebSockets

Kubernetes

Redis

CubeWar ist ein browserbasiertes Multiplayer-Spiel, in dem Spieler Würfel-Charaktere in schnellen, strategischen Kämpfen steuern.

Ich habe den gesamten Stack selbst entwickelt, inklusive der Spiel-Engine, des Client-Timeline-Systems und des Echtzeit-Netzwerks mit Redis-basiertem Matchmaking für flüssiges Gameplay.

Features

Features

  • Game-Engine, die alle Regeln und Spielmechaniken verwaltet
  • Client-Engine mit Timeline-System für flüssige, synchronisierte Animationen
  • Anpassung der Animationsgeschwindigkeit zur Synchronisation mit dem Server
  • Unterstützt mehrere Spielmodi: Free-for-All, 1v1, 2v2
  • Party-System für 1-4 Spieler
Spielkarten & Themen

Flexible Spielkarten

  • 32x32 Raster mit Höhenangaben auf der Y-Achse
  • Individuelle Spielkarten mit flexiblem Layout
  • Verschiedene Themen wie Strand oder Canyon
  • Zufällig generierte Felder können Waffen, Buffs oder Fallen enthalten
Party System

Party-System

Spieler können sich in 1-4er-Partys zusammenschließen, um Matches gemeinsam zu bestreiten oder gegen andere Teams anzutreten. Das System stellt sicher, dass alle Partymitglieder in dieselbe Spielsession kommen, wodurch koordiniertes Gameplay natürlich und spaßig wirkt.

Architektur & Entwicklung

CubeWar basiert auf einer Microservice-Monorepo mit separaten Services für Spiel-Logik, Matchmaking und Benutzerverwaltung. Gemeinsame Pakete ermöglichen modulare und skalierbare Features für Spiele, Services und UI-Komponenten.

Die Engine umfasst ein Client-Server-Timeline-System für flüssige Animationen, flexible Spielkartenlayouts, mehrere Spielmodi und ein Party-System. Ich habe zudem alle 3D-Modelle, Icons und UI-Elemente erstellt und hatte so die volle Kontrolle über technische und visuelle Aspekte des Projekts.

Insgesamt zeigt das Projekt Full-Stack-Entwicklung, Echtzeit-Multiplayer-Netzwerke und eine skalierbare Architektur.

Learnings

  • Monorepo mit gemeinsamen Paketen für Engines, Services und UI-Komponenten organisieren
  • Zuverlässiges Matchmaking mit Redis, Lua-Skripten und WebSockets implementieren
  • Synchronisierte Client-Server-Timeline für flüssige Animationen entwickeln
  • Mehrere Spielmodi und ein Party-System für Teamwork erstellen
  • Alle Spiel-Assets produzieren: 3D-Elemente, Icons, UI-Komponenten
  • Performance für schnelle Browser-Matches optimieren