Previous Blog Next Blog
Prev/Next Blog
by date

Plan for Steve Taylor

Plan for Steve Taylor
Name:Steve Taylor 
Date Posted:Jan 23, 2005
Rating:5.0 out of 5
Public:YES
Comments:YES
RSS Feed:GarageGames Blog feedor Subscribe with .
Profile Page:View profile page for Steve Taylor

Blog post
A ridiculously overdetailed postmortem summary of the GID 9 Rome in a Day project by the Wahoo/NinjaBee team.
Game in a Day 9: Rome in a Day
Team NinjaBee entry, 23 Jan 2005

Programming: Steve Taylor (stay)
Art: Brent Fox
Music: Adam Helps

This is a ridiculously overdetailed postmortem summary of the GID 9 project by the Wahoo/NinjaBee team. If you're easily bored, skip to the end to see the final screenshot and download the game.

Deciding
We'd been waffling for a week or so on whether we were going to do this GID. We talked about a lot of options, including basing the GID on a new 2D engine Adam has been working on, but Adam got sick during the week and I wasn't sure if I wanted to do anything for this GID anyway, so we just sort of sat on the decision.

Friday I went to lunch with Brent and we talked about a specific idea for the game, and when we got back from lunch we waffled a bit (OK, a lot) more and then finally decided to go ahead and do it.

The Design
This game is based on one of those ideas we have sitting around in a drawer. It was originally designed to be a Flash game (which I still think it would be pretty cool, but I don't know Flash well enough). The basic game is a city building game where you feed people, grow your population, assign the people to various tasks, and build a cool city with various interesting buildings.

Setup
Because I can't work without all my tools, I had to do the full project setup process, which takes about an hour, including creating the CVS repository, setting up the networked asset sharing system, creating the visual studio project with the right settings and libraries, renaming starter classes, etc. It might be nice to cut down on the time this takes, but how often do I start a brand new project? I got a little distracted (I was at work, after all, and things came up) so it took me about 2 hours. We started at 2pm Friday and by 4pm I had this:


That's a piece of art from our previous GID and a big colored origin marker. At this point we had a nice camera (I stole our "viewer" camera, one we just use for debugging, normally and used it for the main game camera) and 3d object display and the whole toolset was set up to share assets, push code around, etc. Good.

Music
About this time Adam started working on music (Adam is one of the main programmers on Outpost Kaloki and a major programming contributor to our previous GID, but he wanted to write music for this one) and it seemed to be going well, so we agreed that he should write two "Town Music" pieces that were sort of seasonal, and we'd use them both. Without this, we would have had no music at all since I didn't want to drag anyone else into this GID, so I'm glad Adam decided to go this way. The music adds a ton to the atmosphere.

Fade to White
Brent had mentioned, a few days before, an idea for a visual style he wanted to explore, where the game was drawn against a base of white rather than the standard black, with objects fading into the white. So we decided to go ahead with it here (in fact, I think this is part of the reason we even decided to do the game). This led to the idea of colors changing with seasons, and poof, we had a distinctive visual direction for the game.

First Hut
Brent in the mean time had built the first model, a hut, with a few tricks: The icon floating over the hut is a separate material in the model so I can easily replace it on the fly in the code with another icon. This was how we planned to offer the user a bunch of different buildings without having to build a bunch of models.


Brent built 12 ground textures, one for each month, and gave me a bunch of color values for the fog and background color of each month, for a seasonal effect. Brent had to leave just before 5pm and a bit later I had the changing ground colors working:


I realize this looks like a miniscule step from the previous picture, but I had to track down a strange problem in our texture management system when I tried to use a weird technique for globally replacing one texture with another. It took me a while to work out. :) I'm always happier when I'm improving our core engine, though, so I don't mind the extra time.

At this point, I started working on an effect to fade (using fog) from one season to another. This was WAY harder than I expected it to be and I had some trouble. I also took an hour to chat with a former employee who dropped by, and went with Adam to grab some dinner. Finally, at about 8:20, it was working. You can't see it here, but hey, next screenshot:


Remote Work
At 9pm Brent was at home ready to contribute more art, so I remotely helped him set up the asset management system on his machine at home. This took longer than it should have, but we were communicating with Yahoo Messenger, so it was a little awkward. I should have just called him on the phone. :)

Finished Music
Adam had finished two music tracks and took off around 10, I think. I put the music in the game quickly, but the music looped from one track to the next without regard to season. It wasn't until the next day that I had the music specifically fade in and out between the appropriate seasons.

Initial HUD
Anyway, while Brent worked on real art, I put up the initial HUD using old art I had lying around from other projects and by the time I was ready to quit at 1am Saturday morning, I had this:


Stress
I went home and tried to sleep, but I tossed and turned, worrying about the interface. My idea up to this point was to let the user drag sliders around to change people allocation (like in Spaceward Ho!). There were downsides to this and I was really worried about how it would play and how interesting it would be.

