Happycake Development Notes:
City Jam, Day 1
20 July 2004

We've been unsure for a while now about what style our city is going to be, and about how the city will be made.  (Buildings modeled in 3D Studio MAX?  Procedurally generated?  Pieces modeled in MAX which then get put together procedurally?  Or what?)

Atman got the idea that we should do a 1-day City Jam to intensively brainstorm, program whatever ideas we come up with in such a way as we're not committed to them.  (The Jam concept is inspired by the indie game jam.)  This sounded like a good idea to me.  About halfway through the day, we decided it'd be a good idea to make it a 2-day event.  So here's a summary of day 1.

We're each working in separate source trees.  Atman's working in his OpenGL framework code which is the same thing he uses for his physics test app.  I am working in the D3D-based Happycake executable.  The goal of the jam is just to experiment and see what we can come up with that looks good, and we'll put together a "Best Of" code set later on for the real game.  So making visual representations of city elements is all that's needed, but I decided I also wanted collision solids to be in place and for the objects to be load/save/editable in the game's metadata system, even though this might be slowing me down.  (It just feels more like an accomplishment that way).


I knew Atman was going to work on the shapes of city buildings, so I decided to go with a very simple, rectangular building style, and branch out early to features like walkways, plazas and general city layout.

We started sometime between 3 and 4pm at Doma, a nice cafe in New York City.  By around 6pm I had some rudimentary buildings working:


There was some code in there to make buildings out of alternating layers, controlled by 6 or 7 simple parameters.  Then I hooked that up to a thing that would make a random building every time you hit the 'B' key.

At the outset of the jam we decided we weren't going to work very hard on texturing.  Those texture maps on the buildings are just there to give them a discernible pattern; you can imagine the final maps being drawn by an artist and having windows or whatever nice stuff.  Right now we're just focusing on shapes.

Atman sunk some time into making a fresh app framework, but before too long he had his own first version of city functionality:



He focused a bit on automatic building distribution, whereas I figured the level designer would just place buildings by hand (there aren't going to be a huge number of them.... I think.)

Next I focused on rooftop adornments, to make the buildings seem a little more building-like.  There are 4 types of adornments: boxy things, round water-tank things, cylindrical antenna-or-chimney things, and solar panels.  Here's the result:


Around this time, Atman started having big graphics driver problems, hard-locking his machine.  ATI still makes lousy drivers, it seems, even now.  This killed many hours of Atman's time and was a huge pain in the ass. 

While Atman was struggling with this I decided to start laying out an actual city, the plan being that this would help me visualize what other things I needed to build.  I dubbed the city Heshopolis:



Around 11:45pm, fighting through his driver problems, Atman got a version of his city working with more adjustable parameters and non-rectangular shapes:



I started making elevated pedestrian walkways, postulating that since this is the future, they must zip you along automatically.  However I started running into problems of my own -- memory corruption -- and I can't blame them on the drivers since they were all my fault.  That slowed me down a bunch.  But by 1:30 in the morning Heshopolis had some simple walkways:


(Though there's nowhere to get onto or off of them.  Working on that!)

We hope to get a bunch more done tomorrow... but so far I am happy with the results. 

[Back to Happycake development log]