Maybe you could do something like an in-depth look at one of the early levels of the game, how the enemy patterns and level layout were designed, and how the level is intended to flow when playing through it.
That's a good idea, let's see if I can write something semi coherent about it.
First, from top level view the game is made of "main quests" (traversed in linear order), then there are some optional fun as "challenge quests" and then boss battles. The main quests are what you spend most of your time in. The game is intended to be a very arcade type of experience, something that has the depth in the gameplay and not in loot, stats etc. My main goal was to make game fast, organic, a kind of controlled chaos simulator. Something that makes you play fast, but not be stupid at the same time. That's what I've tried to reflect in the level desing too.
TOP DOWN VIEWWhat I want from a main quest is that it has to offer something new. A new enemy, a new building, a new gameplay mechanic or whatever, just avoid becoming grindy in a way that it repeats itself.
A main quest is made of three levels, of which I usually use random generation for two and a hand design the last one. (there are of course exceptions) One level is completed by killing all the "captains" in the level, these are units that have their own health bar visible. After you do that, you are teleported to the next level through a portal.
About the level goal
At an early stage I had it so you had to clear the whole level, but that was just boring and if you get somebody just idling behind a tree or something really annoying to find. Just killing the captains gives you a nice strategy option too, that you can choose based on your situation if you want to risk it and lunge at the last captain or clear others first or what.
A problem with that is that a lot of people just want to go around and hoard loot and check every corner of the level, so early on in the game, they find it annoying that the level ends when there's still some space to search. So to help with this I try to not have any super valuable items or hidden things in the level so it doesn't feel like you need do that to make it. But it's a problem because it's different from most other games which reward you for going to every corner.
I also tried that once you kill the captains, a portal opens and you can just go into it whenever you like, but that also encouraged people to just walk around the level into every corner, and I don't want that at all. I want them to charge into battle for fun, not walk around getting bored. So now the portal automatically sucks you in after N seconds.
GROUND LEVEL VIEWIn many games I find the designed "pulling of mobs" poor gameplay, i.e. you go one by one and then try to aggro one monster, back away and kill it and repeat. That makes the game feel really artificial, in that you're trying to game the computer not the gameplay. So, when designing one main theme has been "escalation" (controlled chaos). What I want is for the player to get into these sticky situations that escalate out of his control in a way, but still that it's clear why everything happened the way it happened. As this happens, the player has to prioritize what to take down next before things get completely out of hand.
Examples of things I do to faciliate it
- When aggroing one enemy, it wakes up the whole "army", i.e. units that are designated to be grouped together (in random generation, one army is one sub-map (see later), in hand made maps, I can create the armies manually).
- Then when placing these armies, the distance they are form each other is such that there's always a danger of you naturally waking up the next army
- Archers, naturally pull the player along further
- Static buildings (spawners / gun turrets), static things that are a danger and you have to go further into the level to take care
- Different enemy movement patterns in general, on moves away from you, one teleports around, one goes fast past you and etc.
- "Escaper", small enemy that gives you a good loot price + weapon, but runs away fast so if you want it, you have to charge into the enemies
Of course I gradually introduce more and more of these mechanics as the game progresses, the first levels just try introduce everything easily and by the second world I start bringing more and more new enemy mechanics etc. into it.
VIEW INTO LEVEL EDITORHere's how I edit the levels, this is the third quest of the whole game, still something that's supposed to be really easy.
Quest setup: here's what's in one quest. Three levels, each showing some stats about it (number of enemy groups, captains...) The first level introduces the concept of spawners for the first time, the second brings in dogs and so on.
One random level is comprised of N hand designed sub-maps (drawn in Tiled). Here I configure what sub-maps I want in the selected level (2x "Spawners: graveyard" and 1x "Fight: graveyard"). Each submap also has generic enemy and spawner placements, and here's where I configure how many and which enemies and spawners I want placed there (all enemies are placed by group, tier_1_skellington_melee is for example is a group of 16 basic skeleton enemies)
There's also a separate thing I use to configure if it has random elements like healing fountain, or the "escaper" placed into it etc.
This is where I select which generator I want to use to generate the overall level layout, here I've selected the "maze" generator. I've configured it to do 2x3 cells (one cell is 12x12 tiles) and that I want a lake in it + add 2 breakable gates into the path.
And here's what's generated from those parameters. You can see the lake, the spawners, captain, skeleton groups etc. For some reason it generated only one gate this time (not sure why!
) (the player is a bit out of view on the top right) Another thing I do is when I random generate the levels, I try to place captains far away from the player, so the player organically goes through most of the level before completing, so there's one captain placed at the far left (beyond the screen) so the player naturally traverses the whole path. (the levels obviously grow much more complicated than this, but the same principle applies)
Then the last level in that quest is fully desinged in Tiled editor, it looks like this in raw view. Red areas are generic enemy placement sections. The purple areas surrounding them are grouping them in to "armies" (or aggro groups, whatever) Then there's one hand placed enemy (yellow captain). That's because I want the player to have to fight its way into the center core of that "fortress". Otherwise if random generation was favourable, it could put the captains as the first enemies after the gate and you could just pull them away and never have to deal with the real "level problem".
Well that's about it. Lot's of rambling, but I hope it was interesting. All this has kind of just evolved into what it is as I've gone along and is not optimal in anyway, but good enough I guess that I've managed to build this game with it!