Building on mountainsides - Page 3

Building on mountainsides

Various things about Spring that do not fit in any of the other forums listed below, including forum rules.

Moderator: Moderators

Should construction units be able to level terrain arbitrarily?

No. Allowing units to build on the sides of mountains would ruin gameplay because ______ (insert reason below).
17
46%
Yes. I'm fed up with modern building techniques being more advanced than those 10000 years from now.
20
54%
 
Total votes: 37

Hyalin
Posts: 8
Joined: 21 Jun 2005, 07:53

Post by Hyalin »

Something along the lines of what Warlord and min3 are suggesting sounds pretty good to me...
User avatar
zwzsg
Kernel Panic Co-Developer
Posts: 7052
Joined: 16 Nov 2004, 13:08

Post by zwzsg »

Hope it's not a too old topic.

In the old Total Annihilation there was a FBI tag. MaxSlope was its name. The higher the value the steeper the maximum slope the building could be built on. This tag is not supported by Spring now.

Maybe they developpers thought MaxSlope was only for moving units and forgot it applies to immobile structures too?
SJ
Posts: 618
Joined: 13 Aug 2004, 17:13

Post by SJ »

Its used in spring also although it might not match exactly how it was used in TA

Code: Select all

	sunparser.GetDef(ud.maxSlope, "0", "UNITINFO\\MaxSlope");
	ud.maxHeightDif=40*tan(ud.maxSlope*(PI/180));
where maxheightdif is the max difference between highest and lowest point for the building.
User avatar
Buggi
Posts: 875
Joined: 29 Apr 2005, 07:46

Post by Buggi »

I think you should have the ability to raise/lower/level terrain. And it should cost energy to do so.

This way you could put up a dirt mound around parts of your base, or add height to defense structures.

Blah blah blah...

-Buggi
User avatar
Caydr
Omnidouche
Posts: 7179
Joined: 16 Oct 2004, 19:40

Post by Caydr »

How about this. You can build on steeper slopes than they are now, but to a limit of 40 or so, where nothing can be built. Imagine this, k? You click on the kbot lab in your build menu. You move your cursor over to the main screen, and the outline appears as normal. At one corner of the outline, a number is displayed, in the format "X.XX". Underneath that, the cost for the kbot lab is displayed.

As you drag the outline across the landscape, searching for a suitable location, the factor changes. On perfectly flat slopes of land, it says:

1.00
1000 metal
2000 energy
5000 build time

As you move your cursor to more rugged terrain, the factor increases.

1.55
1550 metal
3100 energy
7750 build time

The factor and costs are displayed in realtime, changing depending on the slope. At the maximum slope for any structure, 40 or so, it is 5.00 (or whatever) and the costs are increased massively, prohibiting development here until much later in the game, if you decide to build here at all.

I realize the values need tinkering, this is all hypothetical.

Think about this seriously, it would fix all the problems.
User avatar
Min3mat
Posts: 3455
Joined: 17 Nov 2004, 20:19

Post by Min3mat »

fix ALL the PROBLEMS? what problems??? if the map maker designed it so you could build there BUILD THERE. if someone deforms it RESTORE IT. there are no PROBLEMS? what problems?????? :x :?
Metaltrash
Posts: 35
Joined: 25 May 2005, 20:04

Post by Metaltrash »

Well making it a bit more tollerant, ok.

But everything like terra forming hills or making earth walls, falls under the category mod.

I think the aktuel question is:
- leave it and mapmakers have to watch out better
- more tolerant, easyer live for mapmakers, but might go in the rong way

ps: to all you, in the far future thinkers, why are the fighting on planets and not around them... why do they have to build up bases and not just send nukes... because of game play
User avatar
Neuralize
Posts: 876
Joined: 17 Aug 2004, 23:15

Post by Neuralize »

