Racer

Ruud

RACER Developer
Welcome to RaceDepartment. :)
As RSC has been offline for quite a while, RaceDepartment has been gracious enough to host a temporary Racer forum.

To kick it off, here is Racer v0.8.0. Warning: all things are set to target relatively high-end graphics card. nVidia 7950+ somewhat. Onboard cards will not do.

The download is at http://www.racer.nl/download/racer080.zip (42Mb).
If you have an ATI card, Cg shaders may not work due to a bug in Cg 2.1. Try the patched racer.exe from http://www.racer.nl/download/racer081a_patch.zip (1Mb).

Hope you can enjoy it!
Ruud

The patch (really a preview of v0.8.1, so interesting for nVidia users as well) changes these, although no data files are included you can check out some things already:
- Added envmap.live_track.sides_per_frame to set update count of live envmap
- Car.ini camera<n>.view variables were read, but never used. Removed loading them, they are (and were) obsolete.
- LOD (level of detail) for objects is now adjusted to take into account the camera FOV (normal FOV=50).
- Split fullscreen_shaders directory into LDR and HDR variants (data/renderer/fullscreen_shaders_hdr and _ldr).
- Added car.ini engine.idle_method to avoid throttle being slightly open all the time. See http://www.racer.nl/tutorial/engine.htm
- Now enforcing engine.stall_rpm to be at least 100 rpm less than idle_rpm to enable the new idle_method 1.
- Added engine.braking_torque_curve to specify a curve for the engine braking instead of the linear parameters.
(the Lambo now uses such a curve for demonstration)
- Modified smoke particles to have no velocity. Also increased the brightness somewhat.
- Bloom map was 16-bit, now 8-bit.
- Added car.ini audio.skid audioset based on skid amount (around 0..2). This allows subtle scrub sounds before
going to screeching & screaming.
- Added 'gearwhine_off' audioset for gearwhine under deceleration circumstances.
- Fuel consumption was based on engine output torque, added internal friction (engine braking torque) in fuel use calculations.
- Renamed racer.ini variable 'collision.report_car_trk' to 'collision.report_car_track_collision'
- Added car.ini's reboundstop_len and reboundstop_k for much the same as a bumpstop, only to prevent wheels falling through susp<n>.maxlen
see http://www.racer.nl/tutorial/suspensions.htm#reboundstops
- susp<n>.restlen no longer needs to be smaller than maxlen. It ignored precompression that way.
- Added fuel.rof to overrule the fuel grams/liter parameter. Normally it's around 700 for regular petrol.
- Added views.ini 'invert' field (0/1) which inverts the variable (like 'factor' which multiplies it)

The list of changes since v0.7.3:

