Boss Stage

Today I’ve been planning out and creating parts for the final level of Hanami which is essentially an extended “Boss Stage”. There are no more items to collect, simply a path to unlock to the final boss.

This morning I sketched out some ideas on how the building in this level differs from the buildings throughout the rest of the game. I’d already planned the scale of the building, which was already larger than anything else I’ve made so far. The building in level 4 is the abandoned home of the Zashiki Warashi spirit, so my main focus was on making it look run down. I scribbled over the top of my building plans to work out interesting vine and weed formations, and work out where there would be cracks and blemishes on the building.


The result makes the overall picture look a lot less messy due to the distortion of all my straight lines! In this case however I’m happy for the image to look a little rough… I haven’t really worked on the background or decided on a background colour yet, I’ve been concentrating on the foreground for now!


Inside, the building looks a lot less derelict, but it is much more empty that most of the other buildings in the game. Because there are no items to collect in this level and exploration could be pretty boring, I’m planning on having a locked door which can only be opened when a key is acquired. The key is in an upstairs room, behind a door that will only open if a certain amount of blossoms are found (as a placeholder door I’ve decided that the player should have 80 blossoms, but I’ll probably reduce this if I come to code for this part of the game). Inside the building there are three upstairs rooms. The first can be entered under all circumstances, the middle door can only be opened if the specified amount of blossoms are found and the final door is sealed.


As a teaser and to prompt the player to collect more flowers if they haven’t already, all of the upstairs rooms are part of the same space, so by entering one door you can see into all of the rooms. By entering the first door you can see that you must enter the second door to acquire the key in the third room, accessible by a hole in the top of the wall.


The locked door leads to the last area in the game, where the boss battle will commence! I’ve designed this to have a small flat stage where Za-chan runs around, and two “safe areas” either side where the player can temporarily avoid attacks. I’ve drawn up a couple of new assets for this level, including a new version of the Sakura Tree which I might now use as a background element for earlier levels. This is simply a re-vamp of one of my previous designs, where I’ve made the branches a little more curvy and reduced the size of the blossoms growing on it. It looks a lot less cluttered than my previous designs, and will hopefully fit in better one the proper background is in place.


The other two new assets are stone statues which guard the “safe areas” by dissolving attacks on collision. The first Guardian is a Tanuki statue, which is commonly seen around Japan in restaurants, temples and homes. The Tanuki is seen as a sign of good luck similar to the Maneki Neko Lucky Cat, and is generally loved for being tubby and smiley! Statues are often colourful and remind me a little of garden gnomes, like this:


My statue is a carved stone statue, and looks more like this:


The second guardian of the safe zone is a Kitsune statue, a fox which is believed to have supernatural powers and immense intelligence. Both the Tanuki and Kitsune were once believed to have shape-shifting powers, and were almost worshipped for the powers they possessed. Kitsune statues vary in style, but are usually a similar shape of a fox sat upright:


And my carved stone Kitsune statue:


Like the other screenshots of this level, there are a lot of background elements missing! Here’s what it looks like so far:


The final change I have made is to Za-chan’s attack object, which was previously a piece of sushi. I’ve changed this to a small ball of light, however I’m not currently sure whether I’ll keep this or try to think of something more relevant later.

Boss Battle

I went back to the GDD this morning and tweaked little bits of information that have “evolved” during the development of Hanami. I took a look at the list of events that I wrote right at the beginning of this project, to try to work out how to conclude the game. So far, motivations for playing the game have been about progression, so I finally needed to realise a result of the player’s hard efforts!

The best way I could think to conclude the game was to have a Boss Battle, which was something I wasn’t originally planning but feel that the player would be let down if the game ended without one final challenge. So, the final door that is opened will lead to a “battle” with the Zashiki Warashi spirit, resulting in the spirit transforming back into her Kokeshi doll form. This essentially solves the “Hanami crisis”, and the player will be able to roam the world obstacle free in order to collect the remaining blossoms. There shouldn’t be many left (about 10 or so?), but only be collecting EVERY SINGLE LAST BLOSSOM will the game truly end.

The terms “Boss” and “Battle” are strong words, but it’s the best way to describe this glorified final obstacle! I haven’t introduced any new techniques to the battle, the Zashiki Warashi spirit can be de defeated in the same way as the Deceitful Blossom, by jumping on the enemy’s head. The main difference is that this enemy has a 5 health points and a projectile attack! The battle is really based on the sort of sub-boss battles you’d fight in old Super Mario games, where jumping three times on a Koopa’s head will let you pass to the next stage. I’ll record a video to show what I mean if I get the time!


EDIT: Here you are, Boss fight footage recorded exclusively recorded for this Blog:

For this stage, I’ve created three new game assets. The first is the Za-chan object, which controls everything that the enemy does. She works with three alarms, one which instigates “attack 1”, another which instigates “attack 2” and a final alarm which determines how long she is static for when hit. She has her own health counter, which is shown by my second new asset which aligns with original HUD:


The third new asset I have (half) created is an object called obj_attack. At the moment, this object is represented by my Gunkan Sushi sprite, as I haven’t actually drawn anything to go here yet… So, when the enemy shoots her attack towards at player, she is currently shooting sushi. This has been fun to test, and I will almost be sad to see it changed! This has been the easiest to program, as it’s only job is to move steadily towards the player. If the player is hit, then the projectile is destroyed, to avoid being hit twice by the same attack.

This is by far the most complex AI controlled NPC character I’ve created so far. The character moves in relation to two objects, the player and a “block” object, which keeps the enemy within a certain space. Za-chan moves slightly slower than the player, so it is possible to catch up and jump on her head! If the player is quite far from the enemy, the enemy will move towards the player. If the player is very close to the enemy, the enemy will move away in evasion. As well as this, there is a certain distance from the player that Za-chan will simply stand still and spam the player with attacks, however this will only happen if the player is also standing completely still. This system works well enough to keep the enemy moving about, but I noticed that it was possible to defeat her too easily by trapping her in a corner. So, I’ve added a final line of code that states that the enemy must move towards the player if she gets too close to the “block” object, even if this means a collision with the player. Colliding with the enemy actually causes player damage, so this in itself acts as a sort of attack mechanism.


Za-chan’s two “attacks” are thrown when each of the first two alarms go off, and this code simply resets each one so the enemy constantly attacks at an even rate. Attack 1 throws one sushi, and attack two which is less regular throws 2 sushi!


I’ve used almost exactly the same code as the Deceitful Blossom to program what happens when Za-chan is jumped on. I’ve simply changed the squashed flower sprite to a new sprite, and ensured that during this time she can neither deal or receive damage, and she cannot move! I thought it would be appropriate to make a new sprite animation where she sits down and rubs her poorly head after having an full grown woman jump on top of it…


Once she has been defeated, I’ve also created a new “transformation” animation which turns her from spirit form to Kokeshi form. To do this, I created a cloud which passes over her to reveal the doll underneath. I’ve made this in the same style as my previous “auspicious clouds”, and drew out the animation first to make sure the swirls moved bout fluidly:


And here is the final result:


At the moment, I’ve set the battle out in the most final stage I have made, even though this is currently far from finished. The aim for the rest of this week is to finish the inside of the building and build a proper “Boss Stage” level for the battle to be held in. I’ve recorded a video of the battle so far, although I think I still need to make some tweaks to the rapidity and speed of attacks. I’ll probably have to get back onto SunVox too to create some epic Boss Battle music!