Developers Iteration I of 2023

Do people realize that this won't affect how 95% of structures look? They will be placed on flat ground anyways and will look the same. On the other hand this could reward creative placement of point defense

put the xbox units in the game pls u_u

@BlackYps As Sprouto describes: it is the maximum height difference over the build skirt. Tech 1 power generators are small, therefore the maximum angle would be larger. Factories are large, maximum angle would be smaller. I'm sure this can be computed using trigonometry.

@Fichom You propose a solution with a ton of edge cases for something that is an edge case itself. The majority of the terrain is flat - just generate any map and the majority is flat. Look at any competitive map and the majority is flat. It only matters for those moments where you build near or on top of a ramp / hill.

@GoodRaptor See what I wrote to Fichom - the majority of structures placed in a game are completely unchanged.

@Zeldafanboy thank you, finally someone that understands how niche the impact is in practice. Except for the fact that terrain deformations can be a real pain when they happen, and now it becomes virtually impossible to create terrain deformations that negatively impact gameplay.

For those that have worries: please take the time to experiment on the FAF Develop. We can discuss individual cases and adjust parameters if a structure can indeed end up looking silly. Describing hypothetical situations is - with all due respect - not helping anyone, especially as you can just start the FAF Develop game type as described in the first post:

With all of that said - I'm eagerly looking for a few representative lobbies to play on FAF Develop. I've seen a few replays of the past week and they feel a lot smoother performance wise - but they weren't exactly representative. It also helps a lot with testing the stability 🙂

A work of art is never finished, merely abandoned

@zeldafanboy said in Developers Iteration I of 2023:

On the other hand this could reward creative placement of point defense

If point defense rests at an angle, does that affect what it is able to shoot?

Would it make a difference for T2 PD, which can have a firing arc?

Will artillery adjust its firing angle based on not having a flat base?

@jip said in Developers Iteration I of 2023:

@Fichom You propose a solution with a ton of edge cases for something that is an edge case itself. The majority of the terrain is flat - just generate any map and the majority is flat. Look at any competitive map and the majority is flat. It only matters for those moments where you build near or on top of a ramp / hill.

Not trying to be apocalyptic here, but I do wonder if this update will eventually open up the space for non-flat maps... Like imagine the whole map being tilted by like 30° or something. The biggest issue would be the camera, but still xD

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.

@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