Astro Noughts Postmortem

For my iDevBlogADay article this week, I’ve written a postmortem of my latest game Astro Noughts. I’m using the traditional format of 5 things that went right and 5 things that went wrong.

What Went Right

1. Scope

To date, my most prevalent game development enemy has been that of scope. Feature creep has played a large part in the failure of a number of my previous games. With Astro Noughts I wanted to make sure that I didn’t fall into the same trap again.

Whilst I had plenty of ideas during development, I was conscious to only implement those that positively impacted the core gameplay. This meant that I allowed myself to experiment with various control schemes and gameplay modifications. Rather than adding additional features, I recorded them in my project management tool for possible implementation in future updates. I feel that this approach was very successful and enabled me to work through a list of finite tasks in order to complete the game and get it shipped.

Iteration is such a huge part of game development but, in my opinion, adding more and more new ideas is something to avoid. Its tough having the discipline to stay focussed on a single idea but I feel that I did a good job of this with Astro Noughts.

2. Graphics & Sound Iteration

Another lesson that I’ve learnt from previous games is to get graphics and sound into the game early and iterate them often. I did this to great effect with Astro Noughts. Early graphics were crude copies of the vectors from the iPhone game upon which it is based. This allowed me to invest time in the core gameplay mechanics whilst I continued to develop the look, feel, and sound of the game. I found that once I had some graphics I was happy with, it helped considerably to spend time away from the game. Often when coming back fresh, the graphics that I thought were great were actually not so great and had obvious deficiencies. I continued to develop the graphics to a point where I was happy with them no matter how many times I stepped away and came back to the game.

Something else I found useful was to immerse myself in the subject matter. I looked out for anything relating to space and this helped to drive a look for the game, both in terms of style and colour palette.

Sound iteration was just as important. I got some rudimentary 8-bit sounds into the game early. The development of both the game mechanics and the graphics helped to drive the sound design. In the end I took an abstract approach to the sound effects, using piano notes to represent explosions. On paper, this doesn’t appear to be a good match but I really think it adds to the feel of the game, creating a sense of scale.

For the music, I spent considerable time searching for something with the right feel. I even tried to create my own music with very limited success. In the end it was my fellow game developers on twitter that pointed me to some of the best resources.

3. Polish

Polish is extremely import to games and with IOS development it can make the difference between a top selling game and a poor selling one. This is something we all know and yet, when finishing your game and the end is in sight its easy to forget. With previous games, I’ve found myself saying “this will do, I can improve it in an update”. With Astro Noughts I made a concerted effort to avoid this. When I submitted the game to Apple, I felt that development of the game had run its full course.

I focussed on the smaller things with Astro Noughts. Nice Menus, Interesting transitions, appropriate sound effects, correct typography, solid touch controls, etc. This has all come together to create an overall package that I feel represents my vision of the game and is polished (at least more than any of my previous games).

4. Flexible wave system

Astro Noughts has a wave system that handles the logic of generating a wave of planets. I spent considerable time creating various systems, iterating, and scrapping them until I had something that I was happy with.

Initially I had a very basic random mechanism for selecting planets for each wave. This was far too simple and didn’t give a sense of progression to the player. I also created a fully dictated system that allowed me to specify precisely which planets appeared in each wave. This gave me full flexibility since I could create unique patterns that would challenge the player. The issue with this system was one of time. It would have required lots of resource to create enough waves (and balance them) to keep the player occupied. The overhead was just too large for this type of game.

In the end I opted for a random system that allowed me to specify a large number of variables to control what is shown. Things like a minimum and maximum wave for each planet type allows me to control when planets appear and when they expire (whilst still being handled by a random generator).

The end product is a balance between a dictated level like system and a more random, organic approach. This was a conscious decision and one that, I feel, has paid off.

5. Hint system

When it came to solving the issue of a tutorial system for Astro Noughts, I took a slightly more interactive approach and developed a hint system. This was partly to save time and partly because I felt that the game mechanics in Astro Nought were such that they were easy to grasp. I’m happy with the end result but I think that it needs expanding further. I also think that some sort of initial tutorial screen is required to give the player an initial focus.

What Went Wrong

1. Development Time

Whilst I managed to keep the scope of the project in check, I didn’t manage to keep the time under control. This happened for a number of reasons. Firstly I spent too much time writing code that was later scrapped.
With the wave system for example, I spent a long time writing, testing, and ditching wave systems and must have gone through 5 different implementations. I Should have designed this system on paper first and then implemented it in code and tweaked it. It cost me a lot of time.

Secondly, I totally underestimated the time required to produce the planets and their corresponding attributes. I had the activity planned but the work required, even for such a small set of assets, was huge. The quality of some of the planets has suffered as a result (with more repetition than I would have liked). In future I think I just need to be realistic about the time required for these activities and set aside some decent time to focus on content production.

