Jump to content
IGNORED

Checkered Flag Source Code


Curt Vendel

Recommended Posts

 

...and the source code wasn't used to rebuild that. So all in all, that zipfile was as much of a complete waste of time as the actual game icon_razz.gif

 

Wait, what??? Where is the final source submitted for gold and how far back is the source dump we have?

Link to comment
Share on other sites

The following is a necrobump meant to clear up several commonly expressed misconceptions about CF, based on my experience with writing a flathshading engine for a racing game on jaguar.

 

I'm kind of surprised that no one has really done much of anything with this source outside of the control patch some 8-years later. Easy for me to say though, I'm not a coder. Checkered Flag is probably a fine example as to why I'm not one actually.. because this is how it would probably turn out.. awful. :P

 


I can't seem to find it but I definitely remember a reference to the game only being 16-colors (or was it 256?). Obviously not the gradient sky part but definitely the main polygon parts of the game while racing around the track. Has anyone managed to compile this game at all from the source? Also, are the sounds all 8-bit? I suppose it doesn't matter. Maybe a few things to start with to help remove the laundry list of things the Jaguar has to calculate:


 

Interesting notes pulled from the source code, even dated as late as October, so you know they had no time to optimize much of anything:

===========================================================================================================

Noted within AI:
...
Noted within MAPROT:
...
Noted in OUTER.GAS
...
Noted in PDRAW.GAS:
...
Noted in SCRNSHOT.S:
...
Noted in SHADOWS.S:
...
Noted in SKYFILLS.S:
...
Noted in STRIP.S:
...
Noted in ZCLIP.GAS:
...

Noted in REDSOUND.INC:
...

===========================================================================================================

 

So just by judging from the source code notes with files dated just prior to being submitted for production, there seems to be a lot of crucial details needing and hoping to be optimized but most likely didn't due to time constraints. What other things can be modified to help increase overall processing speed of this game?

ad src: It's not exactly a popular game, though I personally love its visuals for their cleanness.

 

ad 16 colors: No, the 3D world is definitely at least 256 colors. Did you miss the fog ? You can't do such fog on an arbitrary 3D mesh in 16 colors. Unlike sky in many games, you can't interrupt GPU to adjust CLUT for the polygons, as they occupy different scanlines each frame and in the end it would be more work than just letting Blitter transfer double amount of pixels (and would still look like crap).

 

ad optimization time: You don't know that. If you looked at my sources, you'd find similar comments everywhere, even though some of those methods are 5th generation and run with whole scene at 60 fps (or take just small fraction of a vblank). My point - you don't know the history of those routines, so those comments are taken completely out of the context.

I can, however, assure you that their renderer has undergone few optimizations. It wouldn't run so well (and this is not a sarcasm!), if they didn't. In short, we don't know how many iterations they already went through.

 

If you actually watch the game closely, you will notice that the performance drops significantly, when the big hills cover the screen -> hence the combination of triangle's edge traversal & scanline fillrate is killing the framerate. This is something I've encountered myself too in my engine. My engine however did not touch Blitter on GPU, so it follows that if I used the GPU<->Blitter experience from the last few weeks, this edge case would improve a lot. But it's still going to be a performance hog, no matter how you slice it, so best to avoid those hill data in the first place (hence why best looking games are always designed around the HW limitations). In our case - have the hills, but please in the distance, not 2 meters from the camera...

 

Also, if we want to talk about optimization, we must first profile it and have full benchmark data: you know those 123/1000 numbers I talk about all the time. Without that information you don't know how much each routine takes.

And we don't have that information.

Link to comment
Share on other sites

 

You do have to give them one thing tho. They actually finished something.

Of course they did. It was their business model and their daily job. They didn't code it just for fun and thrill of exploration (like I do on jag, as it's just in my free time).

 

You're barking up the wrong tree, though. I never bitched about CF. I'm probably one of the very few (or quite possibly the only one here) who actually appreciates their technical effort.

 

And I only recently found out that one of my Top 3 favourite racing game on PC : Redline Racer was actually done by them. Silky smooth framerate, exhilirating sense of speed, brutal diificulty and immense replayability. I've played for about 5 years, regularly.

 

So, I actually really appreciate the team !

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...