Monday, March 8, 2010

I'm tired after a night of coding, so I might just post some screenshots and add some details later...



The first one shows off the almost finished special volume support.  The windscreen is using the specvol reflection, and the water doesnt have much gravity (which is why the wheelie)

These next ones are even more fun!  Yep, opponents are in the C1 engine :)  They don't do anything yet, just sit there in a nice grid.  This weekend I want to implement the opponent paths and get them following the race track around.  I love this screenshot, because when I was browsing around my screenshots to upload it to the blog, I missed it at first thinking it was a screenshot I took with the original game :)  Awesome!  Sleep time now...

Thursday, March 4, 2010

Still working on the special volumes.  Theres a couple of problems that I hadn't noticed before.  The main one was I wasn't placing the volumes correctly, which was giving weird results.  Using the SpecVol Edit Mode in C1 and comparing it to my engine helped to fix that problem.  Love edit mode :)  Heres the obligatory screenshot showing correctly rotated and scaled special volumes (from the Coastb track), and also the latest ripped font for rendering messages to the screen.  Oh, and also the requested 'lighting switch'!  Each font takes an hour or two because I have to manually cut each glyph from the original bitmap and massage it into the XNA bitmap font format.  Its the only resource I have to modify instead of reading directly from the data files at runtime.


The other problem is implementing the 'default water' special volume.  The race.txt file doesn't contain where the water is, so the C1 engine has to look at all the water materials, get a list of water vertices, then build up a list of locations. I've done all this, and for the most part it works, but theres still some weird edge cases to figure out.

Tuesday, March 2, 2010

Phew, its been a busy night. More screenshots - the lighting is much better in these ones...

The one on the left is no lighting. See how much more detailed the car looks.

Check out the crane legs, the brown pillar behind the crane and the crates at the right. Its a subtle effect, but worth all the extra work I reckon :)

Monday, March 1, 2010

Still working on the lighting - heres what the lit world looks like with no textures.  With no lighting it would all be a single color...

I've got basic directional lighting working in the C1 engine.  The tricky part was the original models all had shared vertices, which means that hard edge lighting just didn't work.  And since pretty much every edge should be a hard edge in the low-poly C1 world, that was a problem.  So now I inject the required extra vertices into each model so each face can be properly lit.

I haven't got the right lighting configuration yet, like most things it takes a bit of time to work out what feels right.  For example, in the screenshots below the ground is too dark, and has a blue tint, but hopefully its enough to show what I mean.  The top images are with no lighting, the bottom images show how a simple directional light can add some depth to the image.


Thursday, February 25, 2010

Im halfway most of the way through implementing specvols (special volumes). Special volumes are invisible cubes around the map where the environment changes (engine sound, gravity, viscosity etc.)  Its how water and tunnels are implemented.  They can have entry and exit sounds (the splash sound when going in and out of the water), and also the material for the reflective windscreen.

Im messing around with PhysX forcefields to handle the gravity, otherwise everything else is done except the reflective windscreens which I'm doing next. 

It will be a big milestone, as specvols are the last (as far as I know) environment feature outstanding :)

Edit: I've also had an idea for how to implement proper directional lighting.  Screenshots coming...