C-RTS: Implementatie KDTree

Door Gamebuster op woensdag 5 april 2017 13:37 - Reacties (6)
Categorie: Hobby RTS, Views: 1.582

Weer een performance update voor mijn Hobby RTS, deze keer met een KDTree implementatie voor het zoeken van vijandelijke tankjes. De implementatie kan nog veel verbeterd worden, maar de performance impact is al zeer groot merkbaar.



Ik wil nog wat optimalisaties doorvoeren met de huidige KDTree implementatie en dan kijken of ik daadwerkelijk een game ervan kan maken, met interactie enzo. Ook wil ik langzamerhand gaan kijken of ik de game op Windows kan draaien en of de game zich dan hetzelfde gedraagt (ofwel, of identieke input resulteert tot identiek eindresultaat). Zo niet, dan moet ik wijzigingen doen in de game tot het resultaat van de game wel identiek is.

Als dat gedaan is, de inputs synchroniseren over het netwerk en je hebt een soort van multiplayer RTS. Dan kan ik er een echte game van maken en onderzoeken hoe ik de game leuk kan maken. Dat, tegelijkertijd met manieren zoeken om de game nog sneller te maken. Ik heb veel ideeen daarover, waaronder multithreading (makkelijk toe te passen) en scheiding framerate & tickrate waarbij de tickrate naar 10Hz kan.

C-RTS: Stress-test

Door Gamebuster op zaterdag 1 april 2017 23:45 - Reacties (1)
Categorie: Hobby RTS, Views: 1.584

Mijn ambitie van de game is om zo veel mogelijk tankjes te kunnen simuleren. Als we in 1997 in de 100en units moeten kunnen hebben in een RTS, dan moeten we in 2017 toch makkelijk richting de 10.000 op 60fps? 100.000 misschien? Dat is in ieder geval wel mijn ambitie.

Ik ben er nog lang niet, maar ik heb al wel enkele stappen gemaakt richting wat betere performance. Hieronder een video waarin ik een benchmark van de game laat zien: Met een vaste seed voor random zorg ik ervoor dat iedere game 100% identiek is. Ik plaats 64 factories en laat ze lekker tankjes bouwen. De simulatie is niet synchroon gezet met de klok dus loopt zo snel mogelijk.

In de video zie je 3 benchmarks en een demo. Vlugge copy/paste uit mijn video-omschrijving:

0:00 Benchmark with old code (before grid, slow, 77.6 CPU-seconds)
1:30 Benchmark with newer code (after grid, faster, 26.3 CPU-seconds)
2:20 Benchmark with latest code (after scalable grid, faster, 16.1 CPU-seconds)
3:58 Start of long run of the demo. Whats how blue dominates the whole game

De video is met >1080p opgenomen. Youtube laat dit echter nog niet zien. Ik verwacht dat dit beter wordt, anders upload ik de raw video ergens.