Minesweeper 16/48

People are still making stuff for the Sinclair related machines. Tell us about new games and other software that runs on the Spectrum, ZX80/ZX81, Pentagon and Next.
Post Reply
User avatar
Blerkotron
Dizzy
Posts: 90
Joined: Mon Nov 13, 2017 12:36 pm

Minesweeper 16/48

Post by Blerkotron »

I've just released a public beta of Minesweeper, which is (surprise!) a Minesweeper clone for the 16K, 48K and 128K Spectrum. The game comes as two versions - a 16K release for little Spectrums and an enhanced 48K release for its bigger brothers. The enhanced edition features an extra mode with boards based on classic Speccy sprites as well as all the usual Minesweeper features.

This is my first attempt at a full game in Z80 machine code, so I hope I did okay. :)

You can get the game and the instructions and everything from my itch.io page, here:
https://blerkotron.itch.io/minesweeper

ImageImage
ImageImage
User avatar
MatGubbins
Dynamite Dan
Posts: 1237
Joined: Mon Nov 13, 2017 11:45 am
Location: Kent, UK

Re: Minesweeper 16/48

Post by MatGubbins »

This is great and well done for your first attempt in machine code.


Yup, found a bug though....
The flag counter can go from 0 to 255 if a numbered square is clicked on twice. I have a snapshot that I can email you.
User avatar
R-Tape
Site Admin
Posts: 6353
Joined: Thu Nov 09, 2017 11:46 am

Re: Minesweeper 16/48

Post by R-Tape »

Great game, very polished.

I do like the Hero mode, a while back I wondered how to combine something like Pixel Quest with Minesweeper, but went down the pixel = mine route. This way works pretty nicely.

One thing though, I went up to the hard level and medium grid and bombed first attempt about 10 times in a row...
User avatar
Blerkotron
Dizzy
Posts: 90
Joined: Mon Nov 13, 2017 12:36 pm

Re: Minesweeper 16/48

Post by Blerkotron »

MatGubbins wrote: Sun Nov 26, 2017 9:10 pm This is great and well done for your first attempt in machine code.


Yup, found a bug though....
The flag counter can go from 0 to 255 if a numbered square is clicked on twice. I have a snapshot that I can email you.
Oops, I knew it was worth calling it a beta! :-)

I'll check that out and get back to you for that snapshot if I have trouble reproducing it - thanks!
User avatar
Blerkotron
Dizzy
Posts: 90
Joined: Mon Nov 13, 2017 12:36 pm

Re: Minesweeper 16/48

Post by Blerkotron »

R-Tape wrote: Sun Nov 26, 2017 9:46 pm Great game, very polished.

I do like the Hero mode, a while back I wondered how to combine something like Pixel Quest with Minesweeper, but went down the pixel = mine route. This way works pretty nicely.

One thing though, I went up to the hard level and medium grid and bombed first attempt about 10 times in a row...
Yeah, that can be a problem with the Windows version too - I copied the level sizes and bomb density settings directly from that. I tried to be a bit fairer with the settings on the Hero levels, because I think standard 'hard' mode can seem a bit unfair at times.
Ralf
Rick Dangerous
Posts: 2279
Joined: Mon Nov 13, 2017 11:59 am
Location: Poland

Re: Minesweeper 16/48

Post by Ralf »

Congratulations on completing your first machine code project! I hope that you liked it and more will follow.

I don't have a chance to play it at the moment but I can alraedy say from the screenshots that I like the presentation. It was a nice touch to add some colours and backgrounds.
Lorfarius
Drutt
Posts: 10
Joined: Mon Nov 13, 2017 10:16 am

Re: Minesweeper 16/48

Post by Lorfarius »

Looks amazing, know what I'll be playing when my Next arrives :D
UK's number one Amiga podcast:

https://www.AMIGArama.com
Ralf
Rick Dangerous
Posts: 2279
Joined: Mon Nov 13, 2017 11:59 am
Location: Poland

Re: Minesweeper 16/48

Post by Ralf »

I played it. It's everything that Minesweeper should be, nothing more, nothing less.

Okay, maybe two things:

1) When you write your next game, think about adding some music. In the classic times we had mostly silence and some farts from beeper in Spectrum games but today if you want to do something really nice, music is must-have.

