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.


  1. Just to let you know, the work you are doing here is amazing, and I cannot wait to see the finished product!!

    Keep up the good work!

  2. Ah you got the boxes ready. The water in c1 is indeed built underneath the water textures, automatic env box creation.

    it must be frustratin having to edit the fonts while you are trying to keep the package as small as possible, but what the heck. You can't have everything in life can you? :)

    great job again mister

  3. So this an implementation of the C1 engine in XNA.
    I would like to say you're doing a great job reviving this game.
    You came a long way:D
    There has been lots of requests from many communities to play this on newer computers/smartphones/consoles.
    One way to do this is using the Dosbox emulator which has been ported to *nix/windows/symbian/others.
    However dosbox requires high performance hardware to run a game like C1 compared to something like commander keen.
    So will your engine written in XNA be open?
    I guess it can be compiled to run on windows systems and the xbox360 console.
    Can it easily be ported to other systems aswell?
    For example like OpenJazz.

  4. thanks :) Gino, yep, its definitely come a long way from the first blog posts in july last year till now! Yes, I plan on releasing the source once ive finished all the major components. Things like networking support would benefit from that, but at the moment I have a lot of arcane knowledge about the c1 engine that would be hard to pass over. The xbox360 build would unfortunately need some changes. The most important and hardest part is that PhysX (the physics engine I am using) is written in native code, so will not run on the xbox. We would need to substitute a .net physics engine. I initially trialled a couple for this project, but nothing worked as well and as fast as physx. But once its open sourced I would love to see someone have a go at an xbox port.
    To run on other systems it would need to run under Mono. Either that or port it to c++.