Archive for October, 2007

My Latest Game is at the Alpha Stage

Monday, October 15th, 2007

I compiled and sent an alpha version of my latest game to the producer (at Big Fish Games) yesterday and it felt great to have finally reached that stage after 7 months! The alpha version is “feature complete” in that it contains everything from the design doc, but it’s not yet “media complete” as I’m waiting for a few more graphics plus proper sounds effects/music instead of my placeholder ones.

Next up we’ll be deciding on what items from the large cosmetics and polish list that I built up during development will actually make it into the final game. I’ll code these and then we’ll release a media complete beta version ready for evaluation by BFG’s testers – that’ll be a nerve wracking time. Hopefully they won’t find many bugs and won’t ask for many improvements because I’ve tested it very carefully so far and also we iterated over most of the game features many times to get them feeling right.

Throughout development I keep a time log so that I can see how many hours I put in each week and what those hours are actually spent on. It gives some pretty interesting stats as follows:

- Total Hours = 681
- Coding/plugging in graphics = 32%
- Code = 30%
- Talking to Designer (via email) = 10%
- Talking to Artist (via email) = 6%
- Research = 6%
- Fixing Bugs = 4% (many bugs are fixed under the code category)
- Organisation (To Do lists etc.) = 3%
- Planning = 3%
- Testing = 2% (in reality a lot of testing occurs under the code category)
- Releasing test versions = 1%
- Sound = 1% (this will go up when the proper sounds arrive)
- Forums = 1% (research on forums, probably much of this is in the main Research category)
- Admin/Logs etc = 1%

So what can we see from this? Well the majority of my time (62%) is spend productively coding and over half of that is programming graphics effects which are “extra” to the game engine. Quite a lot of time is spent plugging in graphics, positioning them, writing back to the artist for changes, and trying the new ones out etc.

I’ve spent 16% of my time communicating with team members, wow that’s a lot, but we have a good working relationship and exchange of ideas, thus the game is definitely better as a result. Most of this communcation has been by email not by Skype or MSN, so a LOT more time has been consumed typing emails that probably needed to be. However, the advantage of emails is that we all have a proper record of what was said and agreed on – also it’s often more convenient for us to reply to emails that to talk “realtime” especially as I’m in the UK and they are in the US (different coasts).

You can see that 6% (3+2+1) of my time is spent Organising, Planning and doing Admin. I keep a detailed spreadsheet of all the tasks that I need to complete split into categories with time estimates for each, and ideas for the wishlist etc. I often extract a subset of tasks to work on for the next few days, then as I code I write even more detail on a pad next to me and cross stuff out as I complete it. In reality a lot of my planning is done “on the fly” during code so that figure of 2% is probably a bit low. Planning is great, once you’ve planned something in detail, it’s merely a case of typing it, making sure the syntax is correct, and removing any bugs … well almost ;-)

So 7% of my time was spent doing Research on the Internet and on Forums, and also writing test code related to the research. The research was sometimes about finding solutions to technical issues to do with the language that I’m using, and quite a lot of it was physics/maths research that I’ve used for a few neat effects in the game. It was like going back to school again, but was pretty good fun.

You may have noticed that 681 hours over 7 months is only 97 hours a month so like only about 24 hours a week. Well there’s several reasons for that (no I wasn’t just lounging in bed or watching TV ;-) ) I took 3 weeks holiday during that period. Also I was running another business during that time which took up 100+ hours. Plus I did a week of IT consultancy for someone during that time and also some odd IT consultancy jobs here and there. I also have to manage all of my home and business finances which means a certain amount of time each week doing paperwork, VAT returns, accounts etc. Furthermore, I’m a dad, so sometimes I had to look after my boys, and othertimes I had to do chores :-) However, sometimes I just didn’t do any work, like on sunny days when I’d tended to my plants in the garden or walked into town to go to the bank etc. Oh and I also surfed the Internet a bit and went on forums (naughty me) – but I did avoid getting my time zapped by Facebook. I didn’t play many games in this period which is a shame as I have been very busy with all that other stuff, but I hope to correct that this winter.

OK that’s it for now, hope you enjoyed my breakdown. I’d be interested to see how other developers divide their time to see if my breakdown is similar or wildly different.

Screens, Screens and more Screens!

Tuesday, October 2nd, 2007

Well my current game is coming along nicely. It should be ready for a feature-complete Alpha release next week followed by some polishing and beta testing and then post-beta polishing/fixes for a Gold Master at the end of the month (fingers crossed!)

The actual game engine was written very quickly, then we spent a couple of months polishing it with extra features and visual effects. However, one thing you should never underestimate is the time taken to make extra (non-game) screens in your game. I’ve spent the past two months working intensely with the artist making extra screens and writing all the supporting code. The game has the following screen:

- Game-screen (obviously)
- Loading screen
- Title screen
- Options screen
- Credits screen
- Player Manager screen inc. Enter Name dialog and error/confirmation dialogs.
- Trophy Screen
- Career Stats Screen
- Shop Screen (yep it’s got a shop!)
- Level Select Screen
- Story Screen
- In-game menu
- Hint dialog
- Special dialog
- Various award dialogs
- End Level screen complete with a whole raft of stats.
- Intro animation
- Game Finished animation

Phew! You can see what I mean about a lot of screens, and some of them needs tons of code. However, I’m pretty sure I can reuse lots of code (or at least the principle) in future games, which will speed things up. But plugging in and aligning all the graphics takes ages. Normally there are errors with them too that need to be fixed, and then someone at the top says they want to change them anyway ;-)

Sometimes when people say they are going to make a game they are only thinking about the “actual” game-engine, not all the other stuff that you need for a modern game to cut the mustard. Anyway, something to think about – I hope that you found it useful.