Autopsy

Posted by marbs on Feb. 8, 2012, 12:28 p.m.

Today I have made the tough decision that I will l cancel working on my iOS game, Rollabout. I thought it would be beneficial for me, and perhaps for you, to dissect the past 1.5 years of development on the game.

What is Rollabout?

First a brief explanation about what the game is for the many of you who will be unaware. Rollabout was a sequel to my previous iOS game, Domino's Adventure, a physics based platform game released a little over 2 years ago. The aim is to guide Domino, a circular green alien who can stick to objects, through many levels filled with physics based obstacles while collecting stars and trying to finish as fast as possible with as few deaths as possible.

Domino's Adventure is a relatively short game, I think it has around 20 levels or less, and only took 3 months to make. I was also learning Unity as I went.

The major flaw in Domino's Adventure I felt was the lack of content. It is easy for a competent player to finish the game in much less than an hour. Being a one man development team, I thought that attempting to fix this issue by simply creating more levels would be beyond my reach.

Instead I decided to create a level editor. This is what Rollabout is all about.

Rollabout was the same game as Domino's Adventure, but with a level editor which connected to a server allowing users to share their levels with others online. An added bonus of this was the potential for - although I hate the word - viral marketing. I would integrate Facebook and Twitter into the app allowing users to share with their friends, and thus the game would spread.

Foundations

Perhaps the first mistake I made was to build Rollabout on top of Domino's Adventure. Rather than starting a new project, I decided simply to continue building on the existing engine.

Arguably, this is a sensible choice! Why rewrite the same code? All I needed to do was add in a level editor, how hard could that be?

The base code for Domino's Adventure is ugly. It uses some quite funky methods for doing stuff because I was learning Unity at the time I wrote it, and hadn't come across the better way to do things.

Retina display

Domino's Adventure is also hard coded for the iPhone 480*320 resolution screen. Shortly after development commenced on Rollabout the retina display game out, which has double the pixel density - 960*640.

This higher resolution screen opened up a world of problems. It led to many issues all over the code base which were a huge pain to track down and fix one by one. It also meant that all the graphics I had done for Domino's Adventure did not take advantage of the extra pixels. This was especially evident in the web version of Rollabout in which all the graphics appear fuzzy and low quality.

Fixing the graphical issues would require completely redoing the graphics for the entire game. I came very close to hiring someone to do the art for me.

Touch input bugs

The script I wrote for detecting touch input had some bugs in it which did not affect the game at all in Domino's Adventure. However, these bugs reared their ugly heads when I started using the same script for the Rollabout GUI. Unfortunately, if I fixed these bugs to get the GUI to work, it meant more bugs popped up elsewhere in the game where it relied upon these bugs in order to function!

The touch input script was also very inefficient, and on GUIs the many touch input areas would case the game to lag a lot. In the end I resorted to having to rewrite all the touch input code anyway.

Tedious development

It is a fact the game development is not all fun and games. My favourite part of game development is creating the engine, designing levels, and writing those fancy bits of really clever code that you feel slightly sad about because no one will ever get to see the genius logic you implemented.

My bane: GUIs

Unfortunately for Rollabout, it led me to construct many of what I hate most about game development: GUIs. The whole level editor was one big nightmare of a GUI which had to support touch input for iOS, mouse input for web and editor testing, be intuitive, run fast, and include all the necessary features. After many revisions and hard work the editor still feels to me like a clunky, laggy mess. I went through many different iterations of it, and each time felt less motivated and more irritated.

Then there is what I call the level browser: the GUI for listing all levels available to play on the server. This would be where players could browse through the list of user made levels, ranked in various categories, along with preview pictures and statistics about downloads and like/dislike ratios. This GUI needed to be fun, interesting, and easy to use, since if people could not figure out how to play the game, then it would not succeed.

I ended up redoing the level browser about as many times as I redid the level editor. At the end I still felt the level browser was confusing and boring.

Development cycles

Throughout the past 1.5 years development was on and off. I would be working on Rollabout for a few months, then have a month or two off. This would repeat, each cycle working less on Rollabout and having a longer break. This should have been an indication that my motivation was insufficient to complete the task, but I felt compelled to persevere through.

My bursts of motivation would come from the hope that after I finish university I will be an independent game developer for a living. However, when I actually managed to make myself work on Rollabout I would enjoy it less and less, and it felt more like I was working on it because I had to finish it, not because I wanted to finish it.

Final straw

As a final resort I decided that the only way I will finish Rollabout is if I cut out the level editor. This, I thought, would remove all my problems! I would simply create a load of levels myself and be done with it.

However, the damage was done, and my passion for the project died. Removing the level editor would be removing the heart from the beast - the very pillar upon which Rollabout was founded.

Acceptance

I have come to terms with this decision, and realise that it feels like I have lost a burden. Although I am slightly morbid that I have given up on this project, I have made the right decision and I feel that I have learnt so much from it, so much more than I have mentioned in this blog.

To quote the Infinite Ammo podcast, one of challenges of game development is knowing when to give up on a project.

Edit: As requested, a link to the web version of Rollabout

Comments

JuurianChi 12 years, 2 months ago

Nice read.

I'm trying to get into iOS development. (The Game Submission section of Atodev even has a slot for it.).

Are you really only able to use a Mac to make iOS stuff?

marbs 12 years, 2 months ago

@JurrianChi

For the most part, yes, though there are ways around this.

Unity is cross platform, and I designed the input code for Rollabout to be cross platform - it can take mouse input and touch input. I could then work on Rollabout on Windows by converting the project to a web player project (which takes about 2 mouse clicks). The downside to this method is that when you convert the web player project back to an iOS one, you will occasionally get bugs that only show up on iOS. Then of course when you build the project and run it on an iOS device you may find it lags.

There are probably other ways of developing for iOS on Windows, but I don't know much about them.

Ferret 12 years, 2 months ago

Yay! You made a blog on 64D :D

Interesting read, shame you had to stop though. Have any plans for future games?

flashback 12 years, 2 months ago

Quote:
Are you really only able to use a Mac to make iOS stuff?
Not if you use Adobe AIR for iOS. Though that means you require the AIR runtime and have to use Actionscript (also you REALLY want Flash Builder rather than regular Flash to develop the game).

flashback 12 years, 2 months ago

You still need access to a mac (or "maccess," if you will) for that, though.

DesertFox 12 years, 2 months ago

:<

Its sad that you're giving up on this, but I can totally understand the feeling.

Extravisual 12 years, 2 months ago

So do you have any plans for after this?

marbs 12 years, 2 months ago

@Extravisual

I have plenty of various game ideas floating around that I would like to work on. I imagine that I will start off with a very short game first of all to get back into the swing of things. My priority in life at the moment though will have to be uni work, since this year is busier than ever and I aim to get a first.

DesertFox 12 years, 2 months ago

Marbsydo Y U NO GET ON MSN D:

JuurianChi 12 years, 2 months ago

Don't give up!