Over the past month or so I have been seriously working on JumpDuck. I thought that I would document my lessons learnt (which are obvious but need to be remembered when working on projects).
I have kept on a tradition from Softwire which is weekly status emails. But working alone this means I needed to find someone else. Fortunately my friend Justine Solomons (used to be the head of Sales for Softwire) has just started her own company and is in a similar situation working alone. Her business is primarily to do with literature, having experience in the digital publishing world, she is also creating networking events for small time writers to meet big publishers. Her company is called ByteTheBook and their website contains many book reviews as well as short stories and events, networking and book clubs. Anyway, despite having completely different areas we can still bounce ideas off each other and ask sensible managerial questions to make sure the other is on track. (e.g. who do you need to speak to for X and how are you going to acheive Y?). I have found this process extremely useful to make sure I am doing things correctly and I hope Justine feels the same way!
As part of my weekly status email I list what tasks I expect to complete on each day (roughly) and plan out each week’s work and goals in detail. I also include a section about personal reflection to understand how my motivation is affected by different events and to analyse how productive I was and why.
Below is an extract that has been kept in this email each week to make sure I keep it in mind:
I am currently very motivated to get my stuff working. I really want to show people what I can accomplish myself. I need to keep the memory of this motivation to keep me working as hard as I want to. I need to keep this balance in my life of fun things as well as the work I want to complete as well. (kept for motivation).
Structuring and planning everything in detail is a great way to not get in a muddle. I need to make sure I do this for EVERYTHING! (e.g. new projects, consultancy, networking)
My motivation is quite high as I really want to release this game, and move on to and work on other projects so I can show them off also.
I have also learnt that the time spent planning things is almost definitely always paid back further down the line. It would be great if I could plan things whilst bouncing ideas off other people – so getting a desk in Softwire might be sensible (of course not taking up Softwire time anywhere).
Also estimates are incredibly difficult. I have been way out (both under and over estimating tasks) even when breaking things down to the hour level. E.g. a three hour task once took 2 days, and a 4-8 hour task took just 20 minutes. I can only assume that estimating will get better later, but it seems to just be picking things out of a hat right now. Planning in more detail should hopefully get rid of some of this uncertainty.
Top down design is probably the best approach as you stub out methods and understand how things work on a whole and then do the simple implementation later.
Planning out daily tasks is actually a really good way to keep focussed, especially when you have a goal of work to be completed in a week and so can be a bit more flexible with working hours – e.g. go for a bike ride down to Greenwich on a Thursday morning!
In terms of game development, it is harder than it looks. Simple things (you would have thought) like an online leaderboard are actually quite difficult. Making it secure can take a lot of planning and work and actually allow you to show absolutely nothing from it!
However, like all software, understanding exactly how the game will work is best to plan out in advance, otherwise you get to hacking things together which just isn’t really that nice!
Having done two rounds of testing I notice that graphics is definitely not my strong point (go figure!) and making things easier is definitely something that needs to go into mass market games.
I don’t really want to spend too much more time on this game as hopefully it will be the first of many and I want to get on with some new projects so hopefully I am going to submit to Apple by the end of this Jubilee weekend. Therefore learning the limit of finished and perfected is something that needs to be weighed up on a case by case basis.
I would really like to develop some more games for the iPhone as I think I can take the lessons learnt from JumpDuck and make better games in the future.