- Bugfix: OpenGL3.0 drivers would crash Racer due to a mistake in getting some extension function pointers.
- Bugfix: track's with special.ini gfx.time below 1000 (10am) were not interpreted correctly.
- Bugfix: turning on projected lights no longer kills some 3D dials
- Heavily modified Cg shaders. Also added a lot more. See http://racer.nl/tutorial/gpushader.htm
- Projected lights used alphafunc, which made lights on semi-transparent object pixely.
- Added car.ini's model_reverse_l/r models for true rear lights. This should do away with the views.ini hack to add reverse lights.
- Modified live track envmapping to not do all sides every frame. Lots faster.
- Removed dbg_stats tree in racer.ini (it was obsolete).
- Added 'clouds' script command for Cg-shaded skies, added 'clouds' uniform float parameter for Cg shaders (0..1).
- Also added 'clouds' in a track's special.ini (env.clouds)
- Added resolution.vsync to sync to display frequency or not (0=max fps, 1=sync, >1=set interval)
- Added moving helmet (+pilot body) model option in car.ini. See http://www.racer.nl/tutorial/helmet.htm
- Raised the number of possible flares for each car to 20 (was 10)
- Simple (single-polygon) shadows for car views without a body model are now turned off.
- Removed 'fx.sky_enable' option. The sky is always on.
- Removed 'gfx.reflections' option. Was/is obsolete.
- Added graphics.show_names to be able to indicate driver names floating above cars.
- Added mirrors.texture.fbo setting to render into an offscreen framebuffer object (faster)
- Added mirrors.texture.fbo_samples setting to enable anti-aliasing of the mirror.
- Added HDR rendering basics (renderer.hdr.enable=1). Uses data/renderer/shaders_hdr directory if enabled, shaders_ldr otherwise.
- Added Bloom rendering for HDR mode (renderer.bloom.enable=1).
- Split data/renderer/shaders directory in two: shaders_ldr and shaders_hdr. HDR is the way to go. LDR will be deprecated.
- Added ini.auto_lights setting (0/1) to determine with time-of-day controls a car's light automatically
- Added shader 'reflect' material property for reflective Cg shaders (in the same line as diffuse, ambient, specular etc).
Use this in conjunction with [dyn_]shader_reflective_v/f.cg for example.
- Added car.shd/track.shd 'motion_blur' variable to turn off motion blur velocity map generation for certain shaders (wheels mostly).
- Added auto-exposure settings for HDR rendering (racer.ini:renderer.auto_exposure.*)
- Added fx.sun.auto_time_of_day to track real current (PC) time for the time of day in Racer
- Added fx.sun.fast_time_factor to set time speed. Normally 0 for no time change, 1 for realtime, >1=faster than realtime
- Added fueltank in cars. See data/cars/default/car.ini (fuel.* settings). Currently in alpha. No fuel means no throttle.
- Added fuel view variables for views.ini files (for cars). See http://www.racer.nl/tutorial/fuel.htm for details.
- Added formatting option for views.ini; 'float_1' displays a value with 1 decimal (for example: 123.4).
- Added 'sample_hold' option for view elements to get slow-updating dials (mostly useful for digital dashboards)
- Added fx.sun.flare option to remove sun flare. It doesn't match with the Cg sun position.
 
The new features sound good..

.. but I still have a problem with running the game. It crashes as soon as something 3D should be shown. I think it has done that since 0.6.5. 0.6.4 still works even with cg shaders.

I have an ATI Radeon HD4850 with latest drivers. Someone else on RSC had the same problem with a recent ATI card too. Any ideas why Racer seems to treat them as some ancient cards..?

Here's the QLog with default settings (except motion blur is disabled, since it crashed before even showing the menu with it on)

Code:
Fri Apr 03 20:21:54 (INFO): [noqapp/21140] --- application start ---
Fri Apr 03 20:21:54 (INFO): [noqapp/21140] 2 processor(s); setting affinity to 0x1
Fri Apr 03 20:21:54 (INFO): [racer/21140] Racer version: 0.8.0 (Apr  2 2009/14:57:35)
Fri Apr 03 20:21:54 (INFO): [racer/21140] WorldRenderer: you have an ATI graphics card (ATI Technologies Inc.). Working around some long-term bugs.
Fri Apr 03 20:21:55 (INFO): [racer/21140] Audio: setting speakermode to 2 (stereo, system default is stereo)
Fri Apr 03 20:21:55 (WARN): [racer/21140] DFBOTexture: hardware only supports 8 samples; reducing requested 16
Fri Apr 03 20:21:57 (INFO): [racer/21140] Loading track 'carlswood_nt'
Fri Apr 03 20:21:57 (WARN): [racer/21140] DGPUShaderManager:MakeObject(standard_v.cg): can't create CG vertex shader program
Fri Apr 03 20:21:57 (WARN): [racer/21140] DGPUShaderManager: [data/renderer/shaders_hdr/standard_v.cg] CG ERROR : The compile returned an error.
Fri Apr 03 20:21:57 (WARN): [racer/21140]   data/renderer/shaders_hdr/standard_v.cg(55) : warning C7011: implicit cast from "float4" to "float3"
data/renderer/shaders_hdr/standard_v.cg(59) : warning C7011: implicit cast from "float4" to "float3"
(0) : warning C6503: Profile option 'NumTemps' value (320) too large; clamped to 32
(0) : warning C6502: Profile option 'MaxInstructions' value (-1) too small; clamped to 16
(0) : warning C6503: Profile option 'NumTemps' value (320) too large; clamped to 32
(0) : warning C6502: Profile option 'MaxInstructions' value (-1) too small; clamped to 16
(0) : error C6002: Instruction limit of 16 exceeded; 95 instructions needed to compile program
Fri Apr 03 20:21:57 (WARN): [racer/21140] QObjMgr: object 'data/images/rain01.tga' still around with 1 reference(s)
Fri Apr 03 20:21:57 (WARN): [racer/21140] QObjMgr: object 'data/images/snow.tga' still around with 1 reference(s)
 
