How We Make Games

August 24th, 2009


fish

Unless you’re new around here, you’ll have heard that over the summer I was working on Pollen with Digital Colony. The team of five was composed of three programmers (myself, Ian and Kieran) who had worked together before, along with two artists (Jess, and Abi who also took on the role of team leader). Our previous project, Some Assembly Required, experienced mentors had introduced us to Scrum and given us advice throughout the development process. Moving on to work on Pollen we had a fair idea of what had worked for us and areas we could improve. Continue reading »

Some Assembly Required So Close To Completion Update

March 31st, 2009


So many particles.

So many particles.


As you may previously have read, this year my team “Screw The Nut” has been working on a 3D platform game through the BBC’s prototype project and the University of Abertay Dundee, “Some Assembly Required”. Our final hand-in to the BBC is tomorrow so I thought I’d take this time to build a little suspense before I share the final game-play videos and let you see a few screenshots.

The game itself sees Warran T. Void, a lost and damaged little robot, wake up alone in a factory. By collecting new parts from vending machines he can rebuild himself with new abilities, allowing him to overcome obstacles and progress through the game. Our prototype level introduces you to a pair of suspicious character who instruct you to climb a giant construction robot and collect pickups for them, and playing as the naive Warran you enthusiastically oblige.

Would you trust these gentlemen? - experimenting with full screen effects.

Would you trust these gentlemen?

These are all taken within the last week as we built our level and did some final testing. It’s been really awesome to see our game go from a series of platforms on a plane into a full, playable prototype level as it was only recently that we were able to bring all our art assets and platforming sections together into one application. As you can see, we went a little overboard with bloom, particle effects and shiny things however our actual focus throughout development has been on gameplay mechanics and the physics behind this.

The game was implemented over a period of two and a half months, that’s ten week-long development iterations, following on from general story and game-play designs we worked on late last year. A lot has changed from our original ideas – in particular splitting the BBC’s “interactive narrative” brief into two parts consisting of this game and a separate research project – but we’ve kept the core mechanics and level in tact.

Did we mention our level is also a robot?

Did we mention our level is also a robot?

The team itself consists of ten third-year students: five programmers including myself, two artists, two producers and a sound engineer. We also had the assistance of programmers from the BBC, and a mentor from Real Time Worlds. This made a huge difference to the project in terms of organisation and development and keeping on track, as well as handling technical problems with our codebase, and (at least as far as I’m concerned) has given us far more experience to carry over to our future projects than we would have gained on our own.

So, fingers crossed for our demo tomorrow and our showcase later in the term (which I believe is open to the public, more details will follow if that’s the case) and hopefully we’ll have a final video prepared for you soon.

Making Progress (And Not Just Talking About It)

March 6th, 2009


At the beginning of this year, we finally started implementing our design for a group project game. Considering that we were meant to be working around 40 hours per week and have 4 seperate modules for this term, it seemed fair to allocate 10 hours per programmer of development work per week (considerably more than the 20 hour total development time our producer originally planned in order to “make his charts look pretty”, but that’s neither here nor there).

Looking at our burndowns, table and charts, we really are doing 10 hours of development. At least. Plus research. Plus fitting in time between classes or over lunch. Plus helping other people over their shoulder or on MSN.

…Plus meetings.

We normally have two meetings per week – a whole group meeting, which normally take around an hour although it can easily last longer, and a sprint retrospective followed almost immediately after by a sprint planning meeting, which often lasts three hours and sometimes as long as four.

That’s right,

1/3rd of our weekly project time is spent purely sitting in meetings.

Does that sound as horrific to you as it does to me?

My first thought was “What can we cut out to shorten this time?” and after some consideration, there are a few ways we might be able to limit our time to some extent, but there’s nothing that would really make a significant impact. We meet with the whole group once a week to discuss progress with the artists, and to give feedback to each other about the direction of the game. It might be possible that only one programmer could attend this but there are decisions they couldn’t make without deferring to the other developers – going back and forth would probably take just as much time. Compared to the length of our SCRUM related meetings, this is also a fairly small consideration anyway.

As inexperienced developers working on our first group project, we’re learning a lot from each sprint, and are constantly making changes (hopefully improvements!) to the way we work. Whilst developing a finished game is important to us, this is above all a learning process and cutting down on our sprint retrospectives would be cutting down on the time we have to reflect as a group – clearly not something we’d be willing to sacrifice lightly. Similarly, planning our next sprint take a fairly fixed amount of time. We need to select the stories we’re working on, split them into tasks and get estimates. We also take time at this meeting to discuss roadblocks we’re facing, technical changes and get help with solutions since we have far more exerperienced developers around to help us. This would take up time no matter when we did it – over MSN, over lunch, when we’re meant to be programming… it’s not something we could easily eliminate.

So maybe all the time we’re spending reflecting on our progress *is* necessary. Maybe the real issue is that formal group development just doesn’t scale down all that well. I mean, the amount of time we’re spending on this project seems a lot when we’re also working on other coursework and modules, but what’s 10-15 hours in the real world? Compared to working full time on a project, that’s next to nothing. Even dedicating 40 hours a week to a project though, it would be hard to imagine our meetings lasting a whole lot longer – the overhead appears to be almost constant.

So maybe the problem is with our implementation of SCRUM, maybe it’s a problem with SCRUM in general and maybe it applies to almost any development methodology – either way, for a small project the amount of time we spend in meetings per week is unnacceptable.

So for the sake of future students embarking on these projects, can anyone offer some suggestions? Recommend an alternative development method perhaps? Help programmers to spend as much of their time as possible on making progress, and not just talking about it?