Steep Difficulty Curves

If the difficulty is poorly tuned, the game can become either impossible or boring.

~Pascal Luban

Today I’ve been designing and building the cave sections of level two, which I’m planning on having two of in each stage. In level one, the caves were the level’s “mini dungeons” and contained many more strategically placed obstacles than the rest of the level, which in turn made the caves more difficult than other areas. I made sure that the level could be finished without actually having to enter a cave, although if a player wishes to collect all thirty blossoms in the level then they would have to! In level two I’ve made sure that the caves must be entered, by placing the end of the level at the exit of one of the caves.

The player finds the first cave fairly close to the beginning of the level, if they choose to move downwards where the path forks. You enter the cave here:

And exit the cave to here, which is a dead end unless the player has collected the 15 necessary blossoms:

The aim of the design is to be more difficult than the rest of level two, but also more difficult than the caves in level one. This creates a difficulty “curve” which the player must adapt to, although more game developers seem to agree that there is no actual curve in game difficulty most of the time! In the blog I’ve pulled the quote from above, one example of a difficulty curve is described like a staircase, rising at intervals but lying flat for a while afterwards. Mine consists more of peaks and troughs, as difficulty is increased by a higher level of obstacles in cave areas but is lowered again when outside. Because Hanami is likely to only have three main playable levels (and a fourth ender level), I’ve aimed to increase the difficulty fairly rapidly, so that the maximum level of difficulty is reached by the end of the game.

In this design, I’ve tried to include platforms specially designed to challenge the player. At the top of the cave, I’ve added sections where the player must time jumps between platform heights between the swings of the spike plant above them. This is based on a part of a level one cave which allowed much more room. This time, I’ve gradually decreased the available space each time the player encounters a swinging spike plant. Another little challenge I’ve included is placing blossoms between two mushrooms, so that the player must accurately land jumps in order to not get hurt by the obstacles on either side of them. Unlike my some of my previous cave designs, I found myself re-scaling and moving parts of this design around quite a lot when it came to place it into the level! This is its finished form in the level editor (the red blocks represent solid platforms)

In this next screenshot, you can see the increased difficulty in acquiring blossoms throughout the first part of the cave:

Throughout this cave the player must be constantly more aware of their surroundings and the timing of their moves. I’ve tried to keep a similar level of difficulty in the second cave of the level, which is an optional cave which doesn’t lead to anywhere else in the level. It is accessed by hopping across a few platforms before reaching the Koinobori Cafe in the levels south-east corner. As you can see, this part of the level still needs a fair amount of work doing to it!

I enjoyed designing this cave as it occupies a wider space than my previous caves which tend to travel vertically. Part of the challenge of this design is that the layout is almost symmetrical, apart from a few blockages caused by mushroom enemies which halt the play from progressing on one side or the other (unless they choose to take damage).

I’ve included some of the same sorts of challenges throughout this design, although I’ve increased the difficulty of this part slightly by creating a cave-bed that cannot be touched if the player falls/misjudges a jump etc. I considered creating a lake of poisonous liquid or some other such over-used game cliche, but for now at least I’ve ended up using my Hello Mushroom enemy to fill the bottom of the cave (as a result I’ve nicknamed this the mushroom cave. I think it’s pretty.) I haven’t placed any blossoms in this cave yet, but I’ve planned for one to go at the bottom of the cave on the left hand side. On the other side, the player is simply met with yet more mushrooms!

That's a lot of mushrooms.

This is definitely the hardest part of the game so far, possibly even the hardest I will make. The difficulty is due to a mix of difficult jumps, awkwardly placed obstacles and the inability to fall safely!

Getting Ahead of Myself?

It turns out I jumped the gun a little last week as I was advised to “finish the first level to move on…” I checked back to my time plan this morning and my goal for this week was to add UI elements like the HUD and inventory menus. These are now well under way, so I feel like I’m doing well for time, although I know in my head that this can only mean I’ve omitted to do something a long the way. Obviously, graphics are still a working progress. The reason I wanted to start placing UI elements now is because I felt the natural graphical style would be evident enough to start expanding from background assets to the other areas, like the UI, title menus etc which will start to take form over the next couple of weeks. Right now, I’m still filling out my days with level refinement and perfecting areas which have been left overlooked for a while. So that I can’t miss A SINGLE THING, I’ve started at the beginning of the level and worked my way, changing and improving on specific things as I’ve gone along.

In a lot of places, parts of the level simply needed filling out slightly. You can see some improvements to the graphics here where I’ve added little plants and bushes and filled out large plain areas with small rock details etc, so that every part of the level has a unique combination of my existing tiles and assets. What may of may not be noticeable from this image is some adjustments to the lighting which I’ve made. I’ve expanded the sprite I use for these lights so that it covers a larger area and isn’t so concentrated on a small space, which brightens up the level significantly and adds more light variation across the level.

One major addition to the tileset has been these grassy edge tiles, which droop over the edges of platforms and just round them off nicely. They make everything seem a lot more finished, and eliminate a lot of the very hard, straight edges that were causing problems before.