---

Redesign
I woke up on Saturday with a new idea for how to handle people allocations - we'd go ahead and show the people on the screen in 3D and let the player drag them around. This was more technically complex than the previous idea, but bound to be more fun and better-looking.

I started again officially at noon. I built a simple little token man in 3D and got started with the new interface idea. Note that the person art is the one piece of art in the game that came from me, so don't blame Brent for the silly little wooden people.

By 3pm I had some basic month-to-month updates happening as well as the new people art and some new icons in the game:


By 4pm I could assign people to jobs (still no dragging after initial assignment to a job) and I was displaying better stats.


Brent had done a bit of work from home while his kids napped, but it took me a while to get it in. By 7pm I had new icon art, some tutorial-like messages, much better game updates, new 2nd-level building art, and a million other little changes. You could build buildings at this point, but it was extremely limited and the interface was pretty bad.



Buildings and Gameplay
By 8pm you could build a specific building from a list, and the interface displayed some information about a selected building. At this point the game was very playable. You still couldn't reassign people once assigned, but the game ran through seasons, did stats, let you win or lose, etc...

That dialog box is my least favorite visual part of the game, even in the final version. I wish we had had time to make that as pretty as it should be.

I spent a while working on the food display because I thought it was confusing, and then I finally worked on picking up people and moving them from building to building. You still can't actually drag them, but you can click to pick up and click to drop, which is close.

I also added events, more tutorial messages, and new building types. I adjusted gameplay here and there and tried to get it playing as well as I could.

Polishing
Approaching midnight, Brent had found some more free time and was very quickly trying to get everything polished up. We finally got it all in the game (with the exception of the button art which he was working on last).


Done
With a little bit more fine tuning and final button art from Brent, we were done:


Time Spent
In the end, I had run through about 23.5 hours from start to finish. Technically, at least 2 hours of that was unrelated stuff I had to do Friday night during the first stages of the project, like talking to someone about selling a game of ours, but if we start subtracting 5 minutes here and 5 minutes there it sort of kills the idea of an intensive 24-hour game development session, in my opinion. So from that point of view, I used up almost every moment of my 24 hours over the course of 2 days. Brent put in roughly 6 hours, and Adam spent about 6 hours on music.

Results
I'm happy. I'm thrilled with the art. I think Brent did a great job with the overal vision as well as execution with an extremely limited schedule. I'm also glad we took some chances. Part of the point of this experience, for me, is exploring some new ideas. Maybe it could have meant being stuck with a non-functional game, but if we had backed down from either the visual style ideas or the control ideas, it would have been a less fun project to burn 24 hours of my life doing.

In the end, I think the gameplay is interesting and fun, and the controls don't totally suck. We got to explore some cool ideas, and I think the results are certainly worth the time we put into it.

The List
These GID postmortem entries require numbered lists, so here's mine: Random Stuff I Want to Mention:

1: It turns out I'm extremely obsessive about things like the position of text and colors matching other colors. I think I'd get a lot more done in a GID if I learned to let go a little bit of that. I burned a ton of time on lining things up, sizing things, matching ground color to background color, etc..

b: As other GID people have said, knowing your engine is the way to go. I was able to do what I did because I know the engine and tools pretty well at this point.

3.14159: Our toolset worked MUCH better this time. Thanks, Adam, for fixing bugs in Mother (our asset manager). Brent and I both were able to work at work and at home and share everything the whole time. A working asset management system that allows remote contribution is SO nice.

20xd6: Picking a relatively small concept is in many ways more fun than picking a big concept. I was able to polish a few things and work out some details rather than frantically trying to get everything in a big list implemented to a barely working level. At the same time, it had to be relatively unique or we wouldn't have been as interested in working on it. So, "small but different" is the best choice for GID, in my opinion.


The Game
Download the zip file here

How to Play
Click on "Next Month" or hit the space bar to advance through months.
Click and drag on the ground to move the camera around. Mousewheel zooms in and out, as do +/- on the numpad, I think.
Click on a person to pick him up. Click again to drop him somewhere. You can't drop a person on full buildings. Hit escape to stop carrying a person around.
Double-click on an empty piece of ground to build a new building.
Hit any F-key or Q to quit the game (or click on the window close box).
Earn 10 culture points to win. (Note: winning doesn't end the game, currently).

---

Things we wanted to do but didn't:
* A much prettier building dialog box
* 4 levels of building technology
* A military component
* A more indirect way to get culture points
* A more customized camera with better control
* Much better people control and feedback - cursor change when hovering over people, etc.
* A nicer menu system with a visual button for quitting
* A better fade effect
* More complex tech tree, and science research
* Varied win conditions
* Animations
* More variety everywhere

---

And that's it. Thanks for reading this far. :)

-- stay

Recent Blog Posts
List:01/23/05 - Plan for Steve Taylor
12/19/04 - Plan for Steve Taylor
12/13/04 - Plan for Steve Taylor
10/28/04 - Plan for Steve Taylor
09/09/04 - Plan for Steve Taylor

Submit ResourceSubmit your own resources!

Tom Bampton   (Jan 23, 2005 at 22:19 GMT)   Resource Rating: 5
Cool! I didnt think you'd be taking part. Actually, I didnt think anyone would be, but that's only because i havent been able to use a computer for a week :)

