Game Development Community

Plan for Steve Taylor

by Steve Taylor · 12/13/2004 (12:00 pm) · 8 comments

The NinjaBee team, creators of Outpost Kaloki, decided to give the GID event a try. Most of us have a lot of experience with larger teams and big projects. In GID, the challenge we had was getting back to basics no over-designing or elaborate art assets. Even with our larger team we had to make sure we could get it done in 24 hours.

Note: This summary was written by both Lane and Steve, thus the 3rd person voice...

Since none of us could work on the game on Sunday, we shifted our time slightly and started on Friday evening. In the end, the vast majority of the work was done on Saturday.

Design Phase:
The first hour was spent detailing what we were going to make. Coming into the GID we had all pretty much agreed to do a turret defense game. We all loved playing RTS turret defense scenarios and figured we could put in winter terrain and snow/ice based turrets. A lot of cool ideas were mentioned but we tried to stick with features that we could actually do in 24 hours. We ended up with the following design:

1. 3D Turret Defense game with an overhead view at slight angle
2. Multiplayer networked
3. Futuristic look, robotic spiders as enemies
4. Turn based

Friday Evening (setup)
We started from our generic engine test application and had a basic shell game up and going in a few minutes. Incorporating our generic network code (and stealing heavily from an internal test network game) so we could connect to a server took another bit of time. After an hour or so, we had the code checked into the CVS server, initial placeholder game data shared over a network, and any team member could check out the latest version of everything and try it out. No actual game yet, but a starting code base.

While that was happening, Adam was working on A* code, mostly from scratch, Brent and Lane were collecting reference art and starting on the look of things, and Chandler started laying out level ideas.

After 2 hours on Friday, we quit for the day and arranged to meet Saturday morning at 10am.

Saturday
Here's what we started with on saturday:
www.wahoo.com/snow/10am.jpg
On Saturday we were joined by a bunch of new people including Jay, Billy, Alex, Josh, Nathan, and Eric, though some of them had to leave pretty quickly.

Eric did a bunch of sounds and music based entirely on a phone conversation about the game. Those were finally added in the wee hours of the morning after most everything else was done.

Billy did a bunch of environment art that turned out really great. It's a shame the camera doesn't get close enough to see the cool work he did, or the awesome spider monster Josh built. Josh did animations for the spider, too, but we had technical problems and didn't had enough time to work them out, so the spider doesn't animate in the game. Maisey popped in for a bit to do some interface art.

Jay worked on the system to announce public internet games on a metaserver and list metaserver games. Jay had to leave when this was done. The announcement and web page system is in and working, but we didn't have time to add a nice gui for selecting an internet game from a list, so currently you need to visit the web page (http://www.wahoo.com/cgi-bin/gamelist.py?cmd=listgames), pick a game there, and type in the IP manually.

Chandler mapped out a dozen cool levels and started getting them in game format once he could see what they looked like in the game. The game currently has one level, but he built several that work very nicely.

Alex worked on some particle effects for a while before he had to go there are effects in the game for spiders being hit, spiders dying, and towers being destroyed. We could have done a lot more here, but just getting the particles fundamentally hooked up took a bit more time than we had hoped.

Adam and Nathan did server and client code, AI, game rules, and a ton of other stuff Steve had hoped to get done but didn't have time to do.

Steve did overall organization, project setup, engine tie-in stuff, events/particles (including sound triggers), music, and GUI code.

Brent built some art himself, but also organized art efforts, converted formats, cleaned everything up, and got art into the game.

During all this time, Lane was in charge of general administration, junk food, pop, chinese food, etc., and helping out in other various capacities. Chandler supplied pizza on Friday.

Problems
We ran into problems with one of the asset management tools we use it wasn't working as well with multiple users as we thought it would. That slowed us all down a bit.

Steve spent more time solving team problems and keeping things running than he had planned, and didn't have a lot of time to code. This resulted a bunch of of things being pushed onto Adam and Nathan, which they handled very well.

First Playable
We had a first playable game around 8pm Saturday, which was a bit later than we had hoped, but not bad.

www.wahoo.com/snow/845pm.png
We incorporated gameplay changes, spent a while adding things we felt were critical, and tried to make what we had look good and play right.

