Overview

ProjectR is a driving game on an island that used to be a jail…

NOTE: This project is a work-in-progress without a finish date. It will always be free to play and share. If you were charged money for this or any future version, seek a refund immediately. ProjectR is a passion project out of love for the Rush series.


Preview


Requirements


Asset Requirements

To play ProjectR, "San Francisco Rush: The Rock" assets are required. This game is not playable unless these are provided, and they will be requested upon first startup. No assets are included.

The assets that will be requested include the following:

Optionally, a copy of the original "San Francisco Rush" hard drive ("sfrush" CHD or raw binary copy) adds the white color option to the original 8 cars.

Computer Requirements

Steam Deck

Testing has been performed on a Steam Deck using the .AppImage provided.

Note that the setup portion must be performed in "Desktop Mode". Once complete, the game can be added as a non-Steam game and played through the Steam Deck's primary interface.


Download

Release Notes:

  • Feature: Force Feedback Support - Added support for force feedback for steering wheels.
    • The only system-level driver requirement for force feedback is support for a constant haptic effect.
    • Force Feedback settings are available under a new Force Feedback sub-tab when a steering wheel is selected under the Settings' Input tab.
    • The three feedback strengths in-game are configurable by the user in the Force Feedback sub-tab. These define the gain or proportional force output of the wheel.
      • They default to 60%, 80%, and 100% for light, medium, and heavy, respectively.
    • A global gain setting is also available which defines the proportional gain of all feedback strengths.
      • For example, setting the global gain to 50% and using the default medium feedback strength setting of 80% results in a maximum force output of 40% while playing.
    • NOTE: If you experience high speed oscillations or uncontrollable shaking due to force feedback, try lowering these gain settings.
    • All settings related to force feedback are specific to the wheel it is configured for and do not apply to all connected steering wheels.
  • Feature: Steering Range Control - When supported and enabled, the range of steering can be automatically set on startup.
    • This feature is disabled by default.
    • It can be enabled in the same Force Feedback sub-tab of the Input tab mentioned above.
    • NOTE: If an end-deadzone was previously set to emulate the steering range, that deadzone will need to be removed as the device is expected to provide a steering input value proportional to the range set.
    • Upon quitting the game, it will attempt to revert the range setting to what it believes is the default maximum range for the given wheel or, if available, the previously set range.
    • Not all wheels are supported. Most Logitech wheels and some Thrustmaster and Fanatec wheels are supported. Notably, Asetek, CAMMUS, MOZA, Simagic, and Simucube wheels are not supported.
      • NOTE: Not all supported devices have been tested. Feedback is appreciated on if it does or does not work when the game reports that it is supported, and you've enabled it.
      • For unsupported wheels, if your device supports manually setting the range within a manufacturer-provided control panel, the recommended range to set while playing is 270°.
  • Improvement: To support additional input configuration, the Input settings tab has been changed to provide multiple sub-tabs instead of a single scrolling list of items.
  • Improvement: Added setting to enable the holding of a numbered gear after the associated button has been pressed. (Requested by WeenieWhistle)
    • Previously, when a numbered gear button was pressed on a gamepad, it would engage the mapped gear but upon releasing the button, the car would return to neutral.
    • This change is applicable to users who would like to use the numbered gear buttons for gear selection and will not affect those using an H-shifter or the Gear Up and Gear Down buttons.
    • The setting can be found at the bottom of the Game Buttons sub-tab and is configurable for each input device.
    • This setting defaults to enabled on Gamepads and disabled on Wheels/Joysticks.
  • Optimization: Improved texture conversion and GPU transfer performance.
  • Bug fix: Changing the force feedback strength during car selection will no longer change the car color as well.
  • Bug fix: Fix issue where an input device that identifies as two devices would not be selectable on the Input tab. It is now possible to select the correct device for configuration. Encountered with a Fanatec wheel.
  • Bug fix: Fix issue where optional Vulkan features were not being detected correctly and would not be enabled when available.
  • Bug fix: The closest drone's engine should now always be audible when near the player.
  • Bug fix: Fix a rare race condition that could occur when attempting to quit the game causing the game to sit frozen and not close.
  • Other: Updated SDL from 2.30.6 to 2.30.9.
  • Other (macOS only): Updated MoltenVK from 1.2.10 to 1.2.11.
  • Other: Under the hood changes in preparation to support 2049…

NOTE: The initial release for 0.5.1 (c419267) has been replaced to include a fix related to the rendering of 2D images on macOS. If you downloaded the initial version within the first 24 hours of release and have not encountered any issues, then there is no need to update.

