KI-Nutzung & andere Referenzen
Ich würde sagen, 20 % dieses Codes wurde von KI generiert. Manchmal weil ich wirklich nicht weiterkam und einfach etwas zum Laufen bringen musste. Andere Male, weil das Ergebnis nah genug an dem war, was ich sowieso getan hätte. Allerdings versuche ich mit diesem Projekt tatsächlich etwas zu lernen und nicht einfach ein Ergebnis zu improvisieren. Ich würde mich freuen, wenn du es genauso behandelst.
Diese Dokumentation wurde zunächst von Claude 4.6 generiert. Ich hätte es ohne ein Jahr Arbeit schlichtweg nicht alles schreiben können. Bitte öffne einen Pull Request, wenn du etwas findest, das völlig daneben ist. Ich werde sie Abschnitt für Abschnitt durchgehen und aktualisieren.
Wenn du KI verwendest, um eine Funktion zu entwickeln, committe bitte mit dem Modell als Co-Autor in der Commit-Nachricht. Zum Beispiel:
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Referenzen
Dieses Projekt ist im Grunde eine Kombination aus vielen verschiedenen Ressourcen. Einige der wichtigsten:
- https://gafferongames.com/
- Eine absolut großartige Ressource für alle Arten von netzwerkbezogenen Inhalten.
- https://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking
- Hier stammt im Wesentlichen die
sv_undcl_-Befehlsstruktur sowie das Tickrate-Setup und die Command-Buffer-Queue her.
- Hier stammt im Wesentlichen die
- https://gameprogrammingpatterns.com/
- Großartiges Buch. Sehr empfehlenswert. Die Zustandsmaschine und Event-Observer sind praktisch 1:1 daraus übernommen.
- https://threejs-journey.com/
- Fantastische Ressource für Three.js. Ein Teil des Codes, z.B. in der Render-Setup-Klasse, ist buchstäblich aus den Lektionen entnommen.
Einige weitere großartige Ressourcen, auf die ich immer wieder zurückgegriffen habe:
Einige der Kernbibliotheken, auf denen dies aufbaut:
- https://rapier.rs/ für server- und clientseitige Physik.
- https://github.com/geckosio/geckos.io UDP über WebRTC für alle Echtzeit-Datenübertragungen
- https://threejs.org/ für das clientseitige Rendering; die Szene wird auch auf der headless-Server-Instanz gehalten.