2. Difficulty

I totally underestimated how difficult people would find the game. This was partially due to a lack of sufficient beta testing (I did a few face-to-face sessions to watch people play the game but nothing more). In future I need to a fully planned beta testing phase.

Some of this failure also lies with the marketing. Astro Noughts is a combination of arcade game (with a unique mathematical twist for gamers) and educational game (with benefits to improving your mental arithmetic). As such, the players are looking to hand this game to younger members of their family. I hadn’t planned for this so the difficulty simply doesn’t scale well.

This is something that I plan to remedy in the first free update. I’ll be creating a full difficulty system with presets for age ranges and a customisation system for full control over which operands and operators appear in the game.

3. Planetarium

I created the Planetarium with the aim of adding a overriding, meta-layer to the game. Something to give a sense of progression and keep you going back to the game to unlock more planets. I still think that this is a good idea but unfortunately the planetarium is not as fully realised as it could be. There’s no real reason to spend time in the planetarium. Its something that I’ll look to address in future updates. Perhaps giving the player a more interactive toy in addition to giving more in depth information about the planets to create a more immersive experience.

4. Achievements and planet unlock system

Astro Noughts has OpenFeint achievements. It also has the concept of unlocking planets. Combining these two things seemed liked a good idea during the project. I essentially utilised the OpenFeint achievements to generate an unlock message for each new planet type you collected (and give you some achievement points). In practice this doesn’t work quite as well as I had hoped. You have no choice over unlocking planets since its something that just happens throughout the course of the game. As a result the planet unlock achievements feel very hollow.

With the focus on the unlock system, I also didn’t implement any meaty achievements. I feel that this makes my OpenFeint achievements somewhat redundant. If I decide to switch to Game Center for the second free update then I’ll be remedying this by creating an internal planet unlock system and adding some proper achievements through Game Center.

5. Marketing

I’ve left this until the end but it is in fact the thing that went most wrong. I’m terrible at marketing my games and rather than get better at it, I think I’ve actually gotten worse. I totally failed to create any kind of anticipation for the game, I didn’t court the media, and I only sent out a handful of promotional codes. The other failing I’ve had is in recognising the target demographic.

Coverage to date has been limited. I created my own forum post on Touch Arcade which had limited response. I’ve had some coverage that I didn’t initiate on this education website. I acted on that quickly and managed to get some follow up coverage here. Astro Noughts was also included in a very nice “Top 10 latest iPad Gaming Apps” on The App Whisper (again, this wasn’t initiated by me).

So, nothing I have directly done has resulted in any response. I need to find the correct demographic for this game and a way to reach them. This is something that I’ll be working on throughout 2011.

In order to give this a kick start, I’d like to request some help from you, my dear readership. I’ll entrust in you 10 promotional codes to download Astro Noughts for free. This is not without agenda though. If you take one of these codes, I’d ask that you use it to help me market the game. I have some ideas on how you could do this.

a) If you’re so inclined, you could download the game for yourself and write a review (either on iTunes or on your blog)
b) You could gift the code to someone who you think may be interested and suggest they review it
c) You could send it to a games reviewer you know or a site you like
d) You could give it away as part of a competition on your own site
e) something else

I want to turn Astro Noughts into a game that consistently receives a few downloads every day. I strongly believe that its a product that could do this and as such I’ll be investing time in updating it with new content. Here are those codes I promised – please let me know if you use one.

4773EPN46YTA
L39ANNF4MJYW
F46LLT9EN3PR
4PXH3TMPNTHF
MKJ47467RX3A
FJNT3JHJEEWE
KFTYA6PKTAHK
6RA69LYXHNPW
XPNA9LXMML39
TP7PJJAHNRN9

In conclusion, I’m generally happy with the development of Astro Noughts, but not so happy with its commercial reception. I’ll write posts on the progress of Astro Noughts as I expand it with more updates. As always, thanks for reading and I look forward to seeing you here same time next week.

(Image courtesy of easop)

