Well,
I said I was going to keep you updated. And here’s the update. I’m officially into the
development phase of my archery game. Meaning I’ve got everything plotted out. Now I just need to go and actually build it. You know, the easy part. Well, maybe it’s not that easy.
So what exactly do I mean by “plotted out”? Well that’s not an entirely simple answer. Building any software at all can be rather daunting regardless of team size. And it’s true that you can skip some minor steps when there’s only one person on the team. But you still need to break your project up into pieces in order to keep things in perspective and not be overwhelmed by its grandness.
Speaking from someone who actually hasn’t built any full-fledged games, the most important thing to remember is to take things one step at a time. Sound familiar? Well there’s a reason for that. We as people tend to panic when only looking at the big picture. I know that I do that in my own life. I want to buy a house. But the thought of saving up for a deposit, getting a mortgage, and subsequently paying off said mortgage fills me with mortal dread. You’ve got to break everything up into smaller pieces and then complete each task one by one. Do that and before long you’re sipping home-made lemonade on the front porch of your new home. Well, maybe it’s not that quick.
I talked about
writing stuff down earlier. And that’s probably the most important step. Come up with a great idea, and write that idea down. I did that for my archery game. After that I entered my design idea into a
wiki. This enabled me to get a nice birds eye view of what my game would be like. A nice semi-vague description of all the modes, menus, and sections to my game. Guess what I did next? You got it, I broke everything down into their components. I mentally went through every step that the player would go through in the game. I then broke each of those moments down into 2 things. Art assets/sounds, and scripts. In essence, what you are seeing, hearing, and doing. That in essence was a sort of manifest that listed everything I would need to do to complete my game.
So what did I do with that list? I entered it into my issue tracking software of choice,
JIRA. I’ve got to be upfront and honest here.
Robyn, my wife, works for
Atlassian, which makes JIRA(named after the japanese pronunciation for
Godzilla). Atlassian also makes my wiki of choice,
Confluence. Both are very solid products that any aspiring developer can and should use. A
standard unlimited user edition of JIRA runs around $1200 US, and a
Confluence 25 user license is $800. However, both
JIRA and
Confluence can be acquired for free with personal licenses. But I was lucky enough to be able to pick up a 5 user license of JIRA for $5 when
Atlassian ran a 5 day long promotion a few months ago. I’m still kicking myself for not picking up a 5 user Confluence license as well.
Stupid frugal me.Anyways, yeah. Each item on my manifest got entered into JIRA as “issues”. Those issues were divided into 2 components(or sections), “Art Assets” and “Scripting”. After that I created another component labelled “Level Assembly”. That component centres around the combining of the issues in the other two components into game levels. The great thing is each issue can contain plenty of tidbits of info. Things like due dates, estimated production time, and which versions they affect/fix.
I only have 2 days a week(weekend) to work on my games. Not very much I know, but
one’s got to pay the bills. So I setup my work week in JIRA to only contain 2 x 8 hour work days, and checked out my “User Workload Report”. This would give me a breakdown of how long it would take to complete all issues currently assigned to me. JIRA of course bases these reports on how long I estimate each individual issue will take to complete. The answer I got wasn’t very encouraging. 43 weeks, 1 day, 1 hour. Mark July 1st on your calendars people! Yeah not likely. I overestimated. My overestimation stems from the fact that I haven’t actually done a bunch of these tasks before. I have no clue how long it will take for me to implement
Unity’s networking scripts. But I figured that I’ll be able to have it sorted within 12 work days(6 work weeks). If I can’t get it figured out by then, fuck it. Feature gets scrapped. Still, it’s definitely discouraging to see something listed as being 43 weeks worth of work. That’s a big damn amount of time. So what do we do? No, we don’t
break out the jaggerbombs Nick you drunk bastard! We divide up the work even more.
Which brings me on to “versions”. I looked at the development process and broke that into pieces(versions). These “versions” or “milestones” help to further break up the development of my game and enable me to see progress in the form of playable snippets of the game throughout the whole development process. Every issue I had created got assigned to a version. I now know what I need to do in order to get my prototype done and out the door. Breaking the development up into milestones also helps me to plot out what I need to do for each and every version along the rest of the way. It doesn’t make sense to only have the game functional after developing for 43 weeks. But a playable prototype in 6 weeks and 4 hours. Fuck yeah that’s encouraging. So now I’ve just got to do it. I’ll get back to you on that after this next weekend.
Tags: Game Design, Game Development