SUBSIM Radio Room Forums

SUBSIM: The Web's #1 resource for all submarine & naval simulations since 1997

Go Back   SUBSIM Radio Room Forums > Sub/Naval + Other Games > Indie Subsims
Forget password? Reset here

Thread Tools Display Modes
Old 08-01-17, 06:51 PM   #1
Join Date: Mar 2017
Posts: 208
Downloads: 56
Uploads: 0
Default Crowd/Open Source Nav Sim from Scratch

Who: Yellofin, joined half a year ago after buying and playing SH3 and SH4 ferociously for a few weeks. I am a programmer / IT forensic specialist.

What: I want to write an engine for naval simulation. So let's brainstorm a little:

The engine would cover:
  • Oceans, coast lines, harbor locations, islands, scientifically accurate bathymetry (OSS data available)
  • scientifically accurate world model (weather (incl air and water temperature), drift, wind, tides, scientifically accurate night skies for navigation (the project would start out simple and evolve into a more and more complex model over time, using randomized weather in the beginning and adding more and more historic/scientific data/inputs and models, depends on availability)
  • scientifically accurate modelling of radio emission/detection/reception (modeled using existing physical models)
  • scientifically accurate damage models (no hp, but flood models / pump models / fire and fire-fighting models / critical hit models). A mechanical engineer would be of great help here.
  • Mines, evacuation, rescuing of survivors, inspecting ships, landing spies
  • human models (fatigue, accidents, injuries, illness, training, skill, experience) A medically trained person would be of great help here.
  • military models, i.e. tactical AI for sub hunting / convoy hunting

The game would be a simulator. No role playing. No dialogues, no sweet talking the smut, etc. Just orders and tactical decisions.

To fill the engine for an actual themed game, people, i.e. players will have to create 3D models of ships, subs, planes, buildings and harbors, vegetation, land, config files for ships, planes and shore guns that cover parameters such as crew complement, speed, tonnage, size, armament, firing arcs, reload times, ammunition load out, range, sensors, sensor sensitivity, damage to sensors, details for the damage model, etc.

A scenario/campaign editor will be included. You provide location, time/date, vessel, crew, vessel configuration and ammunition load out and a mission statement/orders and other parameters as needed.

This engine wouldn't care about whether you want to model sub warfare in the malayan sea in the 1940s or in the north sea in 1917. The engine wouldn't care if you model sub warfare or anti sub warfare. A ship is a ship. Some ships shouldn't be below the surface to operate safely and continued. A plane is a plane. Potentially you should be able to recreate realistic naval battles from the pre sub-era. Or early subs (like this wooden barrel with the drill).

  • The engine should be open source.
  • I'm thinking GPL or MIT license.
  • It should be written in an readily accessible language (C++) -> OSS & free compilers available
  • It should use open source standards wherever possible (i.e. xml or json config files).
Thus the engine can easily be adapted to new needs, even non-programmers can peek into it to gain understanding

The purpose and benefit would be the following: One size fits all. One engine that allows the modelling of any type of ship, submersible or not, and maybe airplanes, in a realistic world, crewed with somewhat realistic people.

What are the current problems with SH3-5:
Now we have SH3-5 and a million mods, supermods, SH3 Commander, JSGME, etc... which are all great and awesome things. They're a nightmare to maintain, change, reinstall and modify. Documentation (for users) is spread all over the internet and often sub standard. Subsim does a great job at helping people out, but it does require quite some persistence . Documentation for developers is almost completely inexistent. People abandon projects or don't allow others to reuse (which is their undisputed right).

However, having one project that does it all - and there's no reason to argue why it shouldn't all come out of one single engine instead of a million sub projects grafted on top of the blackbox that the SH3 executable is - would do away with all the problems mentioned above.

I've written quite extensively now about this idea that popped into my mind about 3 months ago when I first started looking into fixing some SH4 issues (project page).

I have a million more ideas, but I am most interested in what the community thinks. Do you think it can be done? What is the interest level? What kind of commitment can I reckon with?

The project would mainly need:

Man power
  • programming & documenting
  • testing
  • modelling
  • infrastructure such as hosting, project management, bug and issue tracking
  • money (infrastructure costs)
YellowFin is offline   Reply With Quote
Old 08-01-17, 07:41 PM   #2
CTD - it's not just a job
propbeanie's Avatar
Join Date: May 2016
Location: One hour from Music City USA!
Posts: 9,805
Downloads: 444
Uploads: 2


I'm good at breaking things, so testing would be my forte... But I'm in the middle of two major commitments at this time, and I definitely do want to help and contribute what I can. My programming "skills" are from before Windows 95, and I usually found things to do that were DOS-based in plain C language (I hated all that 16 pages of gobble-dee-gook just to get a window on-screen), though I could also do ASM, basic and VB up to v6. I've basically been out of touch with my old programming mind for almost 25 years, and will nod off anytime I read a book on computers ('course, I nod off at the drop of a hat anyway). I haven't a clue how this "modern" programming stuff works, but you seen one assembler, you've seen 'em all, or so they say... I'm currently getting dazed and confused for so long it's not true in the text-based files of the Fall of the Rising Sun and Climb Mount Niitaka mods. A modders "interface" in the game, with documentation, for me, would be a bonus...

