#A theory of airlabs and turrets

1 messages · Page 1 of 1 (latest)

primal bramble
#

Hello fellow airplane enthusiasts!

I am excited to share this, because it was a lot of fun to put together.

As some of you know, building a large number of fighters can be very tricky. Airlab and turret setups that seemingly look the same and have enough resources at their disposal, can produce fighters at drastically different speeds.

In the past few weeks i did a fair bit of testing and did my best to understand the engine and i think i came up with some fairly good explanations for these peculiar behaviours.

In particular i managed to predict and manipulate fighter production on factors such as timing in relation to unit count, ordering and placement location of turrets and airlabs.

I have written out all of my findings under this link: Click here

It has gotten quite long and is a bit technical, so if you just want to learn the bits that might be relevant to your gameplay, just scroll down to the efficiency analysis and summary sections towards the end. But if you are a spreadsheet gamer and aficionado for quirky engine behaviours, then i hope you enjoy all of it!

Please share your opinions, i would love a discussion on the oddities of airlabs. Also if you have any question please dont hesitate to ask!

Merry Christmas!

Also thanks to @solemn pecan for his feedback and questions!

kind pine
#

very helpful!

primal bramble
#

Thank you! Also i wanted to tag @ruby granite because he made this video on ticks which goes into a similar direction. Video.
He might find this interesting.

subtle sonnet
#

Very nice write up LucyGoesAir, extremely happy to see this knowledge made available to more players! 🙂

native briar
#

this is really cool. amazing work!

primal bramble
#

Happy you liked it!

feral nexus
#

This is awesome, thorough, and impressive that you found and analyzed it.

But also isn't this an undesirable quirk of the game engine that really should be in the suggestion/feedback section? I dont want to care about which order I built my lab or turrets in...

ruby granite
#

Thanks for the mention @primal bramble I only scanned your article, but neat further analysis on NANO turrets derping 🙂

#

Ah... you did do the same conv cost/fig/sec

boreal depot
#

What the fuck

subtle sonnet
# feral nexus This is awesome, thorough, and impressive that you found and analyzed it. But a...

fwiw, you do not need too (worry about ordering in your games). I've yet to see this or any reports of someone actually achieving this deliberately in a real game. Setting it up requires using the "/give" cheat to create a whole block of nanos on the same gametick.

So while it is an undesirable quirk, its not something which is likely going to impact real games, and the performance cost of fixing it maybe too high given that "likely hood/cost" ratio

woeful acorn
#

NOO Silence them

rugged lava
#

this seems more like a bug report than a guide 😆

primal bramble
# subtle sonnet A person much smarter than I once told me it was likely due to the loops around ...

If i understand this code correctly it shuts off turrets if there are not enough resources around to run them. I always had plenty of resource available, so i dont think this is the culprit.
I would look at all the code in here:
https://github.com/beyond-all-reason/RecoilEngine/blob/master/rts/Sim/Units/UnitHandler.cpp#L348

It is basically the main orchestrating loop for the engine, so poke it at your own peril^^

GitHub

A powerful free cross-platform RTS game engine. Contribute to beyond-all-reason/RecoilEngine development by creating an account on GitHub.

tender valve
#

I struggle to come up with a scenario where this is a problem for anything but labs. Can this be solved by footballing labs between different buckets at random every so often, without much of a performance impact?

subtle sonnet
primal bramble
#

I dont know if i like being at the mercy of RNG. Currently things are at least deterministic, so you might be replacing one devil with another.

tender valve
#

idk how much is practical. Every second, every 10 seconds?

zinc helm
#

Just make it so labs always end up in the first bucket, con turrets never in the first - and use everything else to balance the buckets. I doubt this is going to be much of a balancing impact (you rarely have more than a few dozen labs globally which means they could likely easily fit into one bucket)

primal bramble
#

Its not only the labs though. You would also want a predictable and fair distribution of the turrets.

zinc helm
#

Ok I thought the main problem was not having labs before con turrets within a single slow update - but perhaps I misread your post or misunderstood something

primal bramble
#

If my lab updates in frame 1, my turrets in frame 2 but your turrets in frame 15 then you might end up producing slower.
At frame 16 i could potentially be already done building and ready for a new cycle.
Meanwhile you just started.

jagged hill
#

I ctrl+f'd for a mention of high priority but didn't see one, does anyone know if that impacts when things are updated?