No Closure. Not Yet.

The game will have fully reached beta stage by the end of this week, and I hope to start recording a final playthrough video and shorter “trailer” video that can be shown on the internet/at the critique in a couple of weeks time. I apologise for the lack of videos I’ve posted towards the end of the project, but I’ve had yet more problems with codec compatibility with the Vcap dll I had been using for a while. I’ve got time now, so I’m going to sort out the problem once and for all.

Things are gradually getting crossed of my to do list, and I’m trying to do things in an order of priority. Today I drew up that last two “slides” for the game’s perfect ending, so there’s now very little that I actually need to make or add. These final images don’t really provide closure, because I think if the player has struggled through finding every single blossom throughout the game then the last thing they’ll want is a simple “…and everyone lived happily ever after.” The intention was that the player gets this from the regular ending.

This time, Hana returns to the shrine where she placed the Kokeshi doll only to find that the doll and the cherry blossoms are missing. This could lead to two opposite conclusions- either the mischievous spirit has escaped and will continue to wreak havoc, or she has gone away and left the world to get on with life without disturbance. I haven’t really placed any clues as to which one it is, I think the player can decide this for themselves.

The next slide could be the decider, however. This shows Zashiki Warashi next to the Maneki Neko. I personally intended this image to look as though the spirit has given into her childish nature and taken on the more playful characteristics of a child, but again this is up to the player to decide. It’s a good or bad ending, but either way, the game ends here and there is nothing more to do.

I’ve also been busy finishing a full-scale mock-up prototype of my packaging design, which I’m happy to say works very well. For the mock-up, I’ve used thin black cardboard for the case, which I’ve painstakingly measured and cut by hand to make sure all the dimensions add up. The manual is printed onto glossy photo paper, which is a bit thick for its purpose but gives it a nice shiny finish! I’ve only printed the cover for now, which actually ended up going a little wrong as I forgot to print the logo onto the back. In the photos I’ve used the manual cover for the box cover, which just means you get the words “instruction manual” on the front of the box. I printed the disc art onto normal printer paper and stuck it onto the CD with paper glue!

Main Menu & Intro

I’ve made some changes to the main menu screen already. The background colour that I had chosen was supposed to represent an old paper colour, but after placing the screen in the game I felt that it definitely had to be the same as the menu colours I’ve been using throughout. I’ve also added a flashing “press start” icon which prompts the player to bring up the actual menu, which is something that no game is complete without!

When “start” or “enter” on the keyboard is pressed, the menu box appears. I’ve actually used almost an exact clone of the pause menu for this, with a little added transparency to take away the harsh contrast in colour. Obviously, I’ve changed the options to New Game, Load Game or Quit.

I’m not currently sure about the placement of the menu, however at the moment it rests in the dead centre of the screen, and moving it around makes it seem really oddly positioned! If anything, I’ll move it slightly to the right.

If the player selects “quit”, the game will shut itself down. If the player selects “load game”, the most recent save will automatically be loaded . I didn’t really see any reason to give the player the option to load previous saves or from a list of multiple saves, as the game only really takes between 10 and 20 minutes to play. If the player has not yet started the game but selects to load, a default save will be loaded which takes the player to the beginning of the game. If the player selects “new game”, instead of being taken straight into the game like previously, the player will be shown a slideshow of still images which act as the introduction to the game. These have taken me a few days to draw, as they involve higher resolution characters instead of the smaller sprites and tiles. The point of the images is to tell a brief account of the events that occur just before the game begins, hopefully these are fairly self explanatory:

1. Hana leaves the Hanami celebrations

2. Hana goes to the Ryokan

3. Hana goes to bed

I’m not sure how finished these are, but if I change anything much it will be the last slide. The story was originally that the Ryokan’s lucky cat comes to life to tell Hana about the “Hanami crisis” (in cat noises, as cats do…) I wanted to show a cat’s shadow on the floor as the cat approaches the sleeping Hana, but didn’t manage to draw anything that accurately represented this. My other option is to draw another slide where the cat wakes Hana up, but there’s something nicely concise about having three slides! I’ll get some feedback on these and work out how much more information is needed. A lot of the game is open to interpretation as it is!

Intelligent Thoughts