Daunting, major undertaking, but it'd be fun!

"...and bollocks to the naysayer/s" - Jimbuna
propbeanie is offline   Reply With Quote
Old 08-02-17, 05:52 AM   #3
Navy Seal
Join Date: Jan 2011
Location: CJ8937
Posts: 8,214
Downloads: 793
Uploads: 10

Ambitious project, maybe a bit too ambitious for an open source video-game platform, but your idea might work if we are many committing to it, motivated, with a good deal of free time and without strong egos

I suppose my best skills are in historical/technical data research and in 2D/3D arts, btw
|May the Force be with you!|
gap is offline   Reply With Quote
Old 08-02-17, 12:16 PM   #4
Join Date: Mar 2017
Posts: 208
Downloads: 56
Uploads: 0

Thanks for chiming in. Good to hear that it doesn't sound completely crazy to others.

I agree it's an ambitious idea. The philosophy should be to start simple and build up from the bottom. I think the fact that it isn't a technically extremely hard thing to do, i.e. modelling a body of water (limited at the bottom) with floating objects that can interact with each other and the world in a few, very precisely defined manners is a strong point.

Ships can move in 3 dimensions but are limited to the ocean surface in altitude. Surface ships cannot operate once submerged (through damage effects). They can have 4 kinds of weapon systems (depth charges, direct firing guns (e.g. AA, low caliber artillery), indirect firing guns, torpedoes). They can have 3 types of nav/tac sensors: Visual, electromagnetic, sound. That should be fairly simple to implement. The physics and mathematics of these weapon systems is well studied and a lot of source material is available that should fairly easily translate into code. The same applies to the physics and mathematics of sensors (visibility on a curved surface, radio strength depending on wavelength and antenna power, etc).

A similar breakdown of behavior and interactions can be made for planes.

Then I'd move on to weather and aspects of the ocean as an environment (drift, wind, waves, bathymetry). To start out we would use simple approximations. For example a radio signal might be unrealistically strong under certain weather conditions in early versions of the engine. More realistic models could be added later, or if that's too complex, a simple balancing effect could be added.

Edit: I am not trying to write a computer model of the worlds oceans. The efforts put into modelling reality for the game would be dictated by reasonable aspirations of realism and playability.

And such the engine would grow mechanic by mechanic, model by model. Then the world it provides the "matrix" for has to be filled with life by content creators (*looking at the amazing modder community*).

I have looked into commercially and freely available 3D engines that could be used for such a project. I'm also looking into open source games and how successful they were. I know that some people have written quite sophisticated clones of games such a Civilization for linux for example. I'm also looking into how to successfully manage an open source project with many contributors. I think avoiding infighting, unnecessary forks, etc. have to be avoided for a successful project in a smaller community.
YellowFin is offline   Reply With Quote
Old 08-06-17, 10:10 AM   #5
Join Date: Sep 2009
Location: Germany
Posts: 222
Downloads: 0
Uploads: 0

That sounds very good but I have bad experiences with "community open source projects" because it more often than not tends to virtually thousands of "project managers" and contrary ideas and no one who does the damn job.

Beside that I'm going to follow this with close interest and maybe, just maybe I could help here and there as I'm kind of a C++ veteran (doing this in my 9to5 job).

I could help quite now with hosting stuff, a forum to discuss and all that stuff if you like to set up something like this.

edit: I would probably use an existing 3d engine, probably an open source one of course.

Last edited by Xaron; 08-06-17 at 10:28 AM.
Xaron is offline   Reply With Quote
Old 08-17-17, 08:20 AM   #6
Join Date: Mar 2017
Posts: 208
Downloads: 56
Uploads: 0

I agree with all your points and thanks for the input. For now I keep this project in the back of my mind and gather ideas and tools. I guess at one point I just have to start and write a bit of code to see where it goes. Maybe this fall I can sit down for this here and there. Gradually it'll take shape and then I can throw it at the forum for people like you and the others who have commented, to take a look.
YellowFin is offline   Reply With Quote

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT -5. The time now is 08:55 AM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © 1995- 2024 Subsim®
"Subsim" is a registered trademark, all rights reserved.