2) Heroes mode is a bit hard and unfair - there are small separate areas and you have to do too much completely wild guesses.
User avatar
jmk
Drutt
Posts: 26
Joined: Mon Nov 13, 2017 2:23 pm

Re: Minesweeper 16/48

Post by jmk »

Blerkotron wrote: Sun Nov 26, 2017 10:09 pm
R-Tape wrote: Sun Nov 26, 2017 9:46 pm One thing though, I went up to the hard level and medium grid and bombed first attempt about 10 times in a row...
Yeah, that can be a problem with the Windows version too - I copied the level sizes and bomb density settings directly from that. I tried to be a bit fairer with the settings on the Hero levels, because I think standard 'hard' mode can seem a bit unfair at times.
Nice work, I've had a bit of fun with this, although the Large map in Hard mode seems to be impossible to get going.

On the earlier versions of Windows Minesweeper (not sure about any of the later ones), it was rigged so that the first square you clicked was always blank.
Just like before, it's yesterday once more.
User avatar
Juan F. Ramirez
Bugaboo
Posts: 5101
Joined: Tue Nov 14, 2017 6:55 am
Location: Málaga, Spain

Re: Minesweeper 16/48

Post by Juan F. Ramirez »

Looks nice. I'll give it a try.
User avatar
Blerkotron
Dizzy
Posts: 90
Joined: Mon Nov 13, 2017 12:36 pm

Re: Minesweeper 16/48

Post by Blerkotron »

Ralf wrote: Mon Nov 27, 2017 8:04 pm I played it. It's everything that Minesweeper should be, nothing more, nothing less.

Okay, maybe two things:

1) When you write your next game, think about adding some music. In the classic times we had mostly silence and some farts from beeper in Spectrum games but today if you want to do something really nice, music is must-have.

2) Heroes mode is a bit hard and unfair - there are small separate areas and you have to do too much completely wild guesses.
Music I would definitely like to look into, but that needs me to learn more about interrupts and to actually find someone with some musical talent (I have none!) so it'll either be a later update or the next game, I think.

Heroes mode was actually quite difficult to do - first to find sprites which actually worked okay as levels and then to balance how many mines should go into each. There are still some corners which are basically luck, I agree, but I tried to make those levels a little bit easier (perhaps not quite easy enough).
jmk wrote: Mon Nov 27, 2017 8:47 pm Nice work, I've had a bit of fun with this, although the Large map in Hard mode seems to be impossible to get going.

On the earlier versions of Windows Minesweeper (not sure about any of the later ones), it was rigged so that the first square you clicked was always blank.
Thanks! I've heard the comment about 'rigging' that first click a couple of times now, so I might take a look at it as an option for the 48K version. It should be quite straight-forward to do and the levels usually generate pretty quickly so hopefully there wouldn't be too much of a delay after that first click.


Incidentally I found and fixed the bug that [mention]MatGubbins[/mention] reported earlier (accidental SBC instead of SUB so occasionally the carry flag interfered with the result) so that'll be okay in the next version. :)
Ralf
Rick Dangerous
Posts: 2279
Joined: Mon Nov 13, 2017 11:59 am
Location: Poland

Re: Minesweeper 16/48

Post by Ralf »

Music I would definitely like to look into, but that needs me to learn more about interrupts and to actually find someone with some musical talent (I have none!) so it'll either be a later update or the next game, I think.
AS for music you could try to ask a man called Yerzmyey. He's on old World of Spectrum, he's very talented and did music for a lot of games in the past.

Or you can take some existing music. Actually there is a big archive of tunes written for Spectrum in the past and most of them were never used in any game. Most of them were done in the 90s in Russia and you can in practice consider them a kind of "abandonware".
User avatar
RMartins
Manic Miner
Posts: 776
Joined: Thu Nov 16, 2017 3:26 pm

Re: Minesweeper 16/48

Post by RMartins »

You can always "rig" the first click, just to open a 3x3 tile area centered around the tile the user clicked, without blowing up, hence avoiding to need to clear your designs in that area. Next clicks would work as usual.

However, for the "Hero Levels" you will still have trouble with very dense areas, since MineSweeper was not created with that kind of clustered areas in mind, since it does not work well with closed or walled areas, because then it becomes a lucky guess game, instead of a masterful click game :geek:
User avatar
Blerkotron
Dizzy
Posts: 90
Joined: Mon Nov 13, 2017 12:36 pm