To begin designs for user interface, I’ve started up the style I want for graphical elements with these speech bubble text boxes. These simple square boxes are designed to float above the character speaking or thinking, and display mainly images depending on what it is that they need to communicate. The idea is to keep dialogue to a minimum- due to the communication problems associated with foreign languages. I was mainly inspired to use speech bubbles in this way by the anime short Cat Soup, which uses a lot of visual techniques to represent dialogue.

This isn’t the first time a similar technique has been used in a game. The hand-drawn Indie game Machinarium doesn’t have a single line of dialogue, and uses images and animations in speech and though bubbles to provide the player with gameplay hints and set the story.

I was initially thinking of using a very simple square design, but at the last minute came up with the swirly square design based on the “auspicious cloud” design. The design sort of evolved as I worked out what worked best in a small space with the swirl in the corner.

In Game Maker, I can use one image as a parent object for all “dialogue”, and simply change the content of the box using a sequence of sprites which appear to be inside the box. I tested this on the pacing cat I created yesterday, making sure the box followed the cat. This was simply done with one piece of code with makes the x value of the box the same as the x value of the cat:


I then incorporated a timing system to time the image in and out based on a set time, so that the cat periodically thinks about fish- as long as he pacing and not following the player.

I’ve also created another example of a very small dialogue sequence for the newly placed character-the Shinto Priest. This polite character stands outside the Ryokan and bows as the player passes by. When the player gets within a certain distance, the speech bubble appears displaying the objective and the amount of blossoms needed for progression, although I’m not sure how effective this is as a method of instructing the player in the initial level.

Artificial Intelligence?

What happened to week eight?? It was definitely there, but I must be getting lazy at making progress flowers.

This week my focus is on the little interactive bits that make videogames what they are, which includes working on menus and non-playable characters (NPCs). As part of my feedback from last week I was told to not move on to create a new level without finishing this one, and while most of the graphical elements are in place, its lacking occupants and and a real start to the game. The little photo above shows the little progress I’ve made with the new level over the weekend, although it’s much easier to draw on tracing paper in good light so I’m going to have to start putting some day-time into drawing it.

Today I began work on the first character that the player can interact with, the Maneki Neko. Ultimately, I’d like the game to begin with a short cutscene and the cat awakening Hana in a foggy dream-like state, and this may even be possible now that I have some extra animations. My plan is to look at the Spelunky source code to work out how the opening cutscene has been programmed, as I’ve had some problems working Game Maker around cutscenes in the past.

My first task was to create a walk-cycle animation for the cat, which somehow proved much easier than animating only two legs! I kept the leg length to a constant 2 pixels and tried to use as few frames as possible, as this animation won’t actually be seen much in the game at all. I used this video for reference, although only picked out the more “essential” frames.

The human walk cycle I developed uses eight frames, four for each leg forward. I ended up only using four for the cat, as it easily gives the illusion of having either foot in front of the other!

The tricky part was getting the cat to walk on his own, without player input. The game’s main character relies on the intelligence of the player to not walk into walls and avoid obstacles, but the cat would have to rely on a set of calculations in order to move around. There are several ways you can achieve this in game maker, but several that became unavailable to me because of the nature of the movement.

I wanted the cat to constantly pace from left to right, turning back on contact with a wall. I also wanted its behaviour to change when in close proximity to the player, so that it follows the player briefly. Luckily, I found an example that someone had already made that has a similar thing- except that the pacing objects are enemies which move to attack when in proximity with the player! You can have a quick look at that here. Based on the code from this example combined with the movement mechanics which came with the grandma engine, I came up with this little bit which makes the cat pace while the player is far away:

This basically sets up a timer which which turns the cat around after a certain period of time. The “counter” moves up in intervals of .25 until it has reached 60- in this time the cat will move left. After from 60 until 120 the cat will move to the right, and at 120 the counter restarts from 0. This is only while !can_see, which is while the cat “cannot see” the player.

While the cat can see the player, I’ve simply set a constant speed in the direction of the player. This speed is faster than its previous pacing speed, but not as fast as the speed of the player. As long as the player is moving, the cat will never catch up!

