Developers Iteration I of 2023

@thomashiatt said in Developers Iteration I of 2023:

Structure terraforming is only one, of many, reasons that slopes should be kept to a minimum on maps. This should only be considered a band-aid for legacy map issues, not permission to make bad maps in the future.

It will require a lot of testing to make sure all the buildings can still be shot properly, especially under construction aeon buildings. There's been problems in the past with certain buildings, and now this adds more degrees of freedom that probably were not taken into consideration before.

Idk, I wouldn't dismiss the idea of sloped maps as bad. I mean having to think about terrain advantage seems like a great idea. The only problematic thing I see with highly-sloped maps is how to integrate water/navy - but that's a problem for the mappers, not the devs.

I think the problem with sloped maps is that the engine just wasn't designed for units to fight over anything except flat terrain, calculations for firing weapons don't account even for height difference between unit positions (which would otherwise increase range depending on height advantage), let alone terrain curvature itself, everything would keep missing or not shooting or shooting the ground

There is also the nice "feature" that indirect fire units, e.g. t1 arties, on sloped ground sometimes refuse to shoot enemy units inside their range circles because of some arcane turret rotating reasons.

When this happens is super unpredictable for a human, probably making heavily sloped maps anything but fun

So not sure if this is intentional, but there is still some terrain deformation with larger buildings?


terrain flat.png
Notice the red sharp angle - it was smoother before placing down the factory (approximated with green, though it was even smoother than that). Note how the PD that was built prior to factory now has a floating part (orange), since it kept it's angle of tilt, but terrain was later updated underneath it.

The behavior you describe is what happens when you apply terrain deformations, regardless of how you apply it. We just reduced the amount it deforms the terrain. As an example:

Terrain deformations on FAF Develop

d5c1c1a8-4fee-471f-9d8a-26440f5de974-image.png

Terrain deformations on FAF

32d6b09b-c904-47b5-8075-38c41ad8b9ac-image.png

Note how on the second image there are several power generators floating, where as on the first image there are none. The old method was a lot more prone to cause structures to float, depending on the order you build them.

A work of art is never finished, merely abandoned

@thomashiatt said in Developers Iteration I of 2023:

It will require a lot of testing to make sure all the buildings can still be shot properly, especially under construction aeon buildings. There's been problems in the past with certain buildings, and now this adds more degrees of freedom that probably were not taken into consideration before.

This problem has been fixed a while back, see also this pull request and in particular the pull request it links to. The changes proposed here do not impact aeon structures any different than other structures. As an example: the aim bones and the collision box moves with the structure as it is being tilted.

@cheeseberry said in Developers Iteration I of 2023:

There is also the nice "feature" that indirect fire units, e.g. t1 arties, on sloped ground sometimes refuse to shoot enemy units inside their range circles because of some arcane turret rotating reasons.
When this happens is super unpredictable for a human, probably making heavily sloped maps anything but fun

This problem has nothing to do with the slope, it has to do with the weapon of the artillery being set to lead the target. This can cause the artillery to prevent firing because the target solution is outside of the attack radius of the artillery. The slope can amplify this slightly - but the problem itself is not related to the slope. For example, this is also noticeable with Zthuee (on a flat water surface) and moving frigates: because frigates move too fast the Zthuee just look. They usually never shoot at moving frigates, especially if they are moving themselves too.

The solution is to prevent tech 1 artillery to try and lead the target. The up side is that it would always fire. The downside is that it would be as useless to moving targets as tactical missiles are. But I'd argue they'd still be a lot better because t1 artillery has a lot more splash damage.

If it were up to me I'd prefer units that always shoot over units that don't. But this particular change is very balance related, and the balance team doesn't like the solution.

A work of art is never finished, merely abandoned

@jip said in Developers Iteration I of 2023:

@thomashiatt said in Developers Iteration I of 2023:

It will require a lot of testing to make sure all the buildings can still be shot properly, especially under construction aeon buildings. There's been problems in the past with certain buildings, and now this adds more degrees of freedom that probably were not taken into consideration before.

This problem has been fixed a while back, see also this pull request and in particular the pull request it links to. The changes proposed here do not impact aeon structures any different than other structures. As an example: the aim bones and the collision box moves with the structure as it is being tilted.

@cheeseberry said in Developers Iteration I of 2023:

There is also the nice "feature" that indirect fire units, e.g. t1 arties, on sloped ground sometimes refuse to shoot enemy units inside their range circles because of some arcane turret rotating reasons.
When this happens is super unpredictable for a human, probably making heavily sloped maps anything but fun

This problem has nothing to do with the slope, it has to do with the weapon of the artillery being set to lead the target. This can cause the artillery to prevent firing because the target solution is outside of the attack radius of the artillery. The slope can amplify this slightly - but the problem itself is not related to the slope. For example, this is also noticeable with Zthuee (on a flat water surface) and moving frigates: because frigates move too fast the Zthuee just look. They usually never shoot at moving frigates, especially if they are moving themselves too.

This can also happen when both the arty and the target are standing still which, I would assume(?), means no target-leading attempts are being made.

