Developers Iteration I of 2023
-
Why not something like this (assume image is split into image 1, 2, 3 and 4, left to right):
How it is
When attempting to build on an incline (figure 1), currently the game finds some average height, plops the building on that height, and proceeds to flatten the terrain around the building (figure 1). This results in these tiny portions of terrain to get extreme angles (red in figure 2), which can prevent further building and/or even prevent units from moving through previously passable terrain.
Currently proposed solution
In figure 3, we can see the 'skew the building to follow the terrain' that has been worked on. As most will agree, it looks odd. But it does fix the problem of not altering the topography.
Maybe this
Figure 4 holds my idea. The idea is you pick the highest edge-point of a structure, and use that as the structure Y position. Rather than highest edge-point, you could also find an average which is heavily biased towards higher-Y points (meaning it will be partially sunk, but mostly 'floating' above the lower parts of the slope). You then add a 'base' to the structure (blue in figure 4), so as it would not look like it floats - kinda like what naval factories do atm, with their 'infinite' legs that go down as deep as need.
Pros are you benefit from 'not altering terrain' while also not skewing the buildings.
A big con is you somehow need to model to 'extend' below it's usual lowest Y value. But I thin that, with diligent work, just extending the base of all non-floaty buildings to go down shouldn't be a big problem. The only problematic buildings are the unit-dispensing ones, where there would be an odd ledge the unit would have to cross - one solution is to just extend the existing ramp to also cover negative Y space, but it might look awkward if the ramp is on a similar angle as the terrain (it might extend like 3 unit widths away from it's usual terminating point, which would look like it's going under other buildings). -
Honestly, as a mod this feature would be neat, but as the main FAF branch? I would hate it. So what if it screams "I'm from 2000". One of my favorite parts about FAF is how it improves the quality of life while maintaining the visual fidelity and core gameplay integrity from SC:FA. To make this change would ruin that visual fidelity to me and honestly change so many little things about this game, like attack angles of PD and such. I just don't see this being the best way forward aesthetically for FAF. I liked how I could still make cool, level city-esc bases while still being effective for war. But honestly I would rather see this as a modification or separate branch for FAF because I love the visuals that it has maintained since the original game. You could argue that they've made many visual changes over the years, but those changes at least fit the SupCom feel for the most part.
-
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
-
@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
-
-
@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?
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
Terrain deformations on FAF
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.
-
@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 funThis 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.
-
@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 funThis 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:
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:
But that is not a solution.
-
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.
-
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
2900 units at 38ms / tick
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
Various units at a slight slope
There used to be a full base here, but there's no trace of it when you look at the terrain
Destroyed air base at a slope, but the terrain is not deformed
Full array of SAMs with no terrain deformations whatsoever
Entire base with air grid build on a slight slope, no issues with terrain
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.
-
-
I've added the third section about improved controls and commands, see also the second post starting at 'Control ...'.
-