A 7600GS is too low-end to turn all features on. As for your screenshot, it has an LDR look, which means it is too bright than intended. I will have a look at the LDR shaders if I can improve things. Might be nice for the mirror as well, currently (even in HDR) that has the LDR brightness as well.

Yeah I never expected that my card would be able to do that in the first place. However didn't you say you wanted to leave LDR "behind"? So why care to develop for it unless it has to be done anyway. It's not like I mind, as long as I can turn motion blur and stuff off and still play with cars in CG I'm fine ;) .

Just a question though, about fuel usage, it seems to skyrocket when you spin wheels in 2rd while sliding backwards (had numbers way over 3000 for some seconds, just though you might be interested to know that). Haven't looked more into it as it's something which should happen rather rare.

Pic for your enjoyment: http://i96.photobucket.com/albums/l178/EngineOfDarkness/IdontNeedNoFuel.jpg

Edit.: Found a definite bug, fuel usage does not change while Revving the engine up in neutral.

Edit.: Motion Blur DOES work, but it seems in some combinations with other grapical features it does create problems, however I'm too lazy to find out which combinations cause that problem :D
-----

To all having problems like Black screens, read the second Post, might! help you
(I doubt People with that Problem will actually read that :watermelon: )
 
One For RvG, Graphics Cards

Looks like I'm having to update my graphics card again, no doubt others will too, and as I play Racer more than anything else on the PC, I'd like to choose the right graphics card to best suit the application. Ruud, do you have anything particular in mind when you're coding? What will work best? Aside from the most expensive, obviously, I see things like PhysX and CUDA, are these things I need, or are they worth getting? There's letters like GT and GS and GTX, and things. What'll make Racer look/run best? Is RAM more important than processing speed, or vice versa?

I'm very confused by it all,
and don't want to spend a fortune on something loaded with useless features.
 
Hmmm...ok, a little bit of feedback once I finally got some time to play with it.

I seriously wish that laptops were easier to upgrade.
BUT
I've managed to get my old (previous version) FPS back.
For anyone encountering the problem where their FPS says it's good, but seems as though they have **** FPS (i.e. feels like it's running at 5fps but indicates it's running at normal) try INCREASING the luminance map steps. That seems really weird to me, but it works.

Also, am I the only one whose replay isn't enabled by default?

This looks fantastic though Ruud. Top notch. The recent luminance map is awesome.

Can't wait to throw in some of my new work :D
But I think I may need to re-think a few of my shaders...
Also, props to racedepartment for putting us up. Racer really needs its community to keep going.
 
Well, how much would you want to spend? A fortune can be 600€/$ for someone or a fortune can also be 1000+€/$ .

Just a notice though, Nvidia relabeled a lot of older cads to the new system, like 240GS or something like that (you effectly get a older card of the 8xxx-9xxxx range instead of the "real" 2xx Range). From what I seem to read (especially on RSC) nvidia seems to work best with Racer, however maybe that changed with the new version being released so I'm not making a definite statement!