Jay Barnson   (Jan 23, 2005 at 22:31 GMT)   Resource Rating: 5
Wow. Very cool little idea - and truly impressive for something whipped out in 24 hours!

7 Years and 1 month for my first attempt. Took me a while to realize that yes, your people WILL starve during the winter if you don't have storehouses.
Edited on Jan 23, 2005 22:34 GMT

Ben Versaw   (Jan 23, 2005 at 23:11 GMT)
Awesome I was attempting something like this but in a space station called Rome. I had too much to do this weekend and didn't get to join in though. Really great work!

Alan Kantz   (Jan 23, 2005 at 23:26 GMT)
This is just terribly beautiful. And about three times as much fun as it has any right being.

Great job.

(7y 1m, 12cp, had to be three Temples -- a schoolhouse just wouldn't do)

Pat Wilson   (Jan 24, 2005 at 01:35 GMT)
CENTURION: What's this, then? 'Romanes Eunt Domus'? 'People called Romanes they go the house'?

BRIAN: It-- it says, 'Romans, go home'.

CENTURION: No, it doesn't. What's Latin for 'Roman'? Come on!

BRIAN: Aah!

CENTURION: Come on!

BRIAN: 'R-- Romanus'?

CENTURION: Goes like...?

BRIAN: 'Annus'?

CENTURION: Vocative plural of 'annus' is...?

BRIAN: Eh. 'Anni'?

CENTURION: 'Romani'. 'Eunt'? What is 'eunt'?

BRIAN: 'Go'. Let--

CENTURION: Conjugate the verb 'to go'.

BRIAN: Uh. 'Ire'. Uh, 'eo'. 'Is'. 'It'. 'Imus'. 'Itis'. 'Eunt'.

CENTURION: So 'eunt' is...?

BRIAN: Ah, huh, third person plural, uh, present indicative. Uh, 'they go'.

CENTURION: But 'Romans, go home' is an order, so you must use the...?

BRIAN: The... imperative!

CENTURION: Which is...?

BRIAN: Umm! Oh. Oh. Um, 'i'. 'I'!

CENTURION: How many Romans?

BRIAN: Ah! 'I'-- Plural. Plural. 'Ite'. 'Ite'.

CENTURION: 'Ite'.

BRIAN: Ah. Eh.

CENTURION: 'Domus'?

BRIAN: Eh.

CENTURION: Nominative?

BRIAN: Oh.

CENTURION: 'Go home'? This is motion towards. Isn't it, boy?

BRIAN: Ah. Ah, dative, sir! Ahh! No, not dative! Not the dative, sir! No! Ah! Oh, the... accusative! Accusative! Ah! 'Domum', sir! 'Ad domum'! Ah! Oooh! Ah!

CENTURION: Except that 'domus' takes the...?

BRIAN: The locative, sir!

CENTURION: Which is...?!

BRIAN: 'Domum'.

CENTURION: 'Domum'.

BRIAN: Aaah! Ah.

CENTURION: 'Um'. Understand?

Dan MacDonald   (Jan 24, 2005 at 03:31 GMT)
You inspire me to GID stay, nice work! I think the attention to detail is a gift, not a curse. All the great games have someone that obsessed about the little details.

Matt Fairfax   (Jan 24, 2005 at 05:03 GMT)
Awesome work!

Craig Ball   (Jan 24, 2005 at 19:53 GMT)
Amazing work for a single day, very inspiring.

My Rome wasnt built in a day, it took 14 years. I really should remember to feed my builders (I couldnt find the 'put the peasants on rations and flog them until the temple is built' button).

Steve Taylor   (Jan 24, 2005 at 22:40 GMT)
Craig: Haha.. You don't get that button until you build the "Slave Master Training" building... :)

Dan: Thanks! Yeah, sometimes it's not so bad. Maybe the bad thing is when the lead artist and I are both obsessive like that - it means we're in danger of not actually shipping product... :)

Everyone: Thanks for the feedback and for posting your times!

Thomas Glennow   (Jan 25, 2005 at 02:55 GMT)
Very cool. Very nicely done. Shows how you can get a nice prototype done in 24 hours if you know what you're doing.

J. Alan Atherton   (Apr 04, 2005 at 20:49 GMT)
Bwahaha! 6 years, 9 months for me.

You must be a member and be logged in to either append comments or rate this resource.