HexFarm - Now with destroyables bridges - Page 3

HexFarm - Now with destroyables bridges

All map release threads should be posted here

Moderator: Moderators

User avatar
PicassoCT
Journeywar Developer & Mapper
Posts: 9897
Joined: 24 Jan 2006, 21:12

Re: HexFarm - Lua map with randomised layout

Post by PicassoCT » 11 Feb 2012, 12:44

HexEditor? HexaGoons!

Srsly, that was a joke. Dont do it. Z is having regrets for adding skins at this very moment.
0 x

User avatar
zwzsg
Kernel Panic Co-Developer
Posts: 7001
Joined: 16 Nov 2004, 13:08

Re: HexFarm - Lua map with randomised layout

Post by zwzsg » 11 Feb 2012, 13:34

The initial subtitle was: "Fight for the control of the exaflop server farm!"

The big towers were supposed to be some sort of V.R. representation of huge towering servers in the cyberspace. I added farm because there' more than one and server farm sounds more impressing than farm, and I added hexa, not only because the tower are hexagonal prism but also because hex is reminiscent of hard core computering. Then I removed server, because that's a lousy word, and tried to hook a wordplay with exa which means 10^18 to give the idea of much power.

At some point I wanted to make a ShroomFarm map, where the battlefield would have been circular shroomtops linked by spiderwebs.
0 x

User avatar
zwzsg
Kernel Panic Co-Developer
Posts: 7001
Joined: 16 Nov 2004, 13:08

Re: HexFarm - Now with destroyables bridges

Post by zwzsg » 22 Aug 2012, 22:12

Update!

Download at : http://springfiles.com/spring/spring-maps/hexfarm5

New version 5 is up, version 4 is deprecated (and plain removed from SpringFiles). I rewrote the algorithm that create the map, making it much faster. That allowed me to increase the map size, so that it is more suitable to *A mods, for which previous version was a bit cramped. But this faster code also allows me to create and destroy towers and bridges mid-game without hiccuping the game.

So I added a little animation of towers rising out of darkness and bridges deploying. By default now when you start the map, it is unexplored. Send any unit to a tower, and nearby towers and bridges will appear. Set the new Exploration mapoption to 0 to revert to map fully explored at start. Otherwise the numeric value is how long the animation takes. Negative Exploration value also disable towers'n'bridges popping up as you move around, but instead of having them all from start like with zero, you have none, they have to be "constructed".

I added code to destroy bridges. And towers. And rebuild them. By default, the map code watches every explosion, and every construction step. If that cause performance issues or whatever, you can also use a simpler detection method that triggers on unit destroyed, unit created. Did I say created? I meant finished. The mapoption values for Construction and Destruction are expressed as a multiple of the median unit hitpoint and buildtime. Median, not mean! So for exemple, a Construction value of 50 means you must do an amount of damage equivalent to fifty times the median unit health to destroy a bridge or tower. If you don't like that nice auto mod-ajusting method and insist on using raw hitpoints / buildpoints, then put negative value in the Construction / Destruction mapoptions.

If a tower gets destroyed, all bridges connected to it get destroyed to. Bridges however can be destroyed without affecting connected towers. Both bridges and tower have the same health. I might change that later, since tower looks more sturdy and take down bridges with them, I guess they should have more hitpoints. The animation for destruction is the same as the animation for apparition, just played in reverse and faster. And there is no visible indicator of how much damage a bridge/tower has taken. I eventually want to try using textures with careful drawn alpha channel and have the map code set an alpha threshold proportionnal to health, so as to show a progressive deterioration of bridges/towers, with cracks and holes appearing and growing, but haven't yet. I suppose it would be prettier if I spawned explosions when a bridge or tower goes down, but don't know how to do that without being mod specific or adding yet more crash-prone code.

Since air-only endgame on island dotted map isn't that fun, I also made it possible to rebuild the towers and bridges. Any constructor or factory building anything contributes to rebuilding bridges and towers nearby. So do NOT use the ground restore button. Instead have a lab churning kbots, or cons placing walls, whatever. Because of the void that eat, construction doesn't have to happen on the spot, but can happen on adjacent towers. Once specific amount of construction has been done, then tower rise again, and the one bridge too. Build again on that new tower to get the other bridges. Animation for reconstruction is same as for exploration.


