C-RTS: Implementatie KDTree

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

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.473

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.

C-RTS: Tankjes uit de fabriek maken plaats

Door Gamebuster op zondag 26 maart 2017 23:38 - Reacties (5)
Categorie: Hobby RTS, Views: 2.615



Tijdens de ontwikkeling van mijn poging tot een RTS in C had ik zojuist het concept van fabrieken af. Omdat tanks de neiging hadden om allemaal op dezelfde positie te gaan staan en ik (nog?) geen collision-detectie heb, had ik een snelle hack gemaakt waarbij tanks proberen van elkaar weg te rijden zodra ze dicht bij elkaar staan (wanneer ze minder dan 32 afstands-eenheden bij elkaar staan; ze zijn tevens 32 lang).

Dit heeft als zeer coole bijwerking dat tankjes netjes ruimte voor elkaar maken zodra ze uit de fabriek rollen, zoals te zien in bovenstaande video.

Hieronder een oudere video, waarin de tankjes op elkaar schieten:

Urencriterium

Door Gamebuster op zondag 3 juli 2016 08:33 - Reacties (3)
Categorie: quite useless, Views: 4.193

‘Wat een lastige muziek was dat,’ zei een dame na afloop van ons concert met Le Sacre du Printemps van Strawinski in een bewerking voor vier piano’s. ‘Hoelang hebben jullie daar wel op gestudeerd?’
‘Goede vraag,’ antwoordde ik, ‘wilt u een eerlijk of een officieel antwoord?’
Ze keek me wantrouwend aan.
‘Het officiŽle antwoord is bestemd voor de belastingdienst. Je krijgt zelfstandigenaftrek wanneer je als zzp-er 1225 uur per jaar hebt ge-zzp’d. Maar ik neem aan dat u niet bij de belastingdienst werkt,’ grinnikte ik.
Ai, wel dus, ze was fiscaliste.
‘O, goed om te horen. Op mijn eigen partij heb ik zeker 150 uur gestudeerd. De repetities en try-outs hebben me met reistijd erbij zo’n 200 uur gekost. Maar de nachtmerries over moeilijke noten, tellen die ook mee?’
‘Voelde het als werk?’, wilde ze weten.
‘Het voelde als een loodzware baan.’
‘Dan mag u ze dubbel tellen.’
‘O. Ik ben nogal een langslaper en heb er elke nacht 15 uur over gedroomd. Dan kom ik op 30 uur per dag.’
De fiscaliste keek me achterdochtig aan.
‘Ja, het loopt vreselijk op,’ ging ik verder, ‘alles bij elkaar kom ik gemakkelijk op 10.000 uur voor het afgelopen jaar.’
Creatief boekhoudend vervolgde ik: ‘Kan ik uren doorschuiven naar het volgende boekjaar?’
Zoals wel vaker bij belastingmensen, wist ze het juiste antwoord niet. Ik wel, maar het zou zonde zijn om het te verklappen…

Bron: Mijn piano-juf & tante
http://www.musicolumn.nl/musicolumn/urencriterium

Oh, the humanity!

Door Gamebuster op dinsdag 19 april 2016 14:34 - Reacties (13)
Categorie: quite useless, Views: 2.987

6 mei 1937 rond 7 uur 's avonds kwam het grote luchtschip aan bij zijn eindbestemming: Een luchtbasis in New Jersey. Door onbekende oorzaak ontvlamde het grote pre-war Nazi-icoon met zijn gigantische hoeveelheid brandbare waterstof tot een hoopje as en metalen balken in minder dan een minuut.

Van het 61 man personeel en 36 passagiers kwam 22 personeel & 13 passagiers om het leven. Ook kwam 1 man op de grond om het leven. De meesten verbrandt, anderen sprongen tot hun dood om het vuur te ontvluchten. De overige 62 man kwamen er met de schrik of niet-fatale verwondingen vanaf.



De oorzaak van de ramp is onbekend. Enkelen speculeren dat iemand zelfmoord pleegde met een wapen en daarmee brand veroorzaakte, anderen speculeren sabotage vanuit het vliegschip. Vonken van een storing in de motor, statische elektriciteit tijdens het landen en blikseminslag zijn andere theorieŽn. Ondanks dat er tenminste 6 camera's de landing aan het filmen waren, zijn er geen beelden van het begin van de brand in Hindenburg.

Binnenkort is het slechts 79 jaar geleden dat de ramp plaatsvond. De ramp maakte een einde aan het luchtschepen concept en zette de volgende stap naar moderne luchtvaart.