deferred-impact / battledudes-issue-tracker

Because discord just isn't good enough. Neither is Taiga.io, ironically
5 stars 1 forks source link

Map idea: Cave Crawlers #178

Open deferred-impact opened 1 year ago

deferred-impact commented 1 year ago

A rather unique map idea came to my mind yesterday. We fill the map with concrete walls, similar to those which can be found in Heist vault and in the Islands bunkers. (I.e. the gray walls that take up the entire square.) We then carve in a bit of a rugged cave, and spawn players on opposite sides of it.

The uniqueness of the map comes from the claustrophobic feel of it, as well as from the fact that, with sufficient explosives, one can literally dig their own path. This is inherently interesting, fun, and offers strategic opportunities and depth that no other map offers.

If i were in charge i would definitely make the layout procedural, ensuring the cave changes every couple of hours. But, this is not a requirement. With only a single predefined path, having procedural variation in this path is not extremely necessary. So even as a manually designed map, this could very well work.

One concern that does need to be brought up is the network load. I am not sure how battledudes synchronizes wall states. In theory, with TCP as the protocol, the network load should not be a big issue... but it is possible that the game simply cannot handle such a heavy map.

image

Haox09 commented 1 year ago

I'm guessing the newly made explosive tunnels won't show up on map? People be seeing enemy inside walls.

deferred-impact commented 1 year ago

I guess they wouldn't. Well, consider it a fun quirk of the map, then. You gotta remember the layout yourself :blush:

deferred-impact commented 1 year ago

The dev explained that the total allowed amount of "props" is about 2000. That is only around 45x45 map size... far from ideal.

Rocks would probably be a better option, then. Perhaps scaled up (and redrawn so the sprite doesn't look blurry). Less precision as to how the tunnels will look, but still preserving the digging aspect.

Or, y'know, optimize the netcode to support more props.

deferred-impact commented 1 year ago

To address the issue of a completely empty map (doesn't make much sense if we're in a cave): cave-ins.

Every server tick:
  arbitraryPoint = Pick a random spot on the map
  rocksPresent = Check if there are any rocks < 10 meters from the arbitraryPoint
  If not rocksPresent:
    caveInSpot = Pick a random spot < 9 meters from arbitraryPoint
    Spawn a frag grenade explosion at caveInSpot (potentially killing players)
    Spawn a smoke emitter at caveInSpot, that lasts for 0.5 seconds
    Spawn a rock at caveInSpot (or maybe even multiple)
  That's all.
That's all.