Caydr wrote:
Think about this seriously, it would fix all the problems.
Except, all terrain is leveled before construction, so the extra cost of the building and the build time would have to happen during the leveling phase and not when the building occurs, and you could easily exploit this by flatting a patch of land while pretending to build a really cheap building, cancel construction upon the leveling of the land, and then build a big bertha or an annihilator.

Which means if any of this business is going to happen it should happen as Buggi has described;
Buggi wrote: I think you should have the ability to raise/lower/level terrain. And it should cost energy to do so.

This way you could put up a dirt mound around parts of your base, or add height to defense structures.
Although, the ability to terraform without cost would add an interesting new facet of micromanagement.
User avatar
Caydr
Omnidouche
Posts: 7179
Joined: 16 Oct 2004, 19:40

Post by Caydr »

Yes, it would have to be changed so that terrain is levelled during construction.
User avatar
Buggi
Posts: 875
Joined: 29 Apr 2005, 07:46

Post by Buggi »

wohoo!

Neuralize actually agrees with me :D
Durandal
Posts: 126
Joined: 05 May 2005, 16:27

Post by Durandal »

Speed's a thing to consider - not just the amount of terraforming to be done, but also the unit doing it. A techlvl1 conbot shouldn't be able to do it anywhere near as fast as the Commander. I guess that kinda goes witout saying, though.

I'm all for Buggi's suggestion: implement the ability to terraform terrain outside of building, so that using the terrain becomes more important.
User avatar
zwzsg
Kernel Panic Co-Developer
Posts: 7052
Joined: 16 Nov 2004, 13:08

Post by zwzsg »

I tried a building with a MaxSlope=10;. Then I modifed it to MaxSlope=200;. In Spring the red and orange square when trying to place the building were taking exactly the same shape.

If I understand well, for a MaxSlope=10; I can build on as long as the height variation stay under 7, and for a MaxSlope=200; as long as the height difference stay under 200.

And MaxSlope=190; would give exactly the same result as MaxSlope=10;. Which is really counter intuitive.

(Or maybe the unit I tried with had first 20 then 200, which would why explain the result was exactly identical).

Tangent has a period of 180°, and you seem to think of maxslope as a value in degree.

Why do you have to do the tangent thing? Which can't it just be :
sunparser.GetDef(ud.maxSlope, "0", "UNITINFO\\MaxSlope");
ud.maxHeightDif=ud.maxSlope;

So MaxSlope would directly be the max height difference?
SJ
Posts: 618
Joined: 13 Aug 2004, 17:13

Post by SJ »

It seemed most probably that the old one was in degrees but im not sure. Using a bit of trig you cacn calculate any value you want using this system also. (89 should give a nearly unlimited build possibilty)
User avatar
zwzsg
Kernel Panic Co-Developer
Posts: 7052
Joined: 16 Nov 2004, 13:08

Post by zwzsg »

I don't think the old one was in degree. It was most probably directly the max height difference, from 0 to 255. In TA a building with MaxSlope=200; can be built over peaks.

Using degree isn't very good because then a 50cm deep trench with vertical sides would be less buildable than a 100meter deep chasm with gentler slopes.

\/\/\/\/\/ shouldn't be as unbuildeable as:

Code: Select all

\
 \
  \
   \
    \
     \
      \
So I'd like MaxSlope to be the maximum height difference, not the maximum average angle.
User avatar
Weaver
Posts: 644
Joined: 07 Jul 2005, 21:15

Post by Weaver »

zwzsg wrote:So I'd like MaxSlope to be the maximum height difference, not the maximum average angle.
This definately how it should be.

Is any special smoothing or checking done at the edges of the footprint to prevent you from building a factory with an impassable exit. You might say this should be upto the player, but it would be more helpful to the AI if it was built in.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

The interface has a canbuiltat() function, in TAI it checks the given location, but it also makes sure that it can build in each of the surrounding adjacent sectors so it isnt a problem.
mongus
Posts: 1463
Joined: 15 Apr 2005, 18:52

Post by mongus »

how bout "built in" gateway shipped with the labs? :wink:
Post Reply

Return to “General Discussion”