Re: Minesweeper 16/48

Post by Blerkotron »

Update time!

I've just released v1.0 - a couple of tweaks and bugfixes, and I've also implemented the much-asked-for "can't lose on your first click" mode. Downloads are again available from my itch.io page:

https://blerkotron.itch.io/minesweeper

Thanks to everyone who tried the first version, I've had some lovely feedback and it's great to see people actually playing and enjoying it. :)
User avatar
MatGubbins
Dynamite Dan
Posts: 1237
Joined: Mon Nov 13, 2017 11:45 am
Location: Kent, UK

Re: Minesweeper 16/48

Post by MatGubbins »

Downloaded the new version and it looks as if the flag bug has been solved. Brilliant!

When the minefield has been solved it is very easy to press another key and return to the menu without seeing the final score flash. Would it be possible to have the score flash for a few seconds without accepting a key press and then afterwards accept it, that way the player knows they have won and look at the map for a few seconds.

Edit: OK, I've played it again with the sound on (I usually play puzzle games with sound off) and it emits a noise when won.
User avatar
Blerkotron
Dizzy
Posts: 90
Joined: Mon Nov 13, 2017 12:36 pm

Re: Minesweeper 16/48

Post by Blerkotron »

I've done that a few times too but just thought it was me being cack-handed. I'll put a bit of a pause in there for the next version.
User avatar
RMartins
Manic Miner
Posts: 776
Joined: Thu Nov 16, 2017 3:26 pm

Re: Minesweeper 16/48

Post by RMartins »

When we fail, and blow up a mine, it would be nice to uncover the rest of the level, like the windows version does, so we can see where we went wrong.

Is the Blocky Avatar from "Byte Me" sprites by Craig Stevenson ?
http://www.worldofspectrum.org/pub/sinc ... eSheet.png
User avatar
Blerkotron
Dizzy
Posts: 90
Joined: Mon Nov 13, 2017 12:36 pm

Re: Minesweeper 16/48

Post by Blerkotron »

Yes, Craig is @hot_piping. :)

I've added revealing the level to the wish list, it should be very straight-forward to do.
User avatar
Morkin
Bugaboo
Posts: 3251
Joined: Mon Nov 13, 2017 8:50 am
Location: Bristol, UK

Re: Minesweeper 16/48

Post by Morkin »

Very nice conversion, slick and polished, pretty cool if it's your first machine code game. I'm very tempted to stick this on my DS for long train/coach journeys.. :)

I was a bit wary of downloading it at first, as you can get drawn into playing this b*stard for hours..! :lol:
My Speccy site: thirdharmoniser.com
redballoon
Manic Miner
Posts: 390
Joined: Sun Nov 12, 2017 3:54 pm

Re: Minesweeper 16/48

Post by redballoon »

RMartins wrote: Sat Dec 02, 2017 4:15 am Is the Blocky Avatar from "Byte Me" sprites by Craig Stevenson ?
http://www.worldofspectrum.org/pub/sinc ... eSheet.png
Hello. That is me. As is @hot_piping.
Yes, they were never used in “Byte Me” and had been out of work until Blerk’s Minesweeper.
User avatar
RMartins
Manic Miner
Posts: 776
Joined: Thu Nov 16, 2017 3:26 pm

Re: Minesweeper 16/48

Post by RMartins »

Cool that those graphics have now been used instead of just being lost in the mist.

You might want to correct the entry of the "Byte Me" sprite sheet, and create a new one for this game :D
User avatar
R-Tape
Site Admin
Posts: 6353
Joined: Thu Nov 09, 2017 11:46 am

Re: Minesweeper 16/48

Post by R-Tape »

Blerkotron wrote: Sat Dec 02, 2017 1:47 am I've done that a few times too but just thought it was me being cack-handed. I'll put a bit of a pause in there for the next version.
You may know already but I find putting a 'nokey' check first useful:

Code: Select all

	;
anykey:	call nokey
	xor a
aklp:	in a,(254)
	cpl
	and 31
	jr z,aklp
	ret
	;
nokey:	xor a
	in a,(254)
	cpl
	and 31
	jr nz,nokey
	ret
	;
Post Reply