Month: June 2016

Over the past few weeks I have been attempting to teach myself some basic pixel art skills, for use in future games I make. As of yet, I’m still not very good but I thought that I should make a blog documenting my process so far.

Starting with the blog by Glauber Kotaki called ‘Introduction to Pixel Art for Games‘, I was instructed to follow a processes to replicate a 2D figure. The figure was in an aggressive stance, and was slightly angled, which is a problem I’ve had with drawing in the past. Although the tutorial recommended Photoshop, I was using a pixel art program called Aesprite.

This is the figure

The challenge with pixel art is displaying enough detail within a small space. To achieve this its recommended that “you start with the smallest, most readable feature”. On a humanoid, that would be the eyes.

Maybe this pixel art thing isn’t so hard after all

From this point, normally the next step would be to draw the line art, but this particular tutorial recommended drawing the silhouette first, so I proceeded to try my best to replicate the example the blog had.

Mine is on the left, the example is on the right

At this point, I think I had already screwed up but I didn’t realize it at the time, until I got most of the way through the next step, which was to draw the line art (the outline for the character).

You’ll notice that the feed are pretty different

At this point the figure really started to take shape, although I did mess up the feet somehow, I also added an outline for the bottom the foot which the tutorial didn’t have.

I took a bit of creative license with the colour

Again, the right foot looks different to the above picture, but I think it actually looks better after the last set of changes and looks like the character is standing on his toes on the right foot , which I like. The last step was to add shading to the figure, which is something I had absolutely no idea how to do, so I just picked similar colours and copied the the example image exactly.

Not too bad for a first attempt

I also decided to try to draw two completely different figures following these guidelines.

My first attempt at Captain America

As you can tell, I followed the tutorial pretty closely for this one although I am now realizing that I forgot to outline the jaw. The star and the wing on the side of the helmet were definitely the hardest part, but overall I feel like I did pretty good. For my next attempt I used the same guidelines but I did not use the tutorial for reference and… well…

Some viking… thing

Let’s just agree that it’s not great. But like I said earlier, I am trying to learn the basics, so I’m not going to create the new Mona Lisa anytime soon. I think my next step is to take a step back and draw inanimate objects, followed by some basic textures, for example the inside of a room. Eventually I will get back into drawing humanoids and hopefully by that time I’ll be a lot better at drawing curves and colours/shading.

Although the title is a bit of a mouthful, Apocalypse Hotel – The Post-Apocalyptic Hotel Simulator is exactly what it says on the box. The game takes place in a world destroyed by aliens and covered in zombies.

The Story

You play a student studying a business degree so that one day you can take over your parents hotel. Unfortunately aliens decide they want your planet and release a bunch of gas that kills people and brings them back as zombies. Your character decides that the best idea would be to go back to your parents hotel and hope they are still alive.

This does not look promising

With this information in mind, I felt it was safe to assume your parents and/or their death would play a big part in the story of the game, and that the intended player experience at this point would most likely be to make the player sad or something by having the player find the bodies/zombie of the characters parents and having a big dramatic scene to motivate the player into rebuilding the hotel. I was wrong.

As I walked into the hotel for the first time, a scripted event started in which the character exclaimed that they are hungry and should cook some food. After that, THEN the character decided they should explore the hotel. Surely at some point you would find your parents or something, right? wrong.

The Design

Upon searching the entire hotel and not finding anything about your parents the character exclaims. “Well, I guess they are dead. I will run the hotel in their memory”. I feel like this is suppose to motivate the player, but it doesn’t. Between having met the parents and the complete lack of emotion in the above statement, I really didn’t feel anything.

I am unsure if any real thought went into design of this game. All the dialogue I saw was along the lines of:

Player – “I’m building a hotel.”

NPC – “Why? The world has ended.”

There were enemy types that made no sense eg. Why would there be giant spiders and killer bats in a zombie apocalypse? I didn’t find any evidence of the developer trying to make the player feel a certain way, in fact it would seem all they cared about was killing zombies and fixing the hotel.

Aren’t I suppose to be looking for my parents?

The Gameplay

When it came to how the game played, I came across a few issues:

There is no form of ammo counter UI. The only way to check if you had any ammo was to go into the inventory system. Naturally, this was annoying when ammo is pretty limited. As someone with programming experience, I can safely say that it is an incredibly easy thing to add. That being said, I don’t have any experience with the engine used to make this game or the code it uses (RPG Maker, which uses Ruby).

In the many, many menu systems not only is the cursor never visible (again, super simple to add. Literally a line of code in C# again, not sure about Ruby) but you cant reach the lower options for some reason and considering that a large part of the game involves crafting, this is annoying but luckily you can access them with the arrow keys. I honestly don’t know what would cause this bug.

The game was less than a GB to download and for some reason caused lag on a high end gaming computer in scenes that had 10+ zombies in it. From what I have gathered, Ruby is suppose to be very simple but not great performance wise, so that could be whats causing the lag.

The player, and enemies, can move diagonally, the player can only shoot up, down, left and right. Again I don’t know anything about Ruby, but my guess would be that instead of instantiating the bullet object with a force relative to the direction the player is moving, they just instantiate it with a force relative to the way the player is facing.

I decided to stop playing after roughly an hour because within an hour of playing the game I got the same error twice, an error which caused the game to crash. Both times the error was caused by the character transitioning to a new scene.

My guess is there is a disposed sprite or something

The Developer and Publisher

The game was developed and published by FlynnFourGames using the RPG Maker engine and it is the third of the four games they have made all of which use RPG Maker. From the very limited information I have found, It would seem that FlynnFourGames currently consists of a single developer.

Final Comments

I would like to say that this game has quite a few issues that are super simple to fix, but as I have no experience with the engine or the language used, I can’t say that for certain. I did somewhat enjoy the follow up game “Moostone Tavern” which is basically the same concept but in the fantasy genre, and considering I really enjoy zombie games I am sure I would enjoy this game too if it didn’t crash. I also like the twist on the business simulator genre that these games have, and I am curious as to how I would improve on this idea if I were to create something similar.

The blog will be about how I feel I went with Ball Ball, specifically where I felt I did well and where I can improve and what lessons I will take with me into my future projects.

What I did well:

As mentioned in the post mortem blog, I felt my communication with my team mate was very good. We would both constantly update the other person with information like when we are working on the game and what we are working on, and ideas for how to fix any issues that might occur. I will definitely make sure to continue to keep communication with team mates in the future.

I also tried to do things I haven’t done before, such as using a line renderer to track where the mouse is in relation to the ball after the ball was clicked and the mouse is being held down, and I iterated over code so that it would perform the same function but in less lines of code or slightly more efficient. In the future, I will definitely push myself to try new things in my code, as its the only way I’ll get any better at programming. I feel that iterating over my code is also a very good practice to get into.

What I did not do well:

One area I felt I was lacking was definitely the amount of work I did. Although the project did get to a point we were both happy with, my team mate did most of the work and I definitely could have done more. Life getting in the way was partially to blame for a small portion of the project time, but it was mostly just me finding it to get back into the swing of things after the holidays (I have already regained the drive to do lots of work), which is in no way a good excuse for not doing work. In the future I will make sure to allocate my time better.

In conclusion, after identifying the strengths and issues with my work ethic over the previous project I definitely feel ready to work harder in the future and improve my work ethic.

Over the past week and a half I have been working on a 2D puzzle game, similar to ‘Angry Birds’, called Ball Ball with a partner with the intent to present it to the class and upload it to itch.io here

To sum up the process, I will talk about the things that went really right or really wrong.

Firstly, what went right.

The teamwork involved in making Ball Ball was great. We constantly maintained a high level of communication and organization. Whenever an issue occurred we would report it to the other member, talk about how we want it to be fixed and how it would be possible to do that in code which made fixing said issues a lot easier than if either of us were to try to tackle them alone. To repeat this in the future I will be sure to in force and maintain communication with all team members I directly work with when necessary.

Secondly, what went wrong.

The first thing to come to mind was the scope of the project. Although we did get the project to a level we were both happy with, we realized towards the end of the project that there were things that we were not going to get into the game, such as a spring object, because the scope was just too big for the amount of time we had. To avoid this in the future, I should make sure that the scope is refined to a point that may potentially be smaller than what I should be able to do and add more to the desirables of a project in order to guarantee everything that is in the scope gets done, but still make sure that the desirable list isn’t unrealistically big for the project.