Another significant change has been to the lighting system inside caves. I’ve made the ambient light nearly black, which almost makes the background invisible, except where there are lights. I’ve made these lights much brighter than the outside lights as they are significantly more essential more gameplay. I think this change make the level more interesting visually as well as in terms of how the player plays the game. Instead of looking at an entire surrounding area, the player is constrained to one small space. In this image, you can also see some improvements I’ve made to the Hanging Adversary sprite, which is now finished and working very nicely.

When it came to animating the Hello Mushroom sprite, I admittedly got a little stuck. My original design didn’t give me much space to work with, and I felt like I could only accomplish very minimal movement. This would have been fine, except my other obstacles are now much more active in comparison! So, I redesigned the shape of the mushroom to be more flexible. This new mushroom still releases spores in exactly the same way as the old design, but this one now dances about a bit. The smaller mushrooms are harmless and (I think) create a nice little piece of scenery, but warn when there is a nasty mushroom around!

Natural Hazards…

This week I’m thinking about all the features I want to have in the game before handing it to others for feedback! I think in my original time-plan I wanted to base the product of this week on feedback from participants, but I’ve gone into some of the graphics in a lot more detail than I was expecting to and as a result have a few other things that need rounding off/actually making… So my goal for this week is to create a working prototype ready for testing either at the end of this week or the beginning of the next.

One of the major things which I have omitted until now is, to summarise, how to loose whilst playing Hanami. I’ve implemented a really basic health system so far, which can currently only go down, and instigate an immediate game-over is it reaches 0 (which it can’t, because I haven’t put enough hazards in yet!) This is one of the things that needs a lot of improvement this week- it especially needs something to build it back up.

I’ve mentioned possible “hazards” or “enemies” before, and I’ve sketched out a few ideas in some of my level designs. The main feature of all enemies/hazards is that they cannot be “defeated” because there is no combat in the game. They are a part of the environment, and will not actively attack but will stand as a hindrance to players. As the collectable items are based on flowers, I’ve also based my enemies on plants, creating a good/evil balance throughout the natural world! Each enemy is also based on a unique movement type, to keep them varied and keep the player actively working out how to evade them.

The first enemy type is one that I’ve been using as a health system test, and is based on the Sakura blossom object. The idea is that it lurks in shadows and looks similar enough to the real Sakura object to lure players towards it, only to hurt them if they make contact. I’ve called this one the deceitful blossom, which is currently a working title name but may stick! Its movement type is nothing, it’s the easiest enemy to avoid as it simply sits in once place.

This enemy type has a few influences from existing games, not so much in terms of visual qualities but in attack style! I’ve looked at items and enemies that disguise themselves and attack at the last second. I thought of Vileplume from Pokemon which disguises itself as a flower, and the mimic from Braid which hides under the soil with a flower under its back. In a way it reminded me of the Mario “know you mushrooms” design seen on bags & T-shirts etc. Many Mario mushrooms look similar, but have very different effects, good and bad if acquired…

The second enemy happens to be a mushroom, but nothing like a Mario mushroom unfortunately. Unlike the other enemy types, a name didn’t pop into my head straight away with this one, so it is currently called Hello Mushroom…for a number of irrelevant reasons… This enemy doesn’t move itself, but it sprays a vertical line of deadly fumes into the air at random times through one of its many sphincters, which will deduct health points if touched. Most of my house mates have a serious aversion to mushrooms and try hard to stop themselves from vomiting when I cook them, so I’ve made this one super gross to fit their opinion of them. I think mushrooms are really yummy personally.

To get the motion of spore-release, I’ve been playing around with the particle functions in Game Maker today. I found a great guideline to all the available functions in a downloadable PDF here, which literally misses nothing! But so far I really have only been messing, so I’ll write up about my proper particle experiments later!
This guy’s kind of inspired by the many monster mushrooms in video games, like Funguar from Final Fantasy VIII, the Fume Shroom from Plants vs Zombies, and of course the deadly mist emitting Black Fungus from Kingdom Hearts.

The final enemy is one that moves horizontally by swinging from ledges and cave roofs etc. I’ve called this the Hanging Adversary, mainly because it was the first enemy I came up with and I wanted to differentiate it from any other potential creations! The hazard here is really sharp leaf-type structures- I said I didn’t want to feature any cliched spike-pits, so this is my original equivalent. I’ve fashioned it after a venus fly-trap to some extent, simply because the venus fly-trap has those naturally evil-looking teeth which make for a great game enemy. I’m sure they’ve inspired many monster creators to make plants that bite.

I had to be careful that this guy didn’t end up looking too much like anything else from the gaming world, although influences can natural be seen to the Mario Piranha Plant, and similarly the Venus Flytrap from Braid which was probably based on the Mario enemy! My favourite of the carnivorous plant monsters from games has to be the Deku Baba from the Legend of Zelda series, which looks so spiky and evil even with the lowest of poly-counts!

I’ll hopefully get all of this into the game tomorrow, and adapt the health system accordingly!