Release Notes:

  • Feature: macOS Support - This is dependent upon MoltenVK which allows Vulkan code to run on macOS through Apple's Metal graphics framework.
    • To see if your computer is compatible, visit Apple's support article at https://support.apple.com/en-us/102894.
    • At the time of release, ProjectR was built with MoltenVK 1.2.10.
    • A universal binary is provided with compatibility for both Apple Silicon and Intel-based Macs.
    • Special thanks to Ace, larsbamble, and ant from the Team Rush Discord for helping test compatibility!
  • Feature: Explorer Mode - Enable unlimited time and unlimited laps when drones are disabled. (Feature request by DeathEngine2)
    • This setting can be enabled in the "Gameplay" tab in settings.
    • Further enhancements to this feature will be added in future updates.
    • Disclaimer: Time limit is actually 11.57 days and number of laps is set to 99.
  • Feature: Interface Scaling - The "Options" menu and Settings interfaces can now be manually scaled through a slider in Settings.
    • NOTE: This does not affect in-game UI elements such as the HUD.
    • This was introduced due to an inability to reliably determine display scaling on Linux and macOS. This may be rectified in the future with SDL3.
    • This setting can be found in the "Display" tab in settings or as interface_scale in the game configuration file.
  • Optimization: To support some older macOS systems, the world render system was refactored to reduce the required GPU resources to render a model.
    • This change may have a slight performance and efficiency improvement on modern systems but this has not been confirmed. However, it should allow some systems that the game couldn't run on before to now be supported.
    • For additional technical detail, most of the world render system's combined image sampler descriptors have been replaced with separate image and sampler descriptors in its descriptor set layout. This results in replacing a maximum of 53 combination image samplers (53 images and 53 samplers) with 1 combination image sampler, 45 images, and 8 samplers. This was an issue on some older macOS systems and may have been due to having a maximum sampler limit of 16 and missing support for argument buffers.
  • Bug fix: Fixed the texturing of the black colored version of the "Extreme" Sports car (Bugatti EB110 lookalike) during car selection.
  • Bug fix: Multiple devices can now provide input without conflicting. This fixes issues related to dual device input setups such as wheel and pedal setups requiring two USB cables such as those with a separate USB cable for the H-shifter. (Reported by neSneSgB)
  • Bug fix: For those who desire to use the numbered gear button inputs on their gamepad to select a specific gear, that now works correctly. (Reported by neSneSgB)
  • Bug fix: A duplicate Golden Gate Bridge should no longer appear on track 1 during a race. Due to the fix's implementation, it will still appear during attract mode.
  • Bug fix (Linux only): Fixed multi-monitor detection. Before this release, SDL would fail to detect if more than one monitor was detected and would treat all monitors as one. (Reported by neSneSgB)
  • Other: Improved first-time setup process by adding additional dialogs to clarify what will be requested or what will occur in the following setup step.

Release Notes:

  • Feature: "Options" Menu – Pressing the Option or Start button on your gamepad or Escape on your keyboard will open this menu. This allows access to settings or to quit the game.
    • While in a race, this menu allows quitting a race. This will result in an instant game over and return you to attract mode.
    • Restarting and Pausing a Race are work-in-progress items and are not yet supported.
  • Feature: In-Game Configuration – All settings within the game configuration file can now be managed directly in-game.
    • With this change, comments are no longer added to the game's configuration file as that is no longer the primary means of changing settings.
    • To better clarify a setting's purpose, informational tooltips can be hovered over to understand more about what an option does.
    • Keyboard, gamepad, and joystick navigation is supported. New input mappings for navigating menus are added to existing inputs automatically.
      • The navigation mappings can be changed towards the bottom of the Input tab for each input device.
  • Feature: Visual Input Mapping and Testing – Configuring input axes and buttons can be done with a simple click and button press.
    • Up to three buttons can be mapped at once to a single button-based input.
    • Axis-based inputs can now be visualized. Dead zones and linearity, as well as range type for wheels/joysticks, are demonstrated visually as a line graph with a dot showing the current input and resulting output value.
      • This makes it much easier to configure a wheel and pedal setup or an atypical gamepad/joystick device.
    • For gamepads, button icons and tooltip text describing the gamepad's button should properly represent the expected icon and name for the gamepad.
      • For example, Xbox controllers will show X, Y, A, and B while PlayStation controllers will show a cross, triangle, square, and circle.
      • Not all supported gamepad buttons have icons and will instead show a question mark. Hovering over the buttons should show a tooltip correctly describing the button. For example, the paddles on the bottom of the Xbox Elite or DualSense Edge controllers would exhibit this behavior.
  • Feature: Display and Graphics Configuration – Window mode, resolution, and refresh rate can now be changed in-game.
    • Pressing the Apply button after changing window mode, resolution, and refresh rate will apply those changes immediately.
      • Refresh rate can only be set when the Full Screen window mode is selected. Full Screen (Borderless) and Windowed match your screen's current refresh rate.
    • NOTE: After changing the game's resolution, the in-game UI elements will be incorrectly placed. The next attract scene or race will have the correct placement of UI elements. This will be fixed in a future release.
    • HUD positioning bias changes occur the next time the HUD is set up and do not update immediately. This is the same issue as what occurs when the game resolution changes and will be fixed in a future release.
    • Draw distance changes are applied immediately.
    • Anti-aliasing and Anisotropic Filtering settings require the game to be restarted. These are marked with a triangle icon with a tooltip indicating this.
  • Feature: Audio Configuration – Game volume and attract volume can now be changed.
    • The game's original reverb can now be disabled as well.
  • Feature: Music Player – Music from the game can be selected from a list and played at any time.
    • Leaving the settings menu will automatically turn off the music player.
    • For advanced users, additional sounds can be played if the hexadecimal command value is known.
      • NOTE: Not all commands from the original DSP code were implemented, especially if the command was not used by the game and was only used for audio testing or debugging.
  • Feature/Bug fix: The "Read me" and "License and Attribution" text can be viewed in-game in the "About" tab.
  • Feature: Added option to retain damage after a manual abort. When enabled, only a crash will reset a car's visible damage. This option matches the behavior of the Nintendo 64 version of the game. (Feature request by neSneSgB)
  • Feature: Attract demo races are now completely randomized for where they start on a track. Previously, they could only start from a handful of points.
    • This does allow for some wacky starts…
  • Optimization: Improved the model loading and transfer process used between attract scenes and at the end of a race. Pauses from attract movies to attract demo races should be noticeably reduced.
  • Feature/Bug fix: Clarified and fixed option for full-screen borderless window mode. Previously, it was incorrectly named "full_screen" while the game defaulted to "full_screen_windowed" (which was actually full-screen exclusive mode). The game now properly defaults to full-screen borderless mode. (Feature request/Reported by Matsilagi)
  • Bug fix: The "Rush Whisper" now properly plays when the Rush logo animation starts during attract mode. (Reported by neSneSgB)
  • Bug fix: When "Show Damage" is turned off, brake lights will continue to work even after a car is hit in the rear. This bug originates from the arcade version where the brake lights would no longer work even when there was no visible damage to the rear of a car with this option off.
  • Bug fix: Speedometer will properly start at 0 at the beginning of a race. Previously, an attract demo speedometer reading would carry into the beginning of a player race until the countdown finished.
  • Bug fix: Cars in attract mode will no longer have a tunnel reflection at the start of a demo race. This was most apparent when the camera started at a distance from the cars and went away when they were close.
  • Other: Removed default input mapping where the "Create"/"Share"/"Select" button would immediately quit the game. The input mapping still exists and existing devices will continue to have it but new devices will not.
    • This is no longer necessary due to "Quit Game" being accessible from the "Options" Menu.
  • Other: Removed "Edit Game Config" shortcut from the Start Menu on Windows. This only applies to new installations of the game.
  • Other: Updated SDL from 2.30.5 to 2.30.6.

