Show HN: I made a tactical map-based WWII submarine simulator (public beta) (silentshark.app)
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 ] threadAnyways, 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
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 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.
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 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.
hah!
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!
> 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...)