From my Point of view, 2GB of Ram is currently sufficent for Racer, however that depends on the quality of textures and your grapics card ram (less grapics card ram -> possibly more stored in System ram and the Page file )

If you want to go AND use 4GB of Ram, you need a 64 Bit System and CPU (well, most new CPUs today are 64Bit), so you either go Vista 64Bit or you wait for Windows 7. Or you Stay with XP32 Bit (the 64 Bit version isn't all that great from what I've read and researched) and life with ~800mb of your ram not being used for the time being.

The most important thing is ofcourse the Grapics cards, in conjunction with a good cpu of course.

A small excourse to my system. I have an old 7600GS and 2GB of Ram currently with an core2duo @2.4 GHz. I had a Pentium 4 before. Funny enough, the core2duo is sometimes twice as fast as my old cpu (even so fast that the grapics card was limiting @ 120fps (you could tell, because no matter what you did, it wasn't going any higher) on some tracks (was the version before the new one!).
Other games also sped up a lot, I can now play a strategy game with 800 units without stutter, where before, 400 made my game go at a snails pace.

Generally said, if a quadcore isn't that much more expensive than a dual core you've laid your eyes on, get a quad. Though the quad may be a little bit slower in some applications, which are not really "optimised" for multiple cores. However the trend is to go to multiple cores, but it's (as you can experience every day) a rather slow trend.

The most important thing is, that you read reviews of stuff you want to buy, that possibly shows you cavehats and stuff.

http://www.anandtech.com/ is one of many pages where you can read reviews. Currently there's even an "grapics card" guide, so based in ruuds hopefully to come answers ;) you should be able to get yourself a decent system.

Hope this somehow helped you even though I am not ruud.
 
  • oracle

Can't get 0.7.3 or 0.8.0 to run

0.8.0 doesn't even reach the GUI.
0.7.3 loads GUI but exits as soon as you try to race.

My system spec:
MSI X38 Platinum Mainboard
Intel Q6600 CPU
2GB OCZ DDR3
2x Hitachi 500GB HDD (Raid1)
2x Hitachi 150GB HDD (Raid1)
2x ATI HD3870 in crossfire.

Win XP Pro SP3
ATI Catalyst 9.3

Nothing overclocked.

Have also tried with crossfire disabled but same result.

########### 0.7.3 QLOG ###########
Sat Apr 04 12:13:37 (INFO): [noqapp/248] --- application start ---
Sat Apr 04 12:13:37 (INFO): [noqapp/248] 4 processor(s); setting affinity to 0x1
Sat Apr 04 12:13:37 (INFO): [racer/248] Racer version: 0.7.3 (Jan 27 2009/20:03:56)
Sat Apr 04 12:13:38 (INFO): [racer/248] WorldRenderer: you have an ATI graphics card (ATI Technologies Inc.). Working around some long-term bugs.
Sat Apr 04 12:13:38 (INFO): [racer/248] Audio: setting speakermode to 2 (stereo, system default is stereo)
Sat Apr 04 12:13:43 (INFO): [racer/248] Loading track 'carlswood_nt'
Sat Apr 04 12:13:43 (WARN): [racer/248] DGPUShaderManager:MakeObject(standard_v.cg): can't create CG vertex shader program
Sat Apr 04 12:13:43 (WARN): [racer/248] DGPUShaderManager: [data/renderer/shaders/standard_v.cg] CG ERROR : The compile returned an error.
Sat Apr 04 12:13:43 (WARN): [racer/248] data/renderer/shaders/standard_v.cg(52) : warning C7011: implicit cast from "float4" to "float3"
data/renderer/shaders/standard_v.cg(56) : warning C7011: implicit cast from "float4" to "float3"
(0) : warning C6503: Profile option 'NumTemps' value (160) too large; clamped to 32
(0) : warning C6502: Profile option 'MaxInstructions' value (-1) too small; clamped to 16
(0) : warning C6503: Profile option 'NumTemps' value (160) too large; clamped to 32
(0) : warning C6502: Profile option 'MaxInstructions' value (-1) too small; clamped to 16
(0) : error C6002: Instruction limit of 16 exceeded; 94 instructions needed to compile program
Sat Apr 04 12:13:43 (WARN): [racer/248] QObjMgr: object 'data/images/rain01.tga' still around with 1 reference(s)
Sat Apr 04 12:13:43 (WARN): [racer/248] QObjMgr: object 'data/images/snow.tga' still around with 1 reference(s)
########### 0.7.3 QLOG ###########


########### 0.8.0 QLOG ###########
Sat Apr 04 12:16:05 (INFO): [noqapp/684] --- application start ---
Sat Apr 04 12:16:05 (INFO): [noqapp/684] 4 processor(s); setting affinity to 0x1
Sat Apr 04 12:16:05 (INFO): [racer/684] Racer version: 0.8.0 (Apr 2 2009/14:57:35)
Sat Apr 04 12:16:06 (WARN): [racer/684] DFBOTexture: hardware only supports 8 samples; reducing requested 16
Sat Apr 04 12:16:06 (WARN): [racer/684] DGPUShaderManager:MakeObject(data/renderer/fullscreen_shaders/hdr_bloom_motionblur_vign2_f.cg): can't create CG fragment shader program
Sat Apr 04 12:16:06 (WARN): [racer/684] DGPUShaderManager: [data/renderer/fullscreen_shaders/hdr_bloom_motionblur_vign2_f.cg] CG ERROR : The compile returned an error.
Sat Apr 04 12:16:06 (WARN): [racer/684] (0) : warning C6502: Profile option 'NumInstructionSlots' value (-1) too small; clamped to 0
(0) : warning C6502: Profile option 'NumTexInstructionSlots' value (-1) too small; clamped to 0
(0) : warning C6502: Profile option 'NumMathInstructionSlots' value (-1) too small; clamped to 0
(0) : warning C6503: Profile option 'MaxDrawBuffers' value (8) too large; clamped to 4
(0) : warning C6502: Profile option 'NumInstructionSlots' value (-1) too small; clamped to 0
(0) : warning C6502: Profile option 'NumTexInstructionSlots' value (-1) too small; clamped to 0
(0) : warning C6502: Profile option 'NumMathInstructionSlots' value (-1) too small; clamped to 0
(0) : warning C6503: Profile option 'MaxDrawBuffers' value (8) too large; clamped to 4
data/renderer/fullscreen_shaders/motion_blur.cg(67) : warning C7050: "color-0002" might be used before being initialized
(0) : error C6002: Instruction limit of 0 exceeded; 174 instructions needed to compile program

########### 0.8.0 QLOG ###########


Thanks in advance.
 
  • Tiberius

Time to upgrade yet again.

:wilt:

This is good though, it's progress.

Ian..I've got the stuff coming next week to build a new rig. Prices look good at the moment...spent £550, should get me a decent rig for a while...I hope :)

The GF7800 I'm running now does the cg fine, looks nice and all that but can't handle the HDR, besides I'd really love to be able to run UT3 and FS X...

Like Ruud said, we can't stay in the dark ages forever, technology moves on. When I built my old P4 system back in 2002 it was really top end, now it's a joke, you see faster paperweights :\\
 
Some observations...

Still have strange tire smoke. (the particles still repel in all directions instead of just growing)
Some HDR shaders don't work in FBO mode (ex. standard_blur_f.cg)
Can't seem to get cloud objects to work. (documentation?)
Distort doesn't appear to work either.
You can only race for one lap. (using 2 time lines, tracked minimum)

I hope to get a reply to this post.:waiting:

Alex Forbin
 
I have some long outstanding issues with ATI cards, well perhaps the only real thing is Mipmap Biasing, which seems to throw ATI drivers back to a software path.

At my work, we only use nVidia, we perhaps have some ATI cards in laptops, but nothing to speak of. PhysX is not used (and I'm not really interested in it right now) and CUDA may get interesting one day, but really the amount of interactions & physics really is small currently. Perhaps nice for interacting smoke one day, but that's still far away.

Gfxcard memory is becoming more important; my 8800GT gives up anti-aliasing in the current form at 8x. Use 16x and I get a black screen (probably given a 1280x800 resolution, not entirely sure, may have been 2560x1600, since I'm using 30" Mac screens mostly). My colleague has a 280GT(X?) and is able to run more of such features.

And as for CPU speed; it seems it has a lot to do with gfx performance. Perhaps less when all HDR features and such are turned on, since then a lot of bandwidth is burned doing multiple passes per frame. But I've always found a better to CPU to also enhance the gfxcard performance.
With quadcore, perhaps the nVidia driver also gets more performance by threading the OpenGL driver (which is on 'Auto' at my place, never dived into that).

gDebugger would be nice at some point.

But with all the motion blur, FBO's (also quite a bit of memory since it will use 3 buffers in the future, although fairly smaller than fullscreen res) and HDR, memory will become more important (also live track mapping in HDR quality, which you need for nice fat sun reflections). I already see on my 8800GT that if I use 8x MSAA in the motion_blur section on small tracks that the card seems to be swapping (stuttering).

So... bandwidth speed (fillrate) and memory seem big concerns to me. And I always target nVidia; the ATI drivers seem to drag a bit behind in some areas often, and appear less stable. YMMV.
 
The problem is with the Cg shaders; judging from your error messages your card/driver only handles quite tiny shaders. I'd think an HD3870 would have no problem with it (it's quite new isn't it?).

But from the 16x anti-aliasing not being supported it might not be so great, perhaps settings motion_blur.samples to 0 instead of 16 might help to get better Cg support in your graphics settings. Perhaps also turning off HDR and bloom. Hm.
 
That reminds me, Ruud, would it be possible to have smoke affected by the car's movement. Like the smoke particles inherit the vehicle's velocity or something? Having it affected by the drag would be cool too.

Sorry for hijacking your thread.
OT:
My Laptop GPU couldn't handle racer with the initial settings. I think that was mainly a fill-rate issue. But I'm starting to feel the effect of more and more shaders...
 
Like I posted in the 0.8.0 release thread, I have the same problem with Radeon HD 4850. The card was released last summer and runs new games with more graphics features than Racer, so that shouldn't be a problem. Also, 0.6.4 works fine with full-screen and material cg shaders.

Even after turning off all the new graphics features, I still get this in QLog:
(0) : warning C6502: Profile option 'MaxInstructions' value (-1) too small; clamped to 16
(0) : error C6002: Instruction limit of 16 exceeded; 96 instructions needed to compile program
 
Hi all,
i don't know why, but i have a simlia prob with my Gf 8600 GTS...
0.7.3, 1280x1024 @ ~40fps with AA 16xQ, AF 16x, LeM on, with LeM off 130fps is no problem, but the 0.8.0 is only working if i reduce the resolution to max. 1024x768 @ ~25fps with AA 16xQ, AF16x, LeM on, and that was only possible after a driver rolback from 182,50 to 178,24.....that was the latest driver i got 0.8.0 working.....but as i sayed i don't know why.....
I'm happy for any idea....!

LG Alex
 
Hi
Feel free to try this new bloom shader, a little bit faster than the default one, just unzip the file into data/renderer/fullscreen_shaders and overwrite the orignal ones , remeber to make a backup :dog:
THX dude,
i tested him...look..

7018998-a91.jpg

7018999-86c.jpg

7019000-32b.jpg


what do you think?

This was with the 0.7.3:
6958156-b0e.jpg


LG Alex
 

Latest News

Are you buying car setups?

  • Yes

  • No


Results are only viewable after voting.
Back
Top