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.
Hier die neue WASM-API
https://github.com/Tondorf/the-real-twsfw/blob/main/example/twsfw_agent.h
Benjamin hat sich auch eine API Version gewünscht. Gibt es jetzt auch als Parameter...
On 3/2/25 15:00, Oliver Jucknath via Seminare wrote:
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.
Seminare Mailingliste -- seminare@computer-tondorf.de Zur Abmeldung von dieser Mailingliste senden Sie eine Nachricht an seminare-leave@computer-tondorf.de
Nach langer Diskussion ist die "api_version" wieder raus geflogen. Dafür gibt es jetzt das lang erwartete enum für die Agent Actions:
https://github.com/Tondorf/the-real-twsfw/blob/main/example/twsfw_agent.h