SUBSIM: The Web's #1 resource for all submarine & naval simulations since 1997 |
08-01-17, 06:51 PM | #1 |
Engineer
Join Date: Mar 2017
Posts: 208
Downloads: 56
Uploads: 0
|
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:
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). How:
Why: 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
|
08-01-17, 07:41 PM | #2 |
CTD - it's not just a job
|
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! |
08-02-17, 05:52 AM | #3 |
Navy Seal
Join Date: Jan 2011
Location: CJ8937
Posts: 8,215
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 |
08-02-17, 12:16 PM | #4 |
Engineer
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. |
08-06-17, 10:10 AM | #5 |
Ensign
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. |
08-17-17, 08:20 AM | #6 |
Engineer
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.
|
|
|