Here it is, my first completed cart for Pico-8
ShipBattle ZX is a singleplayer Battleship clone that I recreated based on a ZX spectrum game originally written by my Dad back in the 80's. Had a lot of fun 'unpicking' the Spectrum Basic and working out how to recreate the game logic in Pico-8.
Unit Placement Controls:
Arrow Keys: Move
X: Place Unit
Z: Rotate (Where Possible)
Units cannot be placed directly adjacent to each other.
Arrow Keys: Move Cursor
Z: Show remaining enemy units
Not bad. I've not previously seen a "battleships" game where you have land and sea at the same time with different units for each.
I really liked seeing the computer make its move. That was a great feature that adds a lot to the game
The game is quite slow though. I think it would really help if it was just a bit faster.
The ending would benefit from showing how much you won (or lost) by. I played it once (and won!) but it would have been nice to see both final boards - a key to flick between them or they could just alternate over time ?
Thanks for playing! 😁
Yeah, in hindsight being able to speed up (maybe holding a button) the computer moving its cursor would be a good quality of life improvement. Also, I like the idea of a final review of the board. Will keep it in mind for the next version 😁.
Having the land and sea units does add some variety to the game. Also the coastline is generated each play to mix it up further. As far as I can tell, the idea is taken from a pen and paper version of the game published by Waddingtons in the late 60's that's very similar.
Hmm ... I'm more familiar with the water only version, @Hundstrasse. And for a good reason. With this version you are guaranteed to know the shapes and sizes of land targets versus water targets.
That makes the game much easier. Still a well-written game that. Here. Let me show you one of my favorite Battleship type games which I think is more challenging. I play this at least once a day.
Would love to see someone demake this in Pico-8 - and with the same AI brain for HARD level and develop your own ships and their shapes, saving them for future battles.
And yes those are some non-standard shapes for your ships. That definitely mixes the game up and keeps it vibrant and fun.
Thanks for playing - looks like an interesting version of the game.
Tbh I hadn't thought too much about Battleship (from a AI/tactics point of view) before putting this together, but kind of an interesting problem. Part of me wants to write now write the best AI I could manage and see how difficult it is to beat.
This is a good implementation, but I would prefer if moving the cursor off the edge of the screen had it wrap around to the other side.
On the tactics side, I like that the units can't be touching, as that does put in a level of strategy that the base game doesn't have. (in that you can be more efficient by choosing spots that maximize the number shot by an downed ship)
Thanks! Yes, wrapping the cursor is a good idea. Repeatedly targeting squares in the ocean is pretty annoying as it stands. I wanted to basically get the whole thing working, but I might go back and do a second version with some of these quality of life things.
The main reason that it doesn't wrap is that I reuse the same code to move the cursor and the units during placement. Having the cursor wrap during placement would've been a bit awkward (although, not very awkward), so I kept it simple. But a quick fix would be the have it wrap when attacking, but not during placement.
[Please log in to post a comment]