Developers Iteration I of 2023

Terraforming comes to Supcom pog

put the xbox units in the game pls u_u

@Jip The new terrain looks awsome great job.

I guess Physics.MaxGroundVariation 0.5 causes the unit to only tilt half the angle of the ground? Have you tried how setting all structures to a value like 0.5 or 0.8 looks like? I think it would be nice to still keep a hint of a "platform" for the structures. With the new feature it can look kind of wonky sometimes, it deprives the buildings of any sense of weight or heavyness.

Wow I wouldn't have thought terrain deformation was fixable. Very cool.
And Lua continues to be a voodoo language that I refuse to touch.
Good work and all.

@blackyps MaxGroundVariation controls just how much deviation there can be, from edge to edge. This is the value the keeps you from building a factory on the side of mountain, for example.

Why not something like this (assume image is split into image 1, 2, 3 and 4, left to right):
terrain flat.png

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

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!