Protokoll 2.3. 14:00
* Agenten im agents Array in der Weltbeschreibung, die Nis verschickt, haben immer den gleichen Index. * Agent lebt wenn er HP > 0 * Oliver bekommt im visualizer interface den gesamten World State, so wie die wasm clients * Alle Agents eines menschlichen Spielers, bekommen die gleiche TeamID * Die AgentID wird nicht benötig, da dies einfach der Index im Array ist. * Jede Missile hat eine AgentID * Der Visualizier ruft den Weltensimulator mit 60Hz auf. * Zeiten werden in Ticks gerechnet. Ein Tick sollte 1/60 Sekunden sein. * Die wasm clients denken nur in Ticks. * TODO: wasm clients bekommen je agent eine cool down time int, wenn die 0 ist darf man schiessen. * Die Welt hat einen Radius von 1m * Agents beschleunigen positiv oder negativ. Abs von Max Speed ist 2*Pi m/s. Beschleunigung parameter ist 2*Pi m/s^2 = 2*Pi/60 /s^2 * Schüsse sind konstant doppelt so schnell wie die Max Speed der Agenten. * Rotationsgeschwindigkeiten sind konstant * Eine komplette Umdrehung dauert halb so lange lange wie eine Umkreisung der Welt * Die Rotationsgeschwindigkeit ist 2 radiant pro Sekunde 2/60 radiant pro Tick. * Kollisionen: sind inelastisch ca. 50% Energie geht verloren * Nach der der Kollision ist der Richtungsvektor wieder so gesetzt, dass er nach 'vorne' zeigt * Kollisionen kosten kein HPs * Jeder Agent startet mit 4 HP * Treffer von vorne 1 HP, von der Seite 2, von Hinten 3 * Agenten heilen mit der dreifachen maximalen Schussrate * Schussrate 30 Ticks Cool Down pro Schuss = 2 Schuss pro Sekunde * Interne Kommunikation: durch statische Variablen in WASM, beim Tick wird die ID des gerade zu emulierenden Agenten übergeben werden. * Single Action je Agenten pro Frame, d.h. drehen exor Beschleunigung setzen exor schiessen * Missles haben eine konstante Geschwindigkeit.