So, default is:
- Map start with no tower except on start positions.
- Exploring make towers/bridges rise for free
- They can be destroyed by explosion (or killing units if alternate method chosen)
- They can be rebuilt by having construction happening nearby

If you want the map to start fully explored, but still be destroyable/rebuidable :
- Set Exploration to zero
- Keep Construction and Destruction

If you want the towers / bridges to have to be build from the start instead of first ones being free:
- Set Exploration to negative
- Keep Construction and Destruction

If you want none of that nonsense and get back to V4-like non-changing map:
- Set Exploration, Construction and Destruction to zero

.. and other combinations.

Unlike all the other hexfarm mapoptions, none the mapoptions in the Dynamic group are ever randomised. Neither by the randomize all tick-box nor by being set to zero.



Also I want to mention there's a pretty new skin by KaiserJ.


Image
0 x

BaNa
Posts: 1561
Joined: 09 Sep 2007, 21:05

Re: HexFarm - Now with destroyables bridges

Post by BaNa » 22 Aug 2012, 22:19

WHY IS THIS NOT DEFAULT MAP ON FFA?

You Sir, are wonderful.
0 x

User avatar
PicassoCT
Journeywar Developer & Mapper
Posts: 9897
Joined: 24 Jan 2006, 21:12

Re: HexFarm - Now with destroyables bridges

Post by PicassoCT » 22 Aug 2012, 23:06

Silencing the critics i see.. well its a tough one. But im happy. Nothing to request anymore. Perfection has been archieved.


So im going to buid a little cottage on the cliffs and ... oh, that plan aint that save anymore..
0 x

User avatar
FLOZi
MC: Legacy & Spring 1944 Developer
Posts: 6052
Joined: 29 Apr 2005, 01:14

Re: HexFarm - Now with destroyables bridges

Post by FLOZi » 22 Aug 2012, 23:13

zwzsg continues to out deify himself :-)
0 x

User avatar
zwzsg
Kernel Panic Co-Developer
Posts: 7001
Joined: 16 Nov 2004, 13:08

Re: HexFarm - Now with destroyables bridges

Post by zwzsg » 22 Aug 2012, 23:42

The destructible parts had to be done because it was doable, but I'm not sure it's that fun when it happens in a real game. And by the way, I could use some help finding good defaults, and good random ranges, for all the map options.
0 x

User avatar
smoth
Posts: 22271
Joined: 13 Jan 2005, 00:46

Re: HexFarm - Now with destroyables bridges

Post by smoth » 23 Aug 2012, 04:43

z being awesome as always
0 x

User avatar
azaremoth
Cursed Developer
Posts: 530
Joined: 17 Feb 2005, 22:05

Re: HexFarm - Now with destroyables bridges

Post by azaremoth » 23 Aug 2012, 21:06

More than that! Totalement incroyable!
0 x

User avatar
scifi
Posts: 848
Joined: 10 May 2009, 12:27

Re: HexFarm - Now with destroyables bridges

Post by scifi » 24 Aug 2012, 01:31

stunned shaken binded rooted slowed knocked .

Pretty awesome sauce D:
0 x

User avatar
rattle
Damned Developer
Posts: 8278
Joined: 01 Jun 2006, 13:15

Re: HexFarm - Now with destroyables bridges

Post by rattle » 27 Aug 2012, 21:03

is it possible to swap the hex meshes? big ass trees or big ass mushrooms, kinda like gullivers travels to the land of the giants! and organic bridges!
0 x

BaNa
Posts: 1561
Joined: 09 Sep 2007, 21:05

Re: HexFarm - Now with destroyables bridges

Post by BaNa » 27 Aug 2012, 22:46

Here is a demo of an ffa game being played, everyone was new to the map and some people were pissed off about this and that. (dgunning in a manner where the dgun bullet hits ground where your com is will kill the column you are standing on)
Attachments
20120822_234919_Hex Farm 5_89.sdf
(1.3 MiB) Downloaded 40 times
0 x

User avatar
zwzsg
Kernel Panic Co-Developer
Posts: 7001
Joined: 16 Nov 2004, 13:08

Re: HexFarm - Now with destroyables bridges

Post by zwzsg » 28 Aug 2012, 02:01

I forgot about the D-Gun! :lol:

I suppose I would also feel quite a bang in the chest if the floor gave way beneath my comm just as I dgunned the first weasel.

Would you say I need to implement some sort of exception for the commander, or the d-gun weapon?
0 x

