system at September 29th, 2005 10:00 — #1
Description This is V1.2c tech demo of my racing game called Driving Speed.
Due to being under constant development there are still some bugs etc... but the demo can be found here:
I've been working on this game for a few years now in my spare time (I only have about 6-12 spare hours max per week) with myself as the only programmer and will continue its development until its complete. The cars in these screenshots were kindly built for me by a professional 3d modeller. At the moment the tracks are usually conversions from add-ons for other racing games. Some exclusive tracks for the game will come in the near future.
Developed with VC++ the graphics engine is using DirectX 9.0 and will run on cards with pixel-shader support, with plans to support older cards with fallback shaders.
NOTE that not all these listed features are enabled in the demo.
The car rendering features:
- Per pixel soft edge shadows that pass over the cars surface with diffuse and specular occlusion.
- Dynamic soft edge shadows cast from cars, and varying intensity (darker closer to the car) to simulate global illumination with multiple LODs.
- Fresnel reflection and real-time dynamic environment mapping so surrounding objects and scenery are seen in the cars reflection. (Achieved by a highly optimized culling / rendering system and multiple LODs for environment map rendering)
- Metallic paint shading that simulates the reflection from tiny metallic flakes in the paint.
- Hemispherical ambient light.
- Realistic glass shading for the windows.
- The customizable LODs speed rendering and allow up to 12 cars in view at one time while still maintaining a high frame rate. A car's LOD is determined using its projected size based on the camera's field of view rather than distance so that its possible to have a distant trackside camera zoom in on any car and see it in high detail.
- Specular bloom post processing effect.
- Basic prelit scene, diffuse and global illumination.
- Atmospheric attenuation.
- Track specular with specular maps.
- Track specular occlusion from shadows.
- The car physics model is rather complex with too many parameters to list here, it provides a very realistic driving experience, months of work on the tyre physics formulas that use dynamic friction curves that change shape at runtime based on various parameters from the tyre state.
- Each car has its own weight distribution, engine torque curves to accurately reflect engine power at various RPM, a gearbox with a configurable number of gears and ratios, a final drive ratio (limited slip differential). For example a higher ratio diff can be used on a car to achieve faster acceleration and quarter mile times with the expense of top speed.
- Engine sounds are created by a custom sound tool that supports combining multiple sound files at various pitches and frequencies that are cross faded at run-time depending on engine load and RPM.
- Dynamic skidmarks.
- Smoke, sand and grass particles.
- Support for configurable keyboard, joystick/wheels including controller dead zones.
- Artificial Intelligence for the opponent cars that also run on full physics.
- Lap times, best lap, total race time, car positions.
- A user interface library and editor is used for rapid development of game screens.
- Quick race and arcade modes.
- Drag racing mode.
- Circuit racing and point to point.
ed_mack at September 29th, 2005 12:34 — #2
Nice shiney cars - yum
nomadrock at September 29th, 2005 15:41 — #3
Looks great, wish I could play it, but as it is DX9, I doubt it would run very well in Linux
yarin at September 30th, 2005 08:00 — #4
Man, this is impressive. It looks good but it makes fun as hell! I spend 30 minutes now driving around and doing burn outs in every imaginable way
I found some bugs:
- If you do a burn out on gravel there is no gravel flying in the air (as it does on grass)
- All AI opponents try to drive on the same trail which permanent funny looking pileups if you drive against more than one AI
- The AI cannot go into reverse. Drive your own car in front of a wall, then "toggle ai" in the pause menu.
- The recover function (R key) does nothing
- Couldn't find a way to shift manually.
- The automatic gear takes forever to shift.
- The cinematic camera switches to positions where you can't see your car often.
- No motor sound while in front camera
- The front camera is positioned a bit too far in the rear - you can see polygons of the hood.
- If opponents are approaching you from the side, their motor sounds appear abrupt.
You will already know most of these problems as it's a tech demo but, anyway, I hope I could help.
p.s.: you really should add some effects to make the player "feel" the speed. You could increase the FOV, add some motion blur and so on.
p.p.s.: Please implement a game mode where you have to do burn-outs (like "drift" game mode) - they are so much fun in your game!
yarin at September 30th, 2005 14:25 — #5
klamacz at September 30th, 2005 19:13 — #6
I checked the files and find that some of textures looks like duplicated without reason (of course, sorry if there is a reason for that) - i did not count bytes, but i think that size well matters and you should spend that bytes for alpha channels - everything just looks great (especially car ) but those blue borders on the trees and other blended objects ...
anyway - great job - physics and graphics roxx
PS well, that's my first post on this forum, so "hello world "