How to Play Salvo
Salvo is a naval grid battle game played on two 10×10 charts — one for your fleet, one for the enemy waters. Before battle begins you deploy five ships of varying lengths: the Carrier (five cells), Battleship (four), Destroyer (three), Submarine (three), and Patrol Boat (two). Click cells on your own chart to place each vessel, using the Rotate button to flip orientation, then press Ready when your fleet is deployed.
Once battle starts, you and the AI take alternating turns firing on each other's hidden grids. Click any cell on the enemy chart to fire. A hit lights red with a cross marker; a miss turns blue with a ripple ring. When every cell of a ship registers as hit it sinks — the cells turn dark and the entire vessel is crossed out. Sink all five enemy ships before the AI destroys your fleet to win.
Strategy Tips
- Avoid clustering your ships. The Normal and Hard AI use cross-pattern targeting after a hit. Tightly packed ships let the AI chain from one sunk vessel straight into a neighbor. Spread your fleet across the chart — place ships near opposite corners and edges to maximize the AI's hunt time.
- Use diagonal placement to confuse hunt-target AI. Place ships so their endpoints do not share a row or column with other ships. When the AI scores a hit it immediately probes the four orthogonal neighbors. If no neighbor contains another ship, the AI wastes turns returning to hunt mode before finding your next vessel.
- Fire at the edges early. On Easy difficulty the AI fires randomly, but on Normal and Hard most probability density accumulates in the center of the chart where long ships are statistically more likely to fit. Firing along the edges early can deny the AI a foothold, and if you hit a ship near the edge its short length limits how many cross-pattern probes the AI can make before your turn comes back.
- Watch the ship-sunk tracker. The HUD shows how many of five enemy ships are down. Once you sink three, only the two shortest remain — a Submarine (3) and Patrol Boat (2). On Hard difficulty the probability map contracts dramatically at this point. Keep firing in lines, not clusters, to resolve the final two ships quickly.
- Daily Challenge consistency. Every player gets the same seeded AI ship layout and the same seeded AI firing sequence for the current UTC day. If you miss all five carrier cells on an early run, note the row — the Carrier is guaranteed to be there on every retry that day. Use failed attempts to build a map of the hidden fleet before your winning run.
Understanding the Difficulty Levels
Easy mode is the best entry point for new players. The AI fires at a completely random unrevealed cell each turn with no pattern recognition. Because roughly 30–40 cells are always contested early in the game, the AI's random targeting gives you plenty of time to sink the enemy fleet before yours takes serious damage. On Easy you can win even if you fire inefficiently — the AI is just as likely to miss a cluster of ships as a lone patrol boat.
Normal mode introduces hunt-target logic. The AI fires randomly until it registers a hit, then immediately probes all four orthogonal neighbors of that hit cell trying to find the ship axis. Once it finds two consecutive hits it locks onto the axis and burns down the entire length. This mirrors human play and makes Normal noticeably more dangerous than Easy — do not cluster your ships, because a single hit near a packed group can chain into two or three sinks before you get another turn.
Hard mode replaces random hunting with probability density. Every turn the AI builds a heat map across all 100 cells, counting how many different ship orientations could still fit through each unrevealed cell given the remaining undiscovered fleet sizes. It then fires at the hottest cell — the one statistically most likely to contain part of an undiscovered ship. This is mathematically close to optimal play and means the AI finds your ships significantly faster than hunt-target alone. On Hard, ship placement strategy matters far more than firing strategy: the AI will find your fleet regardless, so your best shot at a high score is sinking the enemy quickly before the AI's efficient hunting ends the game.
Scoring System Explained
Salvo uses a simple but rewarding points system. Sinking each of the five enemy ships earns 10 points regardless of how many shots it took to sink it — you are not penalized for missed shots against that ship, only incentivized to hit and finish quickly so the AI fires fewer times. When you win, each of your own ships still afloat adds 5 survival bonus points. Five ships surviving adds 25 bonus points, making the no-damage victory worth 75 points total. The Daily Challenge adds a one-time 25-point bonus on top of whatever you scored, so a perfect Daily run is worth 100 points.
Your all-time best score is stored locally in your browser under the key salvo_best. After each game the results screen compares your final score to your record and flags a new personal best in gold text if you break it. Your win streak is tracked separately under salvo_streak and resets to zero on any loss. Both records persist across sessions as long as you don't clear local storage.
Frequently Asked Questions
How do I place my ships in Salvo?
Click any cell on your board to place the current ship starting at that position. Use the Rotate button or right-click (desktop) to toggle between horizontal and vertical orientation — a ghost preview shows exactly where the ship will land before you commit. The Random button places all five ships instantly in valid non-overlapping positions if you prefer a quick start. Once all ships are down, press Ready to begin the battle.
How does the AI work in each difficulty?
Easy AI fires at a completely random unrevealed cell every turn — purely opportunistic, no pattern recognition. Normal AI uses hunt-target logic: it fires randomly until it scores a hit, then switches to targeting the four orthogonal neighbors to find the ship axis. Hard AI builds a probability density map based on the remaining fleet sizes — the cells statistically most likely to contain undiscovered ships get fired first, making it significantly more efficient at hunting.
What is the Daily Challenge mode?
The Daily Challenge seeds the AI ship layout and firing sequence from today's UTC date using a deterministic random number generator. Every player worldwide gets an identical board that day. Win the Daily Challenge to earn a 25-point bonus on top of your regular score. Your daily streak counter increments with each consecutive day you win — it resets if you lose or skip a day.
How is the score calculated?
Each enemy ship you sink earns 10 points. When you sink all five and win, each of your own ships still afloat adds 5 bonus points — so a clean sweep with no losses is worth 75 points (50 for five sinks plus 25 for five surviving ships). Daily Challenge wins layer on an additional 25 points. Losing scores only the ships sunk before your fleet was destroyed, with no survival bonus.
Does Salvo work on mobile?
Yes. On mobile the grids scale to fit the viewport — touch and tap anywhere on the enemy grid to fire. The canvas uses touch-action:none to prevent accidental page scrolling mid-move. During ship placement, tap to place and use the Rotate button to flip orientation before each tap. The layout stacks vertically on narrow screens so both grids remain fully visible without horizontal scrolling.