A game in a week!

It may not quite be Google 20% time, but a number of us at RTW were given last week off “normal” work, assigned randomly to small teams of 5 or 6 and set the challenge of making a complete game of our design.  Without a 3D artist, my team went for “Nanotube”, a tunnel shooter with massively over-the-top speed, particles and music:

Tutorial level.  Pink things with motion trails are enemies.  Lots of explosions in foreground

Tutorial level. Pink things with motion trails are enemies. Lots of explosions in foreground

Each level was a race against the clock – so collisions just slowed you down rather than killing you.  Accelerating pushed you towards the middle of the tube, and you could rotate left/right including flying upside down.  We had a variety of powerups including the usual weapon upgrades, speed boost and score multipliers as well as some undesirable pickups: time penalties, growing the ship (making it harder to avoid stuff) and losing all weapons for a time.  Each level had a new theme – music track, tunnel texture, enemy colour, particle textures etc.

Level 2 ... new theme, new explosions

Level 2 ... new track, new enemies, new explosions

Making a game in a week was intensive and exhausting, but in a good, energising way.  It’s really amazing how much you can get done in that time.  You might wonder why our normal projects take so long – until you look at the code!  Good engineering definitely well by the wayside.  I heard another team nearby joking about how they were making everything public.  I could really feel the poor engineering beginning to slow us down a bit right at the end, like walking into deeper and deeper mud – we wouldn’t have been able to keep it up much longer in that style!  The week ended with everyone walking around and trying all the different games out on Friday afternoon.  We moved our demo to the boardroom with its massive screen and surround sound, and it was truly brain-melting🙂

Level 3 ... avoid the spinning "propeller blades" ... a perfect piece of programmer art

Level 3 ... avoid the spinning "propeller blades" ... a perfect piece of programmer art

We used XNA and it turned out pretty well.  There’s not much to say about it really except that it seemed just right for a project this length: easy to learn, providing some powerful functionality (the content pipeline was particularly effective and time-saving), nice and simple for a small project, and it seemed to just work, not get in our way etc.  Probably the nicest thing they could add would be built-in support for creating user interface (front-end menus, HUD etc); we mostly just avoided this through minimalist game design – I think the high score table at the end was our only UI (we decided that “pausing is for wussies”).

Level 4 brings stabbing spikes ...

Level 4 brings stabbing spikes ...

Working with a different group of people to normal was a lot of fun, too.  Duncan did all the graphical magic with some amazing shaders (I love the speed-based radial blur) and particle effects; Robbie transformed himself into an audio guy for the week (yes, we teased him about his self-composed win/lose music, but the game was heavily audio-dependent and he really nailed it); Riccardo discovered how frustrating player controls are to get ‘feeling’ right (but there’s no doubt he did it); Sam seemed to spend most of the week feeding us junk food “to make him feel skinny” (admittedly, I think he found time to make all the art for the game somewhere in there!) and Kevin designed all the enemy waves and gameplay.  It was a real pleasure to spend a week with them.

Fly upside down if you want to get these points ... then avoid the spinning grate

Fly upside down if you want to get these points ... then avoid the spinning grate

For my part, I did two main things: collisions, and the enemy wave system.  The collisions were dead simple – everything was a sphere.  The nice thing about spheres is that it’s trivial to write an accurate swept sphere-sphere collision function (I felt that proper swept collision would be really important at the speed of our game; the downside was that spheres didn’t fit all the objects perfectly, of course).  I actually spent most of the time on the enemy spawning, which turned out to be mostly file parsing code … not very glamorous but someone had to do it so that Kevin could focus on making the game itself🙂

Pentagonal explosions rock!

Pentagonal explosions rock!

I ended up really proud of what we achieved in a week, and we were lucky enough to pick up a 3rd place prize.  I say lucky because it was astonishing to see what everyone else had done, to the point that I felt quite guilty getting a prize at all.  The breadth of concepts, the polish level, the stunning artwork, the humour, and the sheer fun of everything on show was a sight to see.

We called this "object hell".  Purple bullet tracers are from the shotgun powerup.

We called this "object hell". Purple bullet tracers are from the shotgun powerup.

I definitely hope we get to do this again some time🙂

This entry was posted in Game development, Realtime Worlds. Bookmark the permalink.

6 Responses to A game in a week!

  1. Bert says:

    Sounds like the week was a lot of fun (especially the buzz on Friday night), hope RTW lets you get the actual games up on line would be great to really play them.

    Cheers,
    Bert

    • lukehalliwell says:

      Unfortunately, I’m pretty sure we couldn’t release our own game officially as it stands – the music tracks were just taken from our personal collections. And I’m not sure how much stomach we have for making changes now!! It would definitely be nice to show our game in motion though, the static screenshots don’t do it justice.

  2. Sambeau says:

    And you completely nailed the experience in your prose.
    Thanks for the kind words (and letting us invade your office)😉
    It was a Blast!

    ps: want some cake?

  3. mathew says:

    I’d love to see our game on xbox live🙂
    And I still have some ideas🙂

  4. Riccardo says:

    I did the Trails as well😛 (the only way to escape from the player controls)… yeah more a hack than real “proper” code… but it works😀
    Anyway… a really amazing week!😉

  5. Whaledawg says:

    If you distributed it without the music and just a list of the required music files(assuming they were all loaded from some folder) you could distribute your game and still be on the up and up.

Comments are closed.