HydroSim is a standalone Hydroplane racing simulator built with the Unity3D game engine. It currently simulates Unlimited Hydroplanes from the H1 Unlimited racing series.

Windows

Get HydroSim Current Version 0.7.1.0

Extract the zip file to C:\HydroSim and run HydroSim.exe

Linux

Get HydroSim Current Version 0.7.1.0

Extract the zip file to ~/HydroSim and run ./HydroSim

Mac OSX

Get HydroSim Current Version 0.7.1.0

Extract the zip file and run HydroSim.app

Control Mappings:

Binding all the controls is now done in-game in the Controls Settings menu. You can get there
by clicking the Settings button from the main menu of the game.

Key Bindings

Almost all of the keybindings are configurable and can be viewed in the controls settings menu. There are still a handful of hardcoded ones, defined below.

Driving:

  • Esc: Exit the boat
  • Ctrl+F: Show FPS/Ping

Join UHL server

There is now a server list, you can see the list of servers by clicking the Join button. From there you can select a server and join it.

Run in VR Mode

Goto Settings->Display and set VR Mode to Oculus or OpenVR.
Recenter the view with F4 key (Can be bound to a different key in the Input binding dialog when launching the game).

Run as borderless window

This can now be down in the Graphics settings by selecting the Fullscreen Window display mode.

Run as Dedicated Server

Create a shortcut to HydroSim.exe and add the following command line options to Target

"C:\HydroSim\HydroSim.exe" -nolog -dedicated -batchmode -nographics

Note: As of 0.7.0.0 there is now a server.xml file in Streaming Assets that should be configured when running a dedicated server. In the XML you can configure the following about the server:

  • announceServer - Whether or not to add your server to the server list.
  • address - The IP address of the network adapter to serve on.
  • port - The network port to host the server on.
  • name - The name of the server (displayed on server list)
  • description - Description of the server (displayed on server list)
  • maxClients - The max number of clients, this currently also includes spectators.
  • passwordRequired - Whether or not a server password is required.
  • password - The password that needs to be entered to connect to the server.
  • adminPassword - The password to enter to become an admin on the server.
  • tickRate - This is how often clients send network updates when on the water. 30 is the default, I wouldn't recommend changing it.

Make sure to keep a copy of the server.xml before updating the game, so you don't overwrite your settings. Some of the parameters to the xml can still be passed as command line arguments as well, so if you have an old server setup, the command line arguments will override the parameters in the xml.

The server defaults to use port 25144 on both TCP and UDP. If you want other people to be able to connect to the server on the open internet, you will need to open the port on your firewall. If you're behind a router, which is likely, you'll need to login to the router and forward the port to your computer running the server.

Custom Teams / Paintjobs can be added to the game by adding a new folder to the StreamingAssets/Teams folder. There are lots of Teams (as well as Photoshop templates for making custom teams) available on this Google Drive: https://drive.google.com/drive/folders/1DIOr89tJfDemsREYHmlu6wHNi_Ua7C4M?usp=sharing

Within a team folder you can add the following DDS textures.

Hull.dds - The main hull texture.
Cowling.dds - The engine cowling texture.
Cockpit.dds - The cockpit texture.
SaltWaterScoop.dds - The salt water scoop (for turbine hulls).
Hardware.dds - Various other parts of the hydroplane.
Engine.dds - The engine texture (for piston hulls).
Trailer.dds - The texture for the boat trailer that gets placed in the pits.

Each of the above textures can also have an _met.dds which is the Metallic map. The red color channel determines metallicness and the Alpha channel determines smoothness.

As of HydroSim v0.7.0.0, Crunch compressed DDS files can also be used. This can greatly reduce the file size of the custom paintjob textures. In order to compress the files the following Crunch command line application needs to be used:

https://github.com/skaughtx0r/crunch/raw/unity/bin/crunch_x64.exe

HydroSim stores some persistent data to your system for settings, replays, setups, etc.

On Windows this data is all stored in: C:\Users\%username%\AppData\LocalLow\HydroSim\HydroSim
This path can be pasted into the File Explorer address bar.

Replays are stored in the "Replays" sub-folder.
Setups are stored in the "Setups" sub-folder.
Input bindings are stored in "inputBindings.json"
Settings are stored in "settings.xml"
Player info/settings are stored in "player.xml"

Programming

Scott Przybylski - Physics / UI / Netcode / Race logic / Replays / etc

3D Models

Scott Przybylski - Boats / Race Course Scenery
Kallen Washburn - GP Hydroplanes
Tim Johnson - Blue Bridge

Tracks

Scott Przybylski
Kym Behrndt

Textures

Scott Przybylski - Scenery
Matt Johnson - UI Graphics / Logos / Boat paints
Craig Montgomery - Boat paints
Chris Porten - Boat paints / templates

Audio

Eddie Kanfoush - Prop noise
Gavin McClure - GP engine sounds

Special Thanks

Todd Wasson - Physics help
Brad Warren - Physics help

Everyone else I missed who has helped with testing, reporting bugs,
gathering info, pictures and data.

Donors

Matt Johnson
DJ Miller
Craig Montgomery
Kyle Lewis
Czernobog
and Everyone else that I may have missed

Unity Assets

Crest Ocean SDK - https://github.com/crest-ocean/crest
Dynamic Water Physics 2 - Hull / Buoy water physics
Time of Day - Sky and Lighting
TerraLand - Real World terrain
MicroSplat - Terrain shaders
Vegetation Studio - Trees / foliage
NatureManufacture - Trees
MTree - Trees
EasyRoads3D - Roads / bridges
BuildR3 - Buildings