Happycake Development Notes:
City Jam, Day 2
21 July 2004

Today we continued with the City Jam.  Fortunately there were no horrible driver problems today, so we were able to work without major interruptions.  For my next task, I decided to spline the walkways that I made yesterday.  I figured that some futuristic-looking suspended curved walkway things all over the place could be cool.  It took a while to make this happen, as I ended up doing significant infrastructure programming so that I could load/save the spline data in a reasonable way.  (I actually first tried to do it in a very formal/"permanent" way, but that was taking too long, so I settled for halfway.  Anyway, I got the splines saved, and some work done toward the final data formats):

 

 

By the time I got that done, it was 9:45pm, so I was a little bummed about that.  But, no big surprise, sometimes tasks take a long time once you've gotten over the initial "super productivity" period.  This splining code is nice though because it could be re-used for a lot of things: walls and fences, energy beams, whatever.  It's pretty straightforward now to take a cross-section and extrude it along the spline.  Maybe I'll also use the spline code for marking out AI paths (invisibly), if we end up needing AI paths. 

I was happy enough about the spline stuff being done, after working on it for many hours, that I goofed off with it for a bit:

 

Meanwhile, Atman was working on a different kind of extrusion.  He wanted to give buildings detailed shapes with a lot of character.  So he developed a system of edge patterns that get tiled horizontally and vertically across the building to construct the surface.  Here's a screenshot with only the horizontal patterns implemented:

 

Then he made vertical patterns work also:

 

 

The red dots up in the air are debugging information, used in the next phase of his work... back on my ranch, I wrestled with the walkways for a while, then added billboards.  At Atman's suggestion I also added some scene clutter at ground-level (barrels, boxes etc).  Then I attached some platforms to one of the raised walkways, because it's just not a physics-based game unless there's lots of gratuitous stuff you can knock down:
 


 

At that point I was pretty tired (1:30am!) so I called an end to my end of the City Jam.  Here's an aerial shot of what I ended up with:
 

 

I now have a good to-do list worth of stuff to work on, using this city piece as the test environment.  That'll be cool.  Even if our eventual city does not look much like this, it's still a better test environment than the mostly-flat terrains we've been using so far.

While I was doing billboards, Atman was working on an algorithm to automatically add skyways between buildings.  These have the effect of making the scene a lot busier, and I bet they blow up pretty well also.
 


The funny thing is that Atman's geometry is complicated enough that it messes up his stencil shadows (due to overflowing the stencil buffer).  See the ugly shadow artifacts!:
 

 

This just illustrates that it's time for some better graphics cards to come out, already.  Hey, it's always time for that.

I definitely enjoyed the City Jam.  Maybe we'll find another subject to do a jam on, before this project is through.

 

Update:

I went to sleep, but Atman was still working away; he added signs that outcrop from buildings...

[Back to Happycake development log]