See e.g. here: https://forum.faforever.com/topic/2282/fervors-zthuees-and-pds-can-t-shoot-down-hills-lobos-and-medusas-can?_=1674060312416

This post is deleted!

@jip I've kinda realized that I was overthinking things again and that no one even plays zoomed in typically anyways

When it comes to RTS, gameplay always comes first and after reading some of these posts I've realized how stupid my argument was xD

Honestly after trying out the beta, I think it would be highly effective and stylish compared to the floaty PD and bad pathing we get at times with enough work

@cheeseberry said in Developers Iteration I of 2023:

This can also happen when both the arty and the target are standing still which, I would assume(?), means no target-leading attempts are being made.

See e.g. here: https://forum.faforever.com/topic/2282/fervors-zthuees-and-pds-can-t-shoot-down-hills-lobos-and-medusas-can?_=1674060312416

That is a valid example, see also the angle of the turret:

30ee3e0c-0d5f-4d2b-a8b4-6f4b6548020a-image.png

In order to fire it needs to have a 90+ degree pitch, which they can't physically have. If you increase the firing tolerance to an absurd number (3 -> 100) then they can fire, but fire all over the place:

a0d80a48-be31-465e-8921-31bedbe87b62-image.png

But that is not a solution.

A work of art is never finished, merely abandoned

I would imagine that any tilt to a TML will impact the flight time mechanics of the missile to some degree, if nothing else, at least in some of the AI code for predicting lead-time.

14

With thanks to @phong we managed to play the first representative game on the FAF Develop branch. See also the first post. You can find the replay 19044295 in the vault.

Performance

It clearly shows the performance improvements, where we now have a new record of 1500 units + a battle being processed in 17ms, and 3000 units + a battle being processed in 40 ms.

For those unaware: the game is processed in ticks. Each tick has a 'budget' of 100ms. If we can't meet that budget, the game starts slowing down.

To put that into numbers: my computer has a Ryzen 5 3600. You can buy one of those brand new for 100 to 160 euro CPU. This relatively cheap CPU is now able to process games up to 6K units without any problems, which is where it would start slowing down the game on the current release branch.

1500 units at 17ms / tick
dc45d1ec-ae93-4b9a-a748-24e147683eff-image.png

2900 units at 38ms / tick
f0335b51-d201-4a0a-b3df-3076ca8d06a3-image.png

Terrain deformations

There are no visible terrain deformations, even at places where there used to be factories. I'll post a few screenshots.

Air base at a slight slope
cfd13947-eb25-4958-80e1-1db32b1210e7-image.png

Various units at a slight slope
f970eeb7-01b9-483b-ab69-917bb2abff11-image.png

There used to be a full base here, but there's no trace of it when you look at the terrain

aac233e7-f1d1-4dfb-b331-4ddaeb7bb481-image.png

Destroyed air base at a slope, but the terrain is not deformed
e3f01b69-fb3f-4a3d-afd7-883e71fc3cfb-image.png

Full array of SAMs with no terrain deformations whatsoever
5310c9d3-5e4a-4432-9913-861ce5a87826-image.png

Entire base with air grid build on a slight slope, no issues with terrain
65bc2205-2394-419c-9923-502bd58902d1-image.png

But moreover:

  • During play, nobody noticed that structures were slightly tilted
  • During play, even I did not notice structures were slightly tilted

And looking at the terrain: there are basically no noticeable deformations even though entire bases got destroyed and rebuild. I'd say this is a grand success. And with a bit more tweaking for individual edge cases (like a radar) we can make it even better.

A work of art is never finished, merely abandoned

I've added the third section about improved controls and commands, see also the second post starting at 'Control ...'.

A work of art is never finished, merely abandoned

Unfortunately, the game desyncs at ~14m, tried it several times. But looks super promising so far.

@magge said in Developers Iteration I of 2023:

Unfortunately, the game desyncs at ~14m, tried it several times. But looks super promising so far.

Can you be more specific, along with replay IDs?

You are probably referring to the replay: that is correct. Replays in FAF Develop can desync as soon as new changes are pushed towards the branch.

A work of art is never finished, merely abandoned

I love this function

For this patch we've made significant memory reductions, which in turn reduce the stress on the garbage collector and reduces the memory footprint in general. I'll write a post with more details about it later this week. But for now - we need more test data! In particular surrounding the intel and veterancy system, as they both have been re-implemented from the ground up.

You can choose the FAF Develop game type when you host a game:

a5c96536-651b-4a0b-bad0-231993d781e4-image.png

A lot of people have been hosting on FAF Develop and I've been looking at every representable replay to read your messages on possible bugs, checking the logs and gathering performance statistics.

A work of art is never finished, merely abandoned

A few people played games on FAF Develop, you can find the replays here:

With thanks to the hosts for choosing the faf develop game type. The game is stable, as it has been the past few weeks. For those wondering how they can contribute: host your next game on the FAF Develop gametype instead of FAF.

A work of art is never finished, merely abandoned

small question about the monkey lord, is this in the developer also undetectable for a granny or was it the patch? If so, I have overlooked the point or not found it.

granny - radar ^^