For the moment I have only made one map (i.e. mission 1) which is a proof of concept for the general design that the rest of the maps would have.
Due to this, the map is pretty much in alpha states and a lot of balance and polishing changes should be made. However, currently I don't have much time to play, so it is pretty difficult for me to test it properly right now. Furthermore, I cannot play any coop games for the moment and I have no actual idea of how the map behaves in a coop session. So, the whole point of this is that any criticism, in any shape or form, is really welcome!
The main concepts this map is built upon are:
- Random minion placement. Not only the kind and number of weak enemies will change in each session, but also the actual placement and their behaviour (aggressive or ambush). This is made via "jumping random spawners" (if this has been done before and is called in a different way please tell me). This spawners perform a certain sampling of the map (similarly to a brownian motion) before actually spawning anything. This method is only used with weak monsters for balance purposes, but this could be potentially used with anything. Also there are two different jumping random spawners defined, one for indoors placement and one for outdoors. Right now these jumping spawners can spawn different kinds of groups with different behaviours:
Single trooper (aggressive or ambush): one zombieman.
Patrol (aggressive or ambush): two zombiemen.
Squad (aggressive or ambush): one sergeant, two zombiemen and a chaingunner.
Skirmiser demons (always aggressive): a random number of imps and/or demons.
- Customizable difficulty. The original idea was to define the jumping random spawners arguments via server cvars (in fact I left the cvarinfo.txt there in case it end up working), but I have no idea of how to pass those cvars to the decorate script. Until I find out how to do so, difficulty can be customized by editing the decorate.txt file in the monster spawners .pk7 file. The idea is to be able to customize difficulty for coop missions with varying number of players without having to edit the map itself. Apart from this, the spawn non-minion monsters is regulated via the regular skill option.
- Making long range engagements and CQB are equally relevant. I tried to make the map as big as I could but this has led to a couple of interesting problems.
First of all, I had rendering issues with really wide landscapes, so I assume there is a render distance limit built in in the engine (correct me if I'm wrong because I really don't know). I solved this by convoluting the shape of the map so the player could never reach a line of sight long enough to reproduce this issue.
When the general structure of the map was done and I started messing with the spawners I observed an unexpected (for me, obviously) behavior of the AI. It seems that AI has a radius in which it can detect an obstacle blocking its sight. This implies that, when an enemy is too far from any obstacle, it will not detect any obstacles at all and will start shooting, hitting a wall it cannot see. The only solution I was able to find was to significantly reduce de size of the map and take care that there was no areas with wide clear sights (that's the reason of the S shape of the roads in the map).
- Make multiple paths available. The map is designed so that it can be beaten in following different paths depending on player preferences.
Download Mission 1 v1.1:
https://drive.google.com/open?id=0B1hk7 ... GRCUWZFMTA
Spoiler:Download custom classes for a more militaristic approach (OPTIONAL):
https://drive.google.com/open?id=0B1hk7 ... V9SLW9ZNVU
Hideous Destructor Addons:
- Create several difficulty files to choose from.
- Improve my bonus replacement addon uppon which the loot distribution is made in the map.
- Test if it actually works in coop.
- Polish the jumping spawners.
- Make more complex spawners and cover a wider range of monsters.
- Learn how to pass cvars values to decorate scripts.
- If this concept works, make more maps.
Mission objectives and map (can be reached in game via F1 help screen):
- Testing: I would really appreciate any feedback of both sp and coop!
- English: I am obviously not a native speaker, so if anyone can check at least the mission objective text it would be great.