There are a few more lines to prevent the cat from walking through walls and an image_xscale code which turns the image around when walking left. Otherwise, this code is the cat’s brain. It’s not perfect- for example, if the player stops then the cat will just continue to walk past until it begins pacing again. I don’t think this is much of an issue for an object that only appears in the first room of the game!

Weekend Update #2

Just a recap of the goals for the week just gone:

Continue to create and gather any conceptual work including a Game Design Document (GDD). Experiment with the Grandma Engine in order to configure it for the game. Research software add-ons and extensions which will be useful.

So…how am I doing?
I’ve managed to write and maintain my GDD pretty successfully, but “conceptual work” is currently mainly limited to character designs. Over the coming week I’ll hopefully work up a good amount of level & item designs to being some game assets, as well as continuing to work on the in-game characters. I’ve experimented with the engine to a degree, however I still haven’t worked out things like my physics settings which must be arranged soon before I start any real level design! I don’t want to design any immense jumps only to have a character who can’t reach them… As for add-ons, I’ve previously researched things like lighting engines and sound dlls, which will come in useful, however I can’t say this for sure yet! I’ll have to re-schedule this research for next week.

So what have I been doing?
Whilst avoiding doing any really ambitious game development, I’ve been working on a few more character designs. I started off by thinking about a template for male in-game characters, as so far my character-cast is looking very feminine…

The guy on the left is my “generic man” character. He probably won’t appear in the game, but is the “standard model” for all male characters to be made to (The kanji symbol means “man”). After drawing him, he got me thinking about Japanese hairstyles. In photos, you can probably tell Japanese guys from Western guys just from the tops of their hair. Japanese styles tend to be longer and frame the face, whereas the normal Western man tends to avoid this, probably because it looks quite feminine. The epitome of androgynous hairstyles is demonstrated by Japanese pop/rock-star Gackt, who inspired the hairstyle in the top right. But as well as long, straight styles, I’ve noticed that Japanese males pull off spiky styles really well! This is either the symptom or the cause of many spiky-haired anime characters, famously including Akira Toriyama’s Goku from the Dragon Ball series. However, the first example of epic spiky hair that popped into mind was Cloud Strife from Final Fantasy VII. Although not a real person, there is no match in the competition for awesome spiky hair.

From this short study on hairstyles, I moved onto my first male character…who has no hair. His working title name is Kannushi, based on the name of Japanese Shinto Priests. I’ve tried to write an extremely brief bio on all my characters in the GDD, mainly explaining why they didn’t suffer the same fate as the village locals (although details of this incident are a little hazy at best. I’m thinking of changing my original idea…) For my final GDD I’m hoping to write up a bit more on the characters, including useless information like favourite food etc.

a Shinto priest who was immune to the curse, and prompts Hana on her journey.

He’s dressed in a traditional Kariginu, with traditional hat and ceremonial wand at the ready. Although he acts as Hana’s main guide throughout the game, I want him to be a silent and mysterious character, who appears and vanishes without warning. On top of this, one of my objectives is to create indecipherable dialogue between all characters, as Western and Eastern characters naturally have language restraints…

The second character I started to work on was a Maneki Neko or Lucky Cat character. I think I originally said that Hana would have a pet cat, as I didn’t want her to be entirely alone. I realised this was silly, as you probably wouldn’t take your cat on this sort of “holiday”. So the cat’s ownership has changed. Maneki Neko now belongs to the owner of the hostel which Hana temporarily stays at. Another mysterious character, at the very start of the game Maneki Neko resembles a Lucky Cat figurine. It isn’t until the “Hanami Crisis” that the cat jumps to action and leads Hana to Kannushi. Whilst not saving the villagers, Maneki Neko enjoys snoozing and dreaming of fish.

As well as this, I’ve done a little bit of graphics development, just trying to figure out how to make tiles that work. I haven’t really started any official research into Japanese buildings, but just from the research I’ve been doing so far I’m starting to get a feel for them! I made this small little Photoshop mock-up of a Japanese hostel room strictly using tiles only. It doesn’t work as a room as it has no access and no space for movement, but it only uses repeated tiles so I’ve made minor progress here.

It has however brought to my attention more proportion issues. These bunk-beds for example are 64 pixels long, which is 4x as long as my character sprites, so this little tester probably wouldn’t be suitable for a game asset.