Release Notes:

  • Bug fix: Car reflections almost perfectly match the original arcade version. The black truck bed is now better at absorbing light…
  • Bug fix: Car body shading and car window reflections now properly respect the original global light direction and car orientation.
    • Previous versions used a different global light direction vector and shading levels in an attempt to match the arcade version.
    • The car window reflection fix is most apparent during car selection where the window reflections were previously static and now change when the rotor rotates.
  • Bug fix (Windows only): Added checking to the installer to verify the latest Microsoft Visual C++ Redistributable is installed. If it is not up-to-date, it is automatically downloaded and installed as part of the installation process.
  • Other: Adjusted default game controller input settings for steering. Linearity now defaults to 1.5 instead of 1.3 and the end deadzone is now 0 instead of 1000.

Note: For Windows users, if the game does not run after setup is complete, ensure you have the latest Visual C++ Redistributable from Microsoft installed. Click here to download it.

Windows (.exe, 3.6 MiB) Linux (.AppImage, 2.8 MiB) macOS (.dmg)

Release Notes:

  • Feature: Add support for mapping "accelerator", "brake", and "clutch" to buttons. (Feature request by neSneSgB)
  • Feature: Add support for gamepads not supported by SDL's Game Controller API but are accessible via SDL's Joystick API. When detected, an empty configuration will be added to the game configuration file. Manual editing of the file is necessary to make use of these controllers. (Feature request by stevie2049)
  • Feature: Add support for adjusting anisotropic filtering. A new configuration option has been added called "anisotropic_filtering" to the game configuration file. (Partial feature request by Kupo)
  • Bug fix: Fix the Vulkan queue family determination algorithm to properly support more limited devices such as the Nvidia GTX 960 which was triggering a crash within Nvidia's Vulkan implementation. (Encountered by Kupo and super56k)
  • Bug fix (Linux only): Changed from Debian 12 to Ubuntu 22.04 as the base distribution the AppImage is built on. This fixes any GLIBC symbol issues for users of Ubuntu 22.04 or derivative distributions such as Linux Mint 21. (Encountered by super56k)
  • Other: Updated SDL from 2.30.3 to 2.30.5.

Release Notes:

  • This is a release to gather feedback on compatibility related to CPU, GPU, and operating system support. The game has been tested on a limited number of Intel and AMD processors with Nvidia and AMD graphics cards. Intel Iris Xe integrated graphics have also been tested in a limited capacity. However, Intel dGPUs (Arc) are untested.

Known Issues

The following are a list of known issues, including bugs as well as inconsistencies between the arcade game and ProjectR:


Discord

Join the "Team Rush" Discord server!


© 2024 T3hD0gg