Nautical Surge Dev Log 1

This post is a dedicated dev log to a project I have decided to see to the finish. Nautical Surge is an arcade boat racing title I intend to put together from prototype to fully functional product, targeting Steam and GOG. I was developing this in Unity years ago in my off time, and shelved the project due to time constraints and my own development issues I hit. 

This year, after concluding I would quit my dead-end maintenance job, and go to grad school full-time, I wanted to complement that new found determination with releasing my second self published solo developed game. In my heart I knew it had to be a racing game. Everyone reading this dev log probably knows my love for cars and the racing genre in general. I thought a modern boat racing game would really shake up the market, and be a fun challenge for myself. 

My god, has it been a challenge…I had two major hurdles to get over in order to have a real hard hitting game loop. 

First was opponent AI, which took me weeks to figure out, but I eventually settled on an amalgamation of two different 3rd party packages shoved together with my own scripting tweaks. 

I was proud of my beautiful jank mess. I have a bezier curve shaped as the track loop. I have an invisible game object following the curve at a variable rate depending on the point density of the curve. Turns have more points, thus the speed slows down. 

The second component is the vehicle AI itself. The vehicle will gas, brake, and turn depending on the transform of its next navigation point. 

Below is a little video demonstration of this AI and navigation system at work.

Instead of having dozens, or even hundreds of points along the track for the AI to navigate to, I have the game object following the curve set to my AI’s target transform, The object keeps moving, and thus the AI keeps chase. It seems silly, but it seems to be working great in prototyping tests, and works with jumps, obstacles, etc. 

The second hurdle is something I am still working on, and may prove to be the most challenging thing in this entire project. That is the damn water physics and shader. 

The shader has turned into an enormous rabbit hole, as I initially wanted to write my own simple water shader. While it did function, it simply did not offer the flexibility I needed in my level building. 

So I broke down and bought a very well reviewed water shader that had a lot of options that pertained to my particular needs. I only paid 25 dollars for it, and it would seriously save me loads of time…or so I thought. 

This shader package uses Unity’s new Universal Render Pipeline. My project was not using the pipeline, and so when I upgraded my project, it BROKE EVERYTHING. Now, Unity has an option to change your materials to URP materials, but of course it didn’t work. I had to go one-by-one and convert all of my materials. 

Additionally, my toon shader I was using, that you see in most of my gameplay videos for Nautical Surge, is completely incompatible with the URP. 

I basically need to fix all of my materials, and get them working for the URP. It’s totally my own fault for not being familiar with Unity’s new weird push for better graphics, and I now understand why a lot of developers have been flocking towards Unreal. 

I will stick with development in Unity until this project is complete, but I may pursue Unreal for my next title, especially if it is PC/Console focused. 

Aside from the shader fiasco, there is one more essential function I want before I can call this feature complete. I want some very mild water physics like Waverace 64. It doesn’t need to be physics heavy, but I want players to be able to hit some fun waves at set locations around the race course. I have spent hours researching how different games have done it over the decades, and it’s not necessarily complex, but I need to work around Unity’s physics system. 

If you would like to help support the game, please consider visiting my Patreon and join my Discord server to chat! HERE

The scope of the project is your average N64/PS1 era arcade racing game. I want 9 lush tracks, and 12 boats for players to mess around with. I am not pushing any game design boundaries, but merely using modern resources and development pipelines to make a boat racing game that feels more alive. 

I have animated drivers, aquatic life, interactive environments, and a killer soundtrack to wrap it all together. The idea was to make a retro inspired boat racer that looks how you imagined these games as a kid. 

I feel like these current goals are very in scope, especially since the driving physics, AI, and water will be done. I can focus purley on designer and asset creation. I also do intend to recruit some colleagues for some help. 

Related posts