BaNa
Posts: 1561
Joined: 09 Sep 2007, 21:05

Re: HexFarm - Now with destroyables bridges

Post by BaNa » 28 Aug 2012, 09:43

zwzsg wrote:I forgot about the D-Gun! :lol:

I suppose I would also feel quite a bang in the chest if the floor gave way beneath my comm just as I dgunned the first weasel.

Would you say I need to implement some sort of exception for the commander, or the d-gun weapon?
If you could do that it would be fantastic!

Oh and btw rattle, look back in the thread, there are alternative skins for the hexes and you can make new ones too!
0 x

User avatar
zwzsg
Kernel Panic Co-Developer
Posts: 7001
Joined: 16 Nov 2004, 13:08

Re: HexFarm - Now with destroyables bridges

Post by zwzsg » 28 Aug 2012, 18:58

But after watching that replay, I noticed you made a good use of tactically dgunning bridges, so it's not entirely bad.


<[teh]Setti> uhh
<[teh]Setti> mexsnap totally fucks this up
Yes. Blame mexsnap! The people who coded mexsnap are aware their widget fails on anything else than the small far apart metal spots scheme. And they don't care!


<ScroogeMcDuck> is there a secret to make mexs work?
<ScroogeMcDuck> they dont give me metal i mean
This isn't exactly a metal map. The extraction radius is roughly as large as a tower, so you can have only one mexx per tower. More or less, because tower size is variable. If you can't see it from the extraction radius when placing mexx, you should at least have noticed only one mexxes out of the four spinned. Oh and loosely related, bridges have only 25% of the metal concentration of towers, and void 0%.


<[WW]_Botman> why the hell is everything building so slow
Don't build on the sloped ramps or near edge. I needed the map to be deformable by Lua but not by explosions, so I made it very hard but not indeformable. Sadly that means that flattening the ground before building takes forever. Maybe this could be fixed mod-side by having the preload stage disable the flatten-before-build tag if map is too hard. Also, in map options, if you put 0 as slope, it picks a random slope, but if you put 1, then it uses a 0 slope. So use 1 so that the bridge are not sloped and can be built upon without flattening.


[[ACE]Krapoo (replay)] I ve put my com in a air transport to avoid falling, but seems he died anyway ?
Ohhh, good catch. This is indeed a bug in my code. I shouldn't destroy transported units.


<ScroogeMcDuck> are units falling cause of bad pathing?
Yes, this happens. I added some special code to push back units that fell, as long as they're not too far. It relieves a bit the issue, but doesn't totally cure it. It is just Spring pathfinding in general that has no qualm sending units in impassable areas. It happens in other maps too. Except other maps don't have that many cliffs, and other maps don't kill units stuck in impassable areas.


<[WW]_Botman> Pathing is total fail... My com will never be found yet he is alive LOL
[Oceansize] u need nukle to win, com is borrow in some place due tu f&il pathing
Indeed comm was inside a tower, deep below ground. I'm not quite sure how it happened. But surely comm will die if tower die.


<[teh]Setti> Allies: I was standing on a pilar
<[teh]Setti> Allies: not a bridge
<[teh]BaNa> Allies: those die too
<[teh]Setti> Allies: they didnt earlier :S
I can make pillars more resistant than bridges. I could even make pillar invulnerable. Though there are already too many map options, so I tried to avoid adding more to differentiate bridge and pillar hitpoints.


[integral] why they fall?
[ACE]Krapoo added point: random? weight? damage ?
It's damage. More precisely, it's the sum of the damage of all the explosion that took place on the area. At least by default, as there is a map option to make it count sum of unit destroyed maxhp instead.

I'd say the problem is the lack of feedback. There's no way to tell if a pillar is on the brim of collapse, or still good to go. I'd like to edit the GroundInfo's type, to have for exemple: "Bridge 15%" in the tooltip, but I'm not sure how's best. Adding hundreds of ground type to have one for each health doesn't sound very sane. I'd lean toward intercepting and replacing the string sent by Spring.GetGroundInfo, but it would have to go the whole trip synced gadget -> unsynced gadget -> widget, and potentially with lots of datan abd often, so I'd really have to think how to optimise it right.

