SUBSIM Radio Room Forums

SUBSIM Radio Room Forums (https://www.subsim.com/radioroom/index.php)
-   Sub Commander (https://www.subsim.com/radioroom/forumdisplay.php?f=269)
-   -   Working on a new submarine sim: Sub Commander - advice needed! (https://www.subsim.com/radioroom/showthread.php?t=202304)

TheGeoff 02-18-13 07:15 AM

Working on a new submarine sim: Sub Commander - advice needed!
 
EDIT: Latest Version: 0.28
Download Latest Version Here: http://bit.do/subcommander_028
(Download, then unzip the entire folder and run subcommander_0_28.exe)

VirusTotal link (to prove the file is safe): https://www.virustotal.com/en/file/4...ddaf/analysis/
(An obscure Russian antivirus program returns a false positive but the more mainstream, trustworthy programs show it is safe)

Tutorial: https://goo.gl/FUzqOW


A (slightly outdated) guide/manual is now included in the .zip file, titled 'guide.txt'

Submarine Development Tools:
http://goo.gl/MxBNIc
Made a custom submarine? Share it here!

Sub Commander is a free, independently developed roguelike submarine simulator with an emphasis on realism and freedom of choice. Originally, the game was envisioned to be a kind of cross between Dwarf Fortress and the film K-19 The Widowmaker but it is rapidly growing to a full featured submarine warfare simulator. Eventually I plan to simulate all aspects of cold war era naval and aerial combat, so the player's submarine will be in the midst of a dynamic, procedurally generated global war.

One of the main focuses of the game is dealing with accidents and emergencies aboard the submarine. Nuclear submarines are hugely complicated pieces of equipment and there's a lot which can go wrong - fires, flooding, radiation leaks, lack of oxygen etc are all accurately simulated. Careful management of the crew and the submarine's automated systems is essential to conquer these threats and complete your mission successfully. In some ways, it's like a much more complex version of Faster Than Light aboard a submarine (without the fancy graphics unfortunately!)

While the simulation of the onboard systems is highly detailed, I have tried to ensure the game is accessible to almost anyone and the learning curve is not too steep. The graphics are very basic but I try to keep them clean and functional - but I admit great graphics were never a priority for this game.

Key features:
- 38 nations represented in game, 36 of which are playable
- AI controlled forces consisting of 23 classes of ships and 10 types of aircraft, all with historically accurate armaments
- Huge in game map covering the entire globe, with more than 80 cities (uses high-res NOAA sea depth data)
- Realistic physics-based modelling of fire, fluid dynamics and radiation aboard the sub
- Extremely detailed submarine with accurate models of all important systems

Full Mac and Linux compatibility is planned eventually. In the meantime, players have reported it is possible to run the game through Wine on Linux and Wineskin Winery on OSX. The following instructions were posted in the Reddit thread for the game by user arcsey:
"Use Wineskin Winery. Create a wrapper with Wineskin 2.6.0 (current version) and use WS9WineCX13.1.0 as your engine. Just move the subcommander_0_21 folder into Program Files and set subcommander_0_21.exe as the executable. It should run fine without having to change any other settings."

Sub Commander is under active development, with new updates released anywhere from once a week to once every couple of months. Any feedback, suggestions or bug reports are greatly appreciated!


Edit:
A lot of people have recently asked about where to send donations / if I will make a Kickstarter etc. I'm amazed and honoured that people think this is a project worth donating to!

I want to make it clear that Submarine Commander will always be completely free, and that I do not in any way expect donations. But if you love the game and really want to make a donation to the project, you can send a donation via paypal to subcommandergame@gmail.com
Thank you!

Screenshots (v0.20):
Nuclear reactor management
http://i.imgur.com/bu8DqPu.png

Navigation
http://i.imgur.com/xCDtNUw.png

Activating fire supression system
http://i.imgur.com/OCDEixj.png

Download links for previous versions:
Version 0.27 http://goo.gl/9avGXB (Alternate link: http://goo.gl/cGHk7P)
Version 0.25 http://goo.gl/eAy0BO
Version 0.24 http://goo.gl/owcu6w
Version 0.23 http://goo.gl/9lOLz2
Version 0.22 http://goo.gl/Qpr0w1
Version 0.21 http://goo.gl/PsBCbK
Version 0.20 http://goo.gl/1PzpZK
Version 0.19 http://goo.gl/7J74vm
Version 0.18 http://goo.gl/3bcZ4K
Version 0.17 http://goo.gl/cRdSoM
Version 0.16 http://goo.gl/wwMJqL
Version 0.15 http://rapidshare.com/files/17135265...ander_0_15.zip
Version 0.14 http://rapidshare.com/files/12651374...ander_0_14.zip
Version 0.12 http://rapidshare.com/files/22452707...ander_0_12.zip
Version 0.10 http://rapidshare.com/files/16935040...ander_0_10.zip
Version 0.09 http://rapidshare.com/files/10539065...ander_0_09.zip
Version 0.08 http://rapidshare.com/files/89995876...ander_0_08.zip
Version 0.07 http://rapidshare.com/files/33112993...ander_0_07.zip
Version 0.06 http://rapidshare.com/files/34811829...ander_0_06.exe
Version 0.04 http://rapidshare.com/files/4084177128/subcommander.exe

Red October1984 02-18-13 11:10 AM

Wow! Looks great! Keep on working!

I don't have any questions at the moment...but it looks great.

:salute: :up:

Ethaniel 02-19-13 07:23 PM

Quote:

- User interface
- Graphics
- Historical accuracy
- Setting (WWII / cold war / modern)
- Realistic modelling of submarine systems
- Realistic modelling of environment (water physics etc)
- Lots of different playable submarines
- Lots of missions
I'm a huge fan of roguelike games as well as minecraft. Freedom of choice is my kind of gaming. I always prefer non linear and open ended games to high quality graphics and such. So you shouldn't worry about graphics. What I think is that your game is going to attract certain groups of gamers so you should consider more features. Randomly generated ocean could be one thing. The setting should follow your available building techniques. You can't have nuclear reactors on a ww2 game for example. I think this game would certainly be on my play list and why not even test list. As far as submarine info, maybe other members can help or even Wikipedia. I have betatested 3 or 4 roguelike games and I really enjoy them. I don't if my reply answers your questions but I just wanted to point those things out. I hope to see some progress.
Keep up friend

Julhelm 02-20-13 03:21 AM

So is this almost something akin to FTL with subs?

TheGeoff 02-20-13 05:10 AM

Thanks for the replies guys, good to see some interest!

I definitely plan to include as much random/procedurally generated content as possible. The ocean and weather conditions will almost certainly be generated on the fly, and the engine is coded to be as versatile as possible. Ideally once the submarine editor is finished players will be able to create virtually any submarine imaginable, with the game able to simulate how it behaves under pressure, how well it functions with damaged components etc. This sounds pretty optimistic but at the moment it's all going according to plan!

I hadn't heard of Faster Than Light before Julhelm, but I looked it up and it does indeed look fairly similar to what I had in mind. I'm hoping to model the individual subsystems with a greater degree of complexity than what I've seen in FTL though - for example, the mathematical model for a pressurised water reactor I coded today takes into account the reactor's maximum power rating, the loading on the steam turbine, the pressure in both the primary and secondary coolant circuits, the temperature of the fluid in the primary coolant circuit, the positioning of the control rods, and the damage condition of all of the relevant pumps, heat exchangers, turbines and pressure vessels. It sounds complicated but the result is a versatile, realistic model which can handle any situation the player can throw at it. Since my game will be free there isn't any commercial pressure to rush through development and oversimplify things! I'm intrigued by the combat and navigation systems in FTL though, I might pick up a copy and see how it all works.

TheGeoff 03-08-13 04:05 AM

Hello again subsimmers!

I've made a fair bit of progress on my roguelike sub sim and I thought I'd release what I've done so far. It's not much of a game yet - there are no missions, and no terrain features, just a single submarine in an endless, bottomless ocean. I'd like to see what people think of it so far!

Download Here:
http://rapidshare.com/files/4084177128/subcommander.exe
(it's 1.2mb or so)

At the moment, you can:
Control the nuclear reactors (don't let the core get too hot!)
Control the diesel backup generators
Dive and surface the submarine (if you dive too deep the pressure will crush the hull and the boat will flood)
Look through the periscope (the periscope can't be fully controlled yet though)
Launch torpedoes and order the crew to reload the tubes
Battle fires and flooding in emergencies

The main bug you'll probably notice at this stage is that the crew are immortal. Even if the submarine is burnt out and completely flooded the crew will continue wandering (or swimming) around their assigned compartments, waiting for orders. The firefighting AI is also pretty simplistic at this stage, so crew ordered to extinguish a fire will wander over and pat it out with their bare hands. One of these days I'll get around to implementing buckets, hoses etc!

Many of the control panels on the submarine are not yet functional - at the moment everything is controlled by the Reactor Control Panel, Power Sys. Control Panel, Maneuver Control Panel and Weapon Sys. Control Panel. So don't bother trying the others :)

Temporary controls used for debugging purposes:
Press TAB to start a fire, press left control to crack walls/floors and damage objects. These allow you to set up a disaster for your crew to deal with. If you set fire to the torpedo room or the reactor coolant pumps.... well, you'll probably get what you deserve! As explained in the game, press F to order crew to extinguish fires and R to order repairs.
Press left shift+D to view the FPS monitor. If the game runs at more or less than 12FPS please let me know!


Please post any thoughts and feedback here! Whether you love it, think it's rubbish, can't figure out how to play, found a bug, have some advice, or are completely indifferent I'd love to see your comments :)

Deamon 03-08-13 12:14 PM

Ohhh, a new subsim project. How cute! :)

Is this sort of subsim life ?

TheGeoff 03-09-13 11:59 PM

Hah yeah, I guess so. I really want to focus on managing the crew and different subsystems of the submarine, which is something I haven't seen done in many other sims. Maybe nobody else is interested in that kind of game but I'm definitely having fun making it :)

TheGeoff 03-13-13 07:48 AM

The screenshot in the OP is pretty outdated so I took a few more to show off the latest version:

Managing the power systems of the submarine: (not as complicated as it looks!)
http://i.imgur.com/KvH2fr7.png

Major fire in the bow torpedo room:
http://i.imgur.com/6Y2aVhV.png

Watching the sun rise through the periscope:
http://i.imgur.com/tw3h07x.png

I'll post a download link to the new version soon, if anyone's interested.

Hawk66 03-13-13 01:04 PM

Nice idea...to mix genres (roguelike/simulation).

In what progr.languages/frameworks do you code?

Red October1984 03-13-13 08:54 PM

I am going to download this and try it out!

If only the sub management was incorporated into Silent Hunter and Dangerous Waters. I really like the idea. :up:

TheGeoff 03-14-13 01:44 AM

Here's the new version (0.06):
http://rapidshare.com/files/34811829...ander_0_06.exe

Power systems, turbines, diesel generators and electric motors all work now. Soon I'll be adding more options for crew management, then some actual terrain to navigate around.

Hawk66, this is all programmed in Blitz Basic. I also know C but I find Blitz is much easier to use when programming games.

Thanks for downloading it, let me know what you think!

Red October1984 03-14-13 06:09 AM

I like it TheGeoff!

Great work! :D

TheGeoff 03-15-13 08:10 AM

Thanks RedOctober, glad you like it!

The navigation system is coming together quicker than I'd expected - sneak peek:
http://i.imgur.com/FXqyxiC.png

Creating your own maps for this game will be incredibly simple, just create a heightmap in MS paint and the program will do the rest. Made some very satisfying progress over the past few days!

Red October1984 03-15-13 05:58 PM

I have one request.

Can you post a comprehensive list of controls and maybe a tutorial on how to play?

Of course you are still working on the game... That comes first.

TheGeoff 03-15-13 11:11 PM

Sure. The interface is a bit unintuitive at the moment so any suggestions are welcome. This is the start of a readme/guide I've been typing up which will be included in the game in the future.

Controls (as of version 0.06)

General:
Arrow keys - move the cursor square around the screen
Enter - interact with the object at the cursor (eg. use a control panel, look through periscope)
Backspace - return to main screen (if you've opened a control panel or are looking down the periscope, this takes you back to the main game view)
Escape - return to game menu

Main screen
R - order crew to repair square or object at cursor
F - order the crew to extinguish a fire at the cursor
S - surface the boat (only works while submerged)
D - crash dive (only works while surfaced or at periscope depth)
O - open the door/hatch at the cursor
C - close the door/hatch at the cursor (crewmen can still open the door to pass through)
L - lock the door/hatch at the cursor (not recommended, may cause pathfinding errors)

Using a control panel
+ and - often control various settings. For example, in the reactor control panel pressing + or - will raise or lower the reactor control rods. [ and ] sometimes control other settings, as do ; and '
The number keys on the main keyboard (not numpad) are sometimes used to select an object to control - selecting a torpedo tube to fire, or selecting a reactor to control for example.
In the weapon control panel, Space fires the selected tube and R orders the crew to reload the tube.

To simulate a disaster aboard the submarine:
Tab - start a fire at the cursor
Left Control - damage the object/square at cursor


Basic tutorial
This is your submarine:
http://i.imgur.com/XouEVVR.png
Most control panels are located in the control room, as well as the periscope. The reactor control panel is the small blue rectangle in the generator room adjacent to the reactor chamber.

Controlling the submarine:
Move the cursor to the maneuver control panel:
http://i.imgur.com/lXCf9AA.png

Press enter to access the control panel

Press + and - to change the target depth of the submarine. As soon as the target depth changes, the submarine will begin to rise or sink to attempt to reach the target depth.

Press [ and ] to increase or decrease the target speed of the submarine. When the target speed is changed, the turbines will automatically increase or decrease power levels to speed up or slow down the sub to match the target speed. If the nuclear reactors are running at a low power level or one turbine is shut down, the submarine may be unable to reach the target speed. If both turbines are shut down/destroyed, the electric motor will automatically engage - note that the electric motor is nowhere near as powerful as the steam turbines, so the maximum speed of the ship is dramatically reduced.
http://i.imgur.com/T4HcHXw.png

While the submarine depth is between 0 and 10 metres, pressing D will order a crash dive. This sets the target depth to 90m.

While the submarine is submerged, pressing S will order the submarine to surface. This sets the target depth to 0m.


Controlling the reactors:
Move the cursor to the reactor control panel and press enter:
http://i.imgur.com/3KUMBxW.png

The reactor physics model in the game is quite detailed; it helps to know how a pressurised water reactor works in real life.
Basically, use the control rods (+ and -) to increase/decrease the reactor power output. If the control rods are above about 75% the reactor will shut down, if the rods are below about 5% the reactor will overheat and eventually cause a nuclear meltdown (this will happen if the core temperature reaches 1000 degrees celsius). In an emergency, pressing Z will SCRAM the selected reactor, lowering the control rods to 100% in an attempt to rapidly slow down the reaction.

Firing torpedos:
Move the cursor to the weapons control panel and press enter:
http://i.imgur.com/z1eVQtc.png

Press 1, 2, 3, or 4 on the main keyboard (not the numpad) to select a torpedo tube. Tube 1 is selected by default.
Press Space to fire the selected tube, then R to order the crew to reload the tube. Reloading is a slow process - you can watch the crew in the fore torpedo room moving the new torpedo into position.

Managing power:
Move the cursor to the power systems control panel and press enter:
http://i.imgur.com/gaHNF7z.png

On the left hand side of the screen is a display of the power output of each nuclear reactor and the controls for the diesel backup generators.

Press 1 or 2 to select generator and + or - to increase/decrease throttle. As in real life, running a diesel generator at low power (less than about 30%) for long periods of time will result in carbon buildup in the cylinders and decreased performance. For optimal performance the diesel generators should be run at 60%-80% throttle - at very high throttle settings, the generators may be damaged. A damaged generator running at high power may even start fires so be careful!

On the right hand side of the screen is a summary of all the power generated and used aboard the ship. If the net power is negative, the batteries will slowly discharge. Up to 1 megawatt of (positive) net power can be used to recharge the battery - this will happen automatically. Note that while the electric motor runs off the battery, the steam turbines require power from a nuclear reactor to operate.

The turbines can be shut down from either of the turbine control panels, located in the turbine room at the rear of the ship. If neither turbine is operational the electric motor will automatically engage.

Disasters:
This is what a nuclear accident in the No. 1 reactor looks like:
http://i.imgur.com/fkiRAg0.png
(to set something like this up, put the cursor over the reactor coolant pump and hold Left Control for a couple of seconds to simulate a damaged pump. Or open the reactor control panel, set control rod position to 0% and wait a few minutes)

The squares with red and yellow particle effects are on fire, while the squares with black cracks are damaged. The blue cracked squares near the bottom are leaking seawater - this must be quickly controlled or the boat will flood.

First off, we must control the fires:
http://i.imgur.com/CUo96s6.png
Point the cursor at the squares on fire and press F. The nearest crew will rush to extinguish the fires.

The explosion in No.1 reactor may have damaged the No.2 reactor as well. Open the reactor control panel, press 2 to select the second reactor then press Z to initiate an emergency shutdown.

Next, to control the radiation spread and flooding, point the cursor at the damaged bulkheads and hull segments and press R. Look carefully at the damage and determine which squares NEED to be repaired to control the flooding - be aware that the reactor room is heavily irradiated and avoid sending in crew for non critical repairs. You could also decide to repair the reactor unit (and/or coolant pump) to slow the spread of radiation.



Hope this helps a bit! There will be a lot more direction and purpose to the game once missions are added, it's basically a sandbox at the moment.

Red October1984 03-15-13 11:29 PM

Very good tutorial!

I'm eagerly awaiting the next release. I really like this. What kind of features do you have planned? :hmmm:

TheGeoff 03-17-13 03:13 AM

Version 0.07 is now available!
http://rapidshare.com/files/29150339...ander_0_07.zip
Make sure subcommander_0_07.exe and world.map are in the same folder.

Navigation and a world map have been added - press M to access the map in game, then ; and ' to change heading to port/starboard. Like in the maneuver control panel, [ and ] can be used to control speed. Navigation currently has a LOT of time compression - your submarine will move slightly faster than a fighter jet. This will be toned down in future releases, and an option for temporary time compression will be added.

Ocean depths are approximately correct at this stage - still tweaking the program which processes data from the National Oceanic and Atmospheric Association. Pay attention to the depth under keel though, as it's now possible to sink your sub by repeatedly bashing it against the sea floor...

The way the world map is handled may cause a drop in framerate on older computers. Let me know if this happens to you, I might be able to find a way to fix it :)

Edit: RedOctober, The next few releases will probably improve and modify the navigation system and maybe the crew management. I'll try to add some basic missions in the near future too. In the long term I have no idea where this is going to go... hopefully a few months or a year from now it'll be a comprehensive submarine sim, covering both hunter-killer and missile subs from the 1950s to the present. I've already started work on an easy to use submarine editor allowing players to design their own subs as well, which should allow a huge amount of customization. Want to sail around the world in a doughnut-shaped soviet bathyscaphe powered by twin nuclear reactors? Hopefully Sub Commander will eventually allow you to realise that dream :)

PeriscopeDepth 03-17-13 01:43 PM

Hi Geoff,

Good to see indie subsim projects! I would give your project a try but I don't have a Windows install at the moment. :)

As someone who has toyed with getting the NOAA bathy data into a 3D engine, I'm wondering how you keep your download size so low? The higher res data set (ETOPO 1) is something like 200-300 MB in size.

While I would consider myself a more than competent programmer, I've never done any game programming. So maybe there's just some widely known asset voodoo that I don't know about. :)

PD

Red October1984 03-17-13 02:49 PM

Quote:

Originally Posted by TheGeoff (Post 2026523)
Version 0.07 is now available!
http://rapidshare.com/files/29150339...ander_0_07.zip
Make sure subcommander_0_07.exe and world.map are in the same folder.

Navigation and a world map have been added - press M to access the map in game, then ; and ' to change heading to port/starboard. Like in the maneuver control panel, [ and ] can be used to control speed. Navigation currently has a LOT of time compression - your submarine will move slightly faster than a fighter jet. This will be toned down in future releases, and an option for temporary time compression will be added.

Ocean depths are approximately correct at this stage - still tweaking the program which processes data from the National Oceanic and Atmospheric Association. Pay attention to the depth under keel though, as it's now possible to sink your sub by repeatedly bashing it against the sea floor...

The way the world map is handled may cause a drop in framerate on older computers. Let me know if this happens to you, I might be able to find a way to fix it :)

Edit: RedOctober, The next few releases will probably improve and modify the navigation system and maybe the crew management. I'll try to add some basic missions in the near future too. In the long term I have no idea where this is going to go... hopefully a few months or a year from now it'll be a comprehensive submarine sim, covering both hunter-killer and missile subs from the 1950s to the present. I've already started work on an easy to use submarine editor allowing players to design their own subs as well, which should allow a huge amount of customization. Want to sail around the world in a doughnut-shaped soviet bathyscaphe powered by twin nuclear reactors? Hopefully Sub Commander will eventually allow you to realise that dream :)



I'm really liking 0.07 right now. Keep up the good work!

This is an Indie project worth watching... :rock:


All times are GMT -5. The time now is 12:53 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.