26 Comments

  1. New Blog Post: Astro Noughts Postmortem – http://www.bytesizeadventures.com/blog/a… #iDevBlogADay

  2. @chrismwaite Yikes!!! Just click to read your blog post, scarey 1st picture… I guess this is what it mean to go under the bistouri ;-)

  3. @frederictessier haha, yep – I though it was appropriate. It is a little scary though :)

  4. @chrismwaite I wont ask where you got that kind of picture… this is too scary…

  5. @frederictessier :) its not mine. I found it on Flickr. If you click the picture you can see the source.

  6. SavantGames says:

    RT @chrismwaite: New Blog Post: Astro Noughts Postmortem – http://www.bytesizeadventures.com/blog/a… #iDevBlogADay

  7. apanos75 says:

    RT @chrismwaite: New Blog Post: Astro Noughts Postmortem – http://www.bytesizeadventures.com/blog/a… #iDevBlogADay

  8. @chrismwaite This is what I saw, if not I will find it even more disturbing on why you have such thing in your home… 8-O

  9. rizergames says:

    RT @chrismwaite: New Blog Post: Astro Noughts Postmortem – http://www.bytesizeadventures.com/blog/a… #iDevBlogADay

  10. rizergames says:

    @chrismwaite Good post Chris. I share your experience with marketing — let me know when you crack that one! :)

  11. hermanjakobi says:

    RT @chrismwaite: New Blog Post: Astro Noughts Postmortem – http://www.bytesizeadventures.com/blog/a… #iDevBlogADay

  12. @rizergames Likewise :) I’m going to make the marketing plan a part of the dev for the next game.

  13. rizergames says:

    @chrismwaite What are you planning to do?

  14. @rizergames I think just contact the media earlier with previews and try to drum up interest through forums.

  15. dwsjoquist says:

    RT @chrismwaite: New Blog Post: Astro Noughts Postmortem – http://www.bytesizeadventures.com/blog/a… #iDevBlogADay

  16. celsiusgs says:

    @chrismwaite @rizergames This. After actually having a game, the next most important thing is getting it noticed.

  17. @celsiusgs @rizergames Yes, and its bloody difficult :) not that i’m complaining.

  18. andrewnicolle says:

    RT @chrismwaite: New Blog Post: Astro Noughts Postmortem – http://www.bytesizeadventures.com/blog/a… #iDevBlogADay

  19. coffeedan says:

    RT @chrismwaite: New Blog Post: Astro Noughts Postmortem – http://www.bytesizeadventures.com/blog/a… #iDevBlogADay

  20. RT @chrismwaite: New Blog Post: Astro Noughts Postmortem – http://www.bytesizeadventures.com/blog/a… #iDevBlogADay

  21. calderastudios says:

    @noel_llopis It seems that the “good” polishing was the likely cause of the “bad” extended dev time.

  22. Great post! In terms of marketing, one thing i look forward to implimenting is cross promoting apps with one or more other small shops.

  23. Will says:

    I think the development time you spent on the wave system was actually a good thing. To actually code it and see it in action is much better than working it out on paper in my opinion. I know because I often get into the “design-mode” trap of trying to plan for everything before I code. I think getting something on-screen that you can interact with is extremely important for the agile development / iteration process. Of course a small amount of planning before coding is ideal, but I think it’s better to code first and ask questions later than ask questions forever. You can work on the balance, but be very careful not to fall into the trap!

    The only thing you did wrong with respect to development time on the wave system is not setting a “support iteration” task in your mind/schedule and embracing it. =)

  24. James says:

    Hello Chris,

    I have been following your progress for a while and have enjoyed reading your posts and have shared many similar experiences along the way.

    Marketing is something that I have enjoyed discovering through my learning process. One of my biggest frustrations has been understanding how many potential customers who have found the App in the store actually buy the App.

    As this data is not available it makes it very difficult to understand the impact of things such as the description, icon and look and feel of the screen shots. At the end of the day getting throughput in terms of App store views is only half of the problem I mean how do you know that you aren’t having thousands of views per day but something is preventing a purchase and one of your competitors are getting all of the sales?

    Is there a reason for deciding not to release an iPhone version of the App, as a parent I would have bought Astro Noughts but I don’t own an iPad.

    James

  25. Chris says:

    @CephiSystems

    Thats an excellent idea. I think if you find Apps that match your theme then cross-promotion can work big time. In fact, I remember reading a post on the subject from Noel Llopis here -> http://gamesfromwithin.com/communicating-with-players

    @Will

    You make a great point. On that subject, I find more and more that I compile directly to the device to test rather than using the simulators (especially with iPad dev).

    I think you’re right that the iteration was necessary and the game is all the better for it. I’m certainly weary of over-planning.

    I suppose I just feel like I’ve thrown a lot of code away which could potentially have been avoided had I just sat down and designed a system to begin with.

    @James

    Thanks for the kind words. Glad you’re enjoying the posts.

    You’re right of course. It would be fantastic if, in addition to sales data, we had access to impressions to calculate the CTR. I think that there are deficiencies in my App store description and icon – something I plan to remedy.

    My reason for not releasing Astro Noughts on iPhone is that I believe that the devices are different enough to warrant design specific to each of the platforms.

    If I were to create an iPhone version I would want to make significant changes to the interface. I’m not saying that I won’t do this, just that its a huge investment of time. In addition to this, Astro Noughts does not use vector graphics. This means I’d have to recreate them in a lower resolution. That said, it is something I am considering.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.