back..

Battleships

A minimal multiplayer implementation of Battleships using the Mirror networking library, with KCP transport for local connections and Fizzy Steamworks for remote matchmaking via Steam. You can view the source code here and try the latest build here.

During the building phase, each player sets up their map locally, which is then synchronized with the server. From that point on, all combat logic is handled server-side. At the end of each turn, the server sends the outcome back to both clients, who then visualize the results - such as hits, misses, exposed cells, and damaged ships - based on the provided data (e.g., cell coordinates and hit results).

The water and cell shaders were custom-built for this demo. The rock models were taken from a free Sketchfab resource.

Below is a demonstration of a local multiplayer session running on two separate machines.

Local gameplay.

You can also play remotely using Steam invites.

Host (left) and client (right).

© 2025  •  Based on Moonwalk by abhinavs