ZBattleship
From ZDoom Wiki
ZBattleship is a small single map ZDoom wad designed for use with either the Doom 2 or FreeDOOM IWADs. It was made by Jason the Echidna, and it was his first ZDoom wad. But don't let that discourage you from trying it.
As you might expect from the name, this is another Battleship game. Honestly, the only differences from this and the famous board game by the same name is that this version is missing a row on the grid and the ships are all 3 pieces long. You play by shooting a dart board to place your ships and then shoot it to choose where to fire your cannon at your opponent's ships. It was excellently scripted to include a bot by the name of JasonBot who chooses random squares and ship rotations if you have noone to play with, though you can change the name of the bot by adding a zcajun bot instead.
There is a realtime mode in which you may shoot the board as fast as you want without having to wait for your opponent, which makes it rather fast-paced. There's even a fun ending sequence in which the loser's room gets filled with water and he drowns, though I doubt you'll see it unless you play against someone in a network game and lose.
In network games, player 1 and player 2 are the ones fighting, players 3 through 8 can only watch. Each control room has a grid and a screen showing your side of the board except for the spectator room players 3 through 8 appear in, which has both screens and no grid. In future revisions, if there ever are any, I may add grids to one of the walls displaying the actual positions of all the ships that are left and such. I would also make the bots smarter and be an actual challenge to beat without cheating, but meh... There isn't any demand for it right now.
The wad includes the source for the script, which was rather well written and documented, so you may learn a lot from reading it. This version was made for ZDoom 2.0.98, though the original (and unreleased) version was for 2.0.96... I had to rewrite the cannonball code because simply using Spawn wouldn't kill the ship hit triggers for some reason...

