Speed Dreams, is a free and open source 3D racing video game for Linux, Microsoft Windows, AmigaOS 4, AROS, MorphOS and Haiku.
The development of an accurate driving behavior, with different physics engines available, sets the project among the few open source racing simulation codebases.
[a] Speed Dreams can be played with a variety of input devices, including keyboards, mouses, joypads, joysticks, racing wheels and pedals.
[4] For the same purpose version 2.0 provides also a text-only mode: the race is run without graphics − no hardware acceleration being required − and the results are displayed through a command-line interface.
[5] Speed Dreams 2.0 introduced the simulation of a real sky dome, along with customizable weather conditions: the user can choose the time of day, the cloud cover and the intensity of rainfall to have during the race.
Weather simulation affects both physics, with proper corrections to the cars' adherence, and graphics, with animated cloud layers, and if necessary a 2D overlay of rain particles.
Written in C++, they are software modules executed at every simulation frame to compute the cars' parameters such as position, speed, damage, collisions, suspensions.
Audible sounds include collision and tire screeching noise, in addition to the engine's; there are simulated also complex effects such as attenuation and Doppler shift.
Every instrument features several modes, among which the player can choose while racing in order to change the appearance, or even completely hide the interface.
[2] Nonetheless, unlike the fate of the other legacy content, reworked but mostly maintained, in late 2009 all the robot engines inherited from TORCS were removed and replaced by new, more advanced ones.
Human players are treated just like any other robot:[21] their variables are controlled by user-defined input devices and can be influenced by automated driving aids such as ABS, TCS or speed limiter for pit-stops.
[23] Robots shipped within Speed Dreams share some kinds of behavioural functions in order to achieve realism in the driving simulation.
[28] The human robot automatically sends the request as soon as the other conditions are satisfied;[29] the simulation is then paused, while the player is offered a menu where he can choose the parameters of the stop.
The "split-screen" feature allows to split the display − on the same monitor − into up to four regions which act independently: these can show the perspective of different cameras, with different interface settings and following different drivers.
Used to define settings for cars (about 200 customizable values), tracks, in-game menus, game options and robot engines, XML markup accounts for about 40% of the whole project's code.
Although changes to the file formats introduced new features, backward compatibility was preserved: Speed Dreams can load cars, tracks and robots designed for TORCS.
Speed Dreams inherited from TORCS the handling of some graphics features such as custom 3D wheels, working lights (front, rear, brake and reverse) and glowing brake disks;[36] new features introduce support for animated drivers and steering wheels, first used on the 1936 Grand Prix class cars, and improved environment mapping for more realistic reflections.
Several levels of detail are supported for each car model in order to improve simulation performance, although − for size reasons − the official release ships only one.
The most popular graphical track editor, originally developed for TORCS in Java by Charalampos Alexandropoulos, features slider widgets to edit most parameters and a real-time 2D preview of the track's wireframe appearance; as a downside, it doesn't support parameters newly introduced in Speed Dreams, such as the ones related to the dynamic sky dome.
A new track editor, by Mart Kelder of the Speed Dreams team, is under development inside the SVN repository of the main project.
Official tracks of the Speed Dreams 2.0 release feature baked (static) shadow mapping, achieved using trackgen in conjunction with external 3D computer graphics software.
While the .AC format is natively handled by the AC3D software, an ACC importing/exporting script makes Blender a common choice among designers for providing tracks with complex objects.
The core architecture, which is still quite the same of TORCS, features a flexible structure that loads as separated modules the components of the simulation, such as the physics, graphics and robot engines.
According to the community leaders, the project was born as a reaction to the slow development pace and the lack of willingness to integrate some new features, like Force Feedback, into TORCS code.
Accessions didn't cease during the following years, and release 2.0 was issued by an international development team numbering 12 people from 8 countries and 3 continents.
Among the declared aims of the project, since its start, was a particular care to the players community, namely taking more into account the feedback and suggestions of the end-users;[2] for this reason, a number of new communication channels were opened.
Published in the November 7, 2011 issue of the German computer magazine c't, a review of Speed Dreams 2.0-beta1 pointed out the quality of cars' physics and race balancing.
On Desura, in the same period, the project's score was of 6/10 out of 90 reviews; the discrepancy can be interpreted as a result of the coexistence − on this platform − of both open source and proprietary video games.