www.wahoo.com/snow/10pm2.png
Where We Ended
Toward midnight, most of the team had left. Adam and Nathan finished up the network play and gameplay adjustments, and left. Steve finished up sound and incorporating a few things from various team members. At around 3am, Steve technically had a few hours left in the time limit, and he chatted with Jay and Brent a bit about possible things to finish up, but at that point the game was stable and demonstrated all of the fundamental gameplay it was meant to, so it seemed like a good place to stop. Steve wrote a readme file, did a little bit more fiddling with controls, and zipped up the version you can get here:

www.wahoo.com/snow/snowdef01.zip

www.wahoo.com/snow/3am.jpg
The art is going to be horribly underappreciated due to the camera angle and distance. Here's a render of the spider, so you can see more of what it *should* look like...

www.wahoo.com/snow/spiderrender.jpg
Results
The GID was a great experience. We shot pretty high, but we knew we were shooting high. We felt we could more easily get people excited about the project if it was a grand idea, and we knew with more people we'd have to deliver a more impressive game.

Overall, we're proud of what we did. There is a bunch of stuff we wish we had been able to add or change. But the game certainly demonstrates the fundamentals of the gameplay we were going for and provides a great base for playing with some more ideas and proving what works and what doesn't. The networking works well and the art is great, even if you can't see all the awesome detail.

We also had a lot of fun. We had tons of junk food, pizza, and Chinese food, and we joked around a lot and had a good time.

Some of the things we hope to do differently next time:
* Pick a game with a little bit smaller scope
* Work out some minor problems in our toolset
* Work out the animation path more carefully
* Balance initial workload better
* More focus on a better camera to show off cool art

Some things that went pretty well:
* Getting 3D/2D art into the game along our normal path
* Server/client planning and implementation
* Integrating contributions from a dozen people
* Sharing code/builds/assets across a team (with a few exceptions)
* Fun and Food

Hours
We had 12 people working off and on, some for as few as 2 hours, some for as long as 19, and everything in between. We had a very open-door arrangement anyone could show up, contribute, and take off when they wanted.

The Team
We pulled together most of the Outpost Kaloki team along with a few special friends:

Steve Taylor
Brent Fox
Adam Helps
Nathan Slawson
Alex Hall
Chandler Copeland
Scott Maisey
Lane Kiriyama
Billy Eggington (Eggington Productions)
Josh Singh (Sensory Sweep)
Jay Barnson (Rampant Games)
Eric Nunamker (Alpine Studios)

#1
12/13/2004 (12:09 pm)
I forgot to mention that I'm impressed with Michael Lehenbauer who made a game in a day completely on his own, and did a great job. I'm proud to know him.

Now to figure out how to absorb Michael into our team next time... :)
#2
12/13/2004 (12:31 pm)
Best quote of the day:

Chandler: Do you guys have a level editor?
Adam: Yes, we do. It's called "notepad"...

It was a lot of fun spending the better part of a day cranking out a game. I think I probably went a bit overkill on my piece of the puzzle - the network match-making. But since I knew I wasn't going to be able to be there when they integrated my piece, I was worried about making it as painless and bug-free as possible. Of course, all these artists sitting around me couldn't figure out why I got so excited about just seeing a list of games properly appear and dissappear as text data on a boring white web page.

Anyway, it was a good time, and kudos to Steve, Lane, and Brent for pulling off this off. While we may not have gotten everything done we intended to finish within 24 hours, it was pretty neat seeing what we WERE able to do, including the multiplayer support. I'm pretty proud of what we accomplished.
#3
12/13/2004 (12:33 pm)
Awesome! I didn't realize you had multiple levels and everything. It's a shame that stuff didn't make it in...

Thanks for the mention. Maybe I can join in next time... Can we port your engine to palm? ;-]
#4
12/13/2004 (12:56 pm)
@Jay: Your piece turned out to be extremely easy to integrate. I had to include in front of in one file, and after that, no changes, no fixes, it all just worked right out of the box. Good job!
#5
12/13/2004 (12:59 pm)
Dang, I'm good.
;)

Glad it worked out okay. I know you wouldn't want to have to actually MAINTAIN that ugly code...
#6
12/13/2004 (1:55 pm)
Nice work guys, very impressive for a GID
#7
12/13/2004 (3:34 pm)
Great work guys. Hope you're around for GID9 when it'll hopefully be a bit more normal :)

I'll get the entries page updated tommorow.

T.
#8
12/13/2004 (6:58 pm)
Way cool spider!