Show HN: I made a tactical map-based WWII submarine simulator (public beta) (silentshark.app)

125 points by epaga ↗ HN
I've seen quite a few simming discussions on HN, so thought some of you might like this - I've created a map-centered, tactical submarine simulator and it's been a blast to make.

I grew up playing Silent Service II on Atari ST with my dad, then got into Silent Hunter IV in the 2000s, and most recently have been loving the more recent UBoat. In each case, the part I always enjoy the most is the plotting and charting aspect - essentially beating uncertain estimates with geometry.

So I decided to see how far I could get making my own sim that focused nearly entirely on that aspect. You listen on the hydrophone, estimate course and speed, identify ships through the periscope to get the mast height, use a working stadimeter for range estimates, and then try to build a good enough firing solution before getting discovered and hunted by any escorts.

Things I'm particularly proud of are the working stadimeter, the dynamic music (Holst Mars stings when your torpedo is nearing a ship), and pretty intelligent destroyer logic. I've found great reference materials online and have modeled several of the gauges directly after actual submarine instruments.

Tech-wise it’s a Vite/TypeScript app which enables me to offer the whole free version of the app as a browser version.

The Steam page is here => https://store.steampowered.com/app/4705650

The landing page is here => https://silentshark.app

I plan on releasing a full version soonish, including a WWII campaign with progression, patrol zones, and much more on Steam (PC, Mac, Linux/Steam Deck), App Store (iPhone, iPad, Mac), and Play Store (Android).

Would highly appreciate any feedback anyone has!

24 comments

[ 2.6 ms ] story [ 34.3 ms ] thread
Oh wow, guess this is getting auto-reposted! I posted it a while back to 0 upvotes...

Anyways, this project has been a blast to make especially with all the free and public domain resources that are out there on WW2 stuff.

A few fun examples that helped me:

- an original Torpedo Data Computer manual https://maritime.org/tech/tdc.php

- an original recognition book of Japanese merchant ships https://www.ibiblio.org/hyperwar/NHC/NewPDFs/USN/ONI%20Recog...

- an original report of the Battle of Leyte Gulf including a patrol zone map of US submarines on page 166 https://apps.dtic.mil/sti/tr/pdf/ADA003030.pdf

Congrats on the launch. Looks interesting, though maybe a tad dry. Love the authenticity though. Have wish listed it and will keep an eye out.
very cool, i’m in
Is that comic sans or am I having a moment
I would like to try this, but would strongly prefer a demo on Steam that starts and runs fullscreen rather than playing it in the browser.

Can obviously fullscreen a browser tab etc - just that, playing it in the browser has a sense of impermanence that doesn’t mesh with needing to take a long time to learn and play it? I dunno, just feels like the wrong place for it

I tried the tutorial, but got confused by when to start/stop time and it made everything become desynchronized from your tutorial instructions.

I then started the time again, when I shouldn't have and realized that I would have to do all the calculations all over.

You should either manage the time or give dynamic instructions.

Very cool! I love the "dry" part of it: actual calculations of angles and speed estimations etc. Will keep an eye out for the launch!
The submarine don't look like a submarine.
I have a couple of first impressions trying the basic tutorial on my phone. I like the idea a lot, so I hope the criticism isn't taken as spoilsport negativity by others.

Immediately, the music is way over the top. I had to turn down the volume and hope I wasn't missing out on anything important. I do get that it tries to set a mood, but without some flavor text or other introduction it feels incongruous to what is being presented.

Then, I found that the instructions given are very tool-oriented instead of goal-oriented. If I understood why I'm doing what I'm being asked to do I'd be a lot more motivated to keep going. Instead I'm being given a tour of "what all the buttons do". Meanwhile, I can't really see any of the tooltips/labels that pop up because my fingers are in the way.

Without some more polish, this feels more like a "take your kids to work day" simulator than a submarine warfare simulator. It's a bit of a shame because I am a fan of the simulator genre.

I super appreciate this feedback and don't at all take it as overly negative.

I have gone back and forth on whether to describe how to use the tools or instead to explain goals. I get what you're saying and will give this more thought.

(And the fact remains that with this many tools, it's simply really challenging to explain it in a clear and elegant way on a small device.)

Once you "get it" and know how everything works, then I think it can work well...but for something this complex, the issue is definitely going to be onboarding.

I was able to delete the target ship in the tutorial by selecting it and pressing delete, when I wanted to delete a mark next to it. Is that intentional?
"Wow, it looks amazing, honey!" -John's Mom

hah!

i think you marked the game as a 32 bit macOS game, cause i get the warning notification on the steam store page. You should check that just in case
Found the setting and fixed that.
If anyone is curious, the music was composed by Gustav Holst and is called The Planets, Op. 32. I am curious for OP: What made you choose this soundtrack?
Sorry, but your app icon is 3.66 MB PNG. A quick optimization to save some network requests.
Optimized to webp. Thanks again!
This is so cool. Awesome job! I grew up playing submarine games: Gato, Silent Service, The Hunt for Red October, Up Periscope!, and Aces of the Deep. I wishlisted it on Steam and will be purchasing it when it is released.

Can you talk about the development process? How long did it take you? Is any of it vibe-coded? As you already stated, the browser version is a Vite/TypeScript app, but what programming language is the actual game in?

Edit: Also, nice website!

Thanks so much for the kind words!

> How long did it take you?

It's taken about 3 months of my spare time (some evenings and a few weekend afternoons) so far.

> Is any of it vibe-coded?

I actually started the project back in February as an experiment to train myself in prompting and to see how far I could get using Codex and letting it do literally all the coding for me. It turned out, I could go all the way. I have not touched a single line of code myself (I have only tweaked some CSS from time to time). This project has led me to realizing my 20+ years of professional experience in coding are clearly worth far less than they were just a couple years ago...

> As you already stated, the browser version is a Vite/TypeScript app, but what programming language is the actual game in?

The actual game is written in TypeScript. For the Windows/Mac/Linux/Steam Deck/iOS/iPadOS/Android builds I'm using Electron to package it (which has surprised me for how well it's working even though I always kind of hated Electron...)

please make the whole planet a single map. like fsx did
Great job and kudos! Spent 4 hours in tutorials, but damn destroyer always get's me in last step. Anyhow will wait for steam release. Cheers.
Nice game. It's a pity that the stadimeter is so small. I can't read it at all and have to trust the computer (if I wanted to trust the computer I would probably play a different game)
waiting for it to be available on app store