Much more visual would be to have the texture change to show widening cracks, but this has two problem. First I'd have to draw the widening cracks on all the texture alphas, which would be quite some work, and secondly, this would make it harder to cache non-changing towers/bridges: I cannot redraw everything every frame, because that takes way too long and the FPS suffer very badly, as can be seen when you set explore positive and choose before start start positions. So I put in display lists the towers/bridges that aren't changing, so they display fast, and only recalculate how to draw those that appear/disappear. But if every bridge/tower is changed by every shot, that's potentially a lot more to redraw a lot more often. So I'd have to rethink my optimising strategy.





Lastly, don't forget you don't have to play with the destructible option enabled!
0 x

User avatar
knorke
Posts: 7971
Joined: 22 Feb 2006, 01:02

Re: HexFarm - Now with destroyables bridges

Post by knorke » 30 Aug 2012, 12:44

Much more visual would be to have the texture change to show widening cracks, but this has two problem. First I'd have to draw the widening cracks on all the texture alphas, which would be quite some work, and secondly, this would make it harder to cache non-changing towers/bridges: I cannot redraw everything every frame, because that takes way too long and the FPS suffer very badly
If you always draw the cracks-texture, but with decreasing transparency, would it still kill fps?
Or how about just a (2d?) healthbar, surely that can not need more fps than the healthbars for some extra units?

Or maybe damage smoke/fire via cegs?
0 x

User avatar
zwzsg
Kernel Panic Co-Developer
Posts: 7001
Joined: 16 Nov 2004, 13:08

Re: HexFarm - Now with destroyables bridges

Post by zwzsg » 04 Sep 2012, 17:30

knorke wrote:If you always draw the cracks-texture, but with decreasing transparency, would it still kill fps?
Caching the geometry and setting only the transparency for each tower/bridge would probably be ok. Your other suggestions are good too.


BaNa wrote:Oh and btw rattle, look back in the thread, there are alternative skins for the hexes and you can make new ones too!
You can easily make and use new textures. Read first post for how-to.

But new geometry would require the code to be changed. So unless your mushrooms are shaped precisely like hexagonal prism...

A sliver of hope remains however... (last sentence)
0 x

User avatar
Beherith
Moderator
Posts: 4925
Joined: 26 Oct 2007, 16:21

Re: HexFarm - Now with destroyables bridges

Post by Beherith » 04 Sep 2012, 22:13

ZW, could you please suggest me a good set of mapoptions that would allow hexfarm to be played at around 8-16 people FFA for BA?
0 x

User avatar
zwzsg
Kernel Panic Co-Developer
Posts: 7001
Joined: 16 Nov 2004, 13:08

Re: HexFarm - Now with destroyables bridges

Post by zwzsg » 05 Sep 2012, 01:13

TL;DR : Third and last

Code: Select all

 box.



Well,

[list][*]Disable Creation and Destruction (by setting them to 0), because it's currently not very intuitive.


[*]Exploration can stay, it's just eye candy. Unless you feel that surprise early raiding is important, in which case set exploration to 0 too.


[*]If you want to control the other modoptions, you have to untick "Force All to random".


[*]Since BA typically plays on larger map than KP, increase the play area. Use 100% instead of 25%.


[*]Tower radius has to be increased, because in BA you need room to build bases. I don't know how much exactly, let's say 500.


[*]Bridge is best set at same value as tower radius. So 500 too. Or a maybe just a tad smaller for looks, like 450. But definitively use wide bridges or the map gets too chokey.


[*]Bridge length, meh, I dunno. Let's say 600 so you feel the gap between towers.


[*]Bridge slope, mmh, have it set at 1. Cause 1 gets rounded to 0, and flat ramps will remove a least partially the bug about building structure taking forever to flatten ground. Don't use zero, 0 would be random.


[*]Orientation, put it at 0 for some randomness.


[*]Frontier, I'd say use Hexagonal. Or maybe Circular. They're close anyway. Other shapes are for other rosters than 8+ FFA.


[*]Center, really doesn't matter, so use Dice Roll.


[*]Bridge density, I'd say T:75% B:50%, because "Full" is so crowdy it's hard on the eyes.


[*]Skin: Auto. It will autodetect the game is BA, and will pick preferably the indus skin, but sometimes other skins, excluding the digital one.


[*]Color: Fixed Color. Team colored is a bit too special.


[*]Vents: Geo have to be rare in BA, so let's use one sixth.


[*]Total Metal : How much metal is best for a TA game is really a debatable issue. The vocal elite will ask for low metal, the mass of silent newbies will want lots of metal. I would say put zero, which make it use the magic formula: Total Metal = 30 + 6 x PlayerCount. [url=http://springrts.com/phpbb/viewtopic.php?f=13&t=27437]There's sound reasoning behind it[/url].


[*]This is not a map option, but start positions need to be set to random. Fixed would attempt to maximise distance between players, thus making some start on the outter edge and others in more central positions, and that would not be fair.[/list]

This give us:
[code]
	startpostype=1;
	[mapoptions]
	{
		hexfarm_force_random=0;
		hexfarm_area=100;
		hexfarm_bridge_length=600;
		hexfarm_bridge_slope=1;
		hexfarm_bridge_width=450;
		hexfarm_construction=0;
		hexfarm_destruction=0;
		hexfarm_exploration=0;
		hexfarm_metal=0;
		hexfarm_orientation=0;
		hexfarm_tower_radius=500;
		hexfarm_boundary=2;
		hexfarm_center=0;
		hexfarm_color=1;
		hexfarm_density=1;
		hexfarm_skin=0;
		hexfarm_stepmeth=1;
		hexfarm_vents=6;
	}
Which I just tried and it gave :

Image

Which is about okay for 8 players, but not for 16. (Edit: Nvm, it is). The number of towers need to be increased. Which is done by decreasing the radius of tower and length of bridges (and by ricochet bridge width, as bridge width should not be higher than tower radius). Anyway, long bridges aren't that good because it makes the map play too much like isolated islands.


So instead use:

Code: Select all

	startpostype=1;
	[mapoptions]
	{
		hexfarm_force_random=0;
		hexfarm_area=100;
		hexfarm_bridge_length=200;
		hexfarm_bridge_slope=1;
		hexfarm_bridge_width=370;
		hexfarm_construction=0;
		hexfarm_destruction=0;
		hexfarm_exploration=0;
		hexfarm_metal=0;
		hexfarm_orientation=0;
		hexfarm_tower_radius=400;
		hexfarm_boundary=1;
		hexfarm_center=0;
		hexfarm_color=1;
		hexfarm_density=1;
		hexfarm_skin=0;
		hexfarm_stepmeth=1;
		hexfarm_vents=6;
	}
This gives:

Image

Much better for 16 players!




But always same layout is boring! The minimum random tower radius is 192, which actually is large enough to lay plenty structures in BA, so you could leave tower radius random, with bridge size & length random (or rather derived from it) as well. Annoyingly narrow bridges could happen (minimum: 64), but they're rare because I skewed the randomness of bridge width toward large values (max: tower radius).

So, for more varied layout, it's still safe to use:

Code: Select all

	startpostype=1;
	[mapoptions]
	{
		hexfarm_force_random=0;
		hexfarm_area=100;
		hexfarm_bridge_length=0;
		hexfarm_bridge_slope=1;
		hexfarm_bridge_width=0;
		hexfarm_construction=0;
		hexfarm_destruction=0;
		hexfarm_exploration=10;
		hexfarm_metal=0;
		hexfarm_orientation=0;
		hexfarm_tower_radius=0;
		hexfarm_boundary=1;
		hexfarm_center=0;
		hexfarm_color=1;
		hexfarm_density=1;
		hexfarm_skin=0;
		hexfarm_stepmeth=1;
		hexfarm_vents=6;
	}
It will go from : .............. to :
Image Image
So both extreme look like nice 16 FFA maps.

Here is a close up of the second one, so you see even many tiny towers like that are playable:
Image


As you can see from my changes of mind within that post, I can give guidelines but not a complete set of immutable values. Also, I don't play BA, so I know much less than you how it should play. So find the best values yourself, or with help from other BA players, and then you tell me what are good ones!
0 x

User avatar
PicassoCT
Journeywar Developer & Mapper
Posts: 9897
Joined: 24 Jan 2006, 21:12

Re: HexFarm - Now with destroyables bridges

Post by PicassoCT » 20 Sep 2012, 19:45

Do you still take good skins for that map?

Also, how about a pointmap, so players can design there own layouts. I mean.. random is nice, random is well, but maybee people will host it more if they have the ability to push some work (dot here, dot there, dotaaaah) of theire own into it.

Image
Attachments
hexfarmbadsd.jpg
(35.09 KiB) Downloaded 3 times
0 x

Post Reply

Return to “Map Releases”