New demo: Pushbot

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.
Nomad
Manic Miner
Posts: 600
Joined: Thu Dec 28, 2017 12:38 pm

Re: New demo: Pushbot

Post by Nomad »

Well it's a PSPACE-complete problem so stands to reason its going to be a tough cookie. :lol:

http://weetu.net/Timo-Virkkala-Solving- ... Thesis.pdf
User avatar
Joefish
Rick Dangerous
Posts: 2042
Joined: Tue Nov 14, 2017 10:26 am

Re: New demo: Pushbot

Post by Joefish »

R-Tape wrote: Fri Mar 23, 2018 10:03 amI'll just need to work out where each level came from first... :shock:
Satan's armpit. :lol:
User avatar
Joefish
Rick Dangerous
Posts: 2042
Joined: Tue Nov 14, 2017 10:26 am

Re: New demo: Pushbot

Post by Joefish »

Actually these smaller ones can be easier to solve methodically, since the decision trees aren't all that extensive. There are certain obvious moves at the start that turn out not to work, but if you look again often you only have a choice of one or two possible moves from any position, so at the point where you do have a choice, you simply try the less-obvious option and see what happens.
User avatar
R-Tape
Site Admin
Posts: 6353
Joined: Thu Nov 09, 2017 11:46 am

Re: New demo: Pushbot

Post by R-Tape »

Joefish wrote: Fri Mar 23, 2018 1:39 pm Actually these smaller ones can be easier to solve methodically, since the decision trees aren't all that extensive. There are certain obvious moves at the start that turn out not to work, but if you look again often you only have a choice of one or two possible moves from any position, so at the point where you do have a choice, you simply try the less-obvious option and see what happens.
I'd be interested to know what you make of level 26. It's one of these cases but I was totally blind to the move that opened the door, I spent a whole afternoon trying to do it (as I did a few years ago with SokobOne and forgot the trick). I wonder if a different set of eyes finds it quite straightforward.
User avatar
R-Tape
Site Admin
Posts: 6353
Joined: Thu Nov 09, 2017 11:46 am

Re: New demo: Pushbot

Post by R-Tape »

Nomad wrote: Fri Mar 23, 2018 1:29 pm Well it's a PSPACE-complete problem so stands to reason its going to be a tough cookie. :lol:

http://weetu.net/Timo-Virkkala-Solving- ... Thesis.pdf
I'm sure it's very normal for people with a maths/computer science background, but I love the fact that people do professional research into things like this. If you type 'Sokoban' into the web of science it brings up all manner of interesting stuff.

Another great one is the Sokoban level generator paper, I even wondered if it could be implemented on the Speccy - I think Einar tried and decided it was a no go.
User avatar
Kweepa
Manic Miner
Posts: 311
Joined: Sat Feb 03, 2018 6:14 pm
Location: Albuquerque, New Mexico

Re: New demo: Pushbot

Post by Kweepa »

Since it took minutes on a 2011 pc to generate non-trivial levels, the time between levels might be rather painful...
I'm still stuck on level 10. No need for random levels yet :)
User avatar
R-Tape
Site Admin
Posts: 6353
Joined: Thu Nov 09, 2017 11:46 am

Re: New demo: Pushbot

Post by R-Tape »

Kweepa wrote: Fri Mar 23, 2018 2:49 pm Since it took minutes on a 2011 pc to generate non-trivial levels, the time between levels might be rather painful...
Easy solution - use compiled BASIC.
User avatar
pavero
Dynamite Dan
Posts: 1570
Joined: Sat Dec 09, 2017 11:49 pm
Location: The Czech Republic
Contact:

Re: New demo: Pushbot

Post by pavero »

Can you please add a joystick support to the full version of the game? ;-)
User avatar
Einar Saukas
Bugaboo
Posts: 3070
Joined: Wed Nov 15, 2017 2:48 pm

Re: New demo: Pushbot

Post by Einar Saukas »

pavero wrote: Fri Mar 23, 2018 7:39 pm Can you please add a joystick support to the full version of the game? ;-)
May I mention how easy it is to implement multiple joystick support using JOY? Now with proper coding instructions:

https://spectrumcomputing.co.uk/zxdb/si ... 05/JOY.txt
User avatar
Ersh
Manic Miner
Posts: 480
Joined: Mon Nov 13, 2017 1:06 pm

Re: New demo: Pushbot

Post by Ersh »

I'm up to Level 23. :) 13 to 16 felt really tricky but then I breezed through 17 to 21, Level 22 was a bit harder again. Never bothered with Sokoban before because I've seen some huge levels and I haven't the patience for that. This is perfect, bite-sized puzzles that takes 1-7 minutes to figure out.

Full game pwease.
User avatar
Einar Saukas
Bugaboo
Posts: 3070
Joined: Wed Nov 15, 2017 2:48 pm

Re: New demo: Pushbot

Post by Einar Saukas »

R-Tape wrote: Fri Mar 23, 2018 1:59 pmAnother great one is the Sokoban level generator paper
This is a very good paper on the subject. But if you think hard enough, you can figure out many further optimizations that they have missed :)

R-Tape wrote: Fri Mar 23, 2018 1:59 pmI even wondered if it could be implemented on the Speccy - I think Einar tried and decided it was a no go.
I'm a big fan of Sokoban, and implemented my own level generator and optimal solver in Java years ago. These processes are inerently memory hungry, thus impractical for Spectrum except for solving very straightforward levels like Joefish described.
User avatar
Kweepa
Manic Miner
Posts: 311
Joined: Sat Feb 03, 2018 6:14 pm
Location: Albuquerque, New Mexico

Re: New demo: Pushbot

Post by Kweepa »

I don't see why the generator is inherently memory intensive. You could easily generate a floor plan, create a solved state, then move the robot around and pull blocks randomly.
...You could hash the crate positions and keep them in a stack to ensure that you don't revisit states.
...and robot positions...
...and backtrack to a previous crate pull if you hit a deadend...
I'm beginning to see why the generator is memory intensive!
User avatar
Einar Saukas
Bugaboo
Posts: 3070
Joined: Wed Nov 15, 2017 2:48 pm

Re: New demo: Pushbot

Post by Einar Saukas »

Exactly.

Even using quite a few more optimizations than the ones mentioned in papers, the number of combinations still explode too rapidly. So it's not viable to traverse the tree of possibilities without keeping track of already analyzed positions.
User avatar
R-Tape
Site Admin
Posts: 6353
Joined: Thu Nov 09, 2017 11:46 am

Re: New demo: Pushbot

Post by R-Tape »

pavero wrote: Fri Mar 23, 2018 7:39 pm Can you please add a joystick support to the full version of the game? ;-)
Yep, will do. Joysticks are more in demand than I realised. Can I ask how are you playing your games? PC with joystick or real hardware?
Ersh wrote: Fri Mar 23, 2018 7:51 pm I'm up to Level 23. :) 13 to 16 felt really tricky but then I breezed through 17 to 21, Level 22 was a bit harder again. Never bothered with Sokoban before because I've seen some huge levels and I haven't the patience for that. This is perfect, bite-sized puzzles that takes 1-7 minutes to figure out.

Full game pwease.
7 minutes is faster than me. I graded them as easy, medium, medium/hard, and hard. Interested to know how you fare with hard, the last 4 or so.

There's been more interest than I expected in Pushbot, I'm more likely to return to it. It needs smooth movement, an undo function, joystick, sound, more polish. I enjoy making my own Sokoban levels but it'd be impossible to improve on these ones.
User avatar
Ersh
Manic Miner
Posts: 480
Joined: Mon Nov 13, 2017 1:06 pm

Re: New demo: Pushbot

Post by Ersh »

Completed it! :) Managed to beat Level 23 in around a minute or two but the remaining levels took me quite some time to get through, had the most problems with Level 25, think I spent over 20 minutes on that one. Such an addictive game and the well defined graphics works extremely well here. More please. :)
User avatar
pavero
Dynamite Dan
Posts: 1570
Joined: Sat Dec 09, 2017 11:49 pm
Location: The Czech Republic
Contact:

Re: New demo: Pushbot

Post by pavero »

R-Tape wrote: Sat Mar 24, 2018 8:21 am
pavero wrote: Fri Mar 23, 2018 7:39 pm Can you please add a joystick support to the full version of the game? ;-)
Yep, will do. Joysticks are more in demand than I realised. Can I ask how are you playing your games? PC with joystick or real hardware?
The answer "C" is correct. :-)

I use Spectaculator in which I can select a sinclair/kempston joystick. Then I use arrow keys on PC keyboard.
User avatar
Morkin
Bugaboo
Posts: 3251
Joined: Mon Nov 13, 2017 8:50 am
Location: Bristol, UK

Re: New demo: Pushbot

Post by Morkin »

Nice..! I usually struggle with games like this, but I got up to level 10.

Manic Miner-esque difficulty spike at level 1, heheh...

An 'undo' move button might be a nice idea, the key controls seem fairly sensitive and a few times I overrun when pushing and had to reset. Though that's not really an excuse for failing to solve the levels... :lol:

Am getting quite familiar with the multi-colour games now, I'm going to forget the Speccy has limitations at this rate... :D
My Speccy site: thirdharmoniser.com
MrPixel
Microbot
Posts: 170
Joined: Sat Mar 24, 2018 7:42 pm

Re: New demo: Pushbot

Post by MrPixel »

BASIC or ML

did you use Zeus, ZX ASM? :?:
Ralf
Rick Dangerous
Posts: 2279
Joined: Mon Nov 13, 2017 11:59 am
Location: Poland

Re: New demo: Pushbot

Post by Ralf »

It's written in assembly and it's actually quite advanced code.

No, the Sokoban engine itself isn't that advanced. But this game uses a graphic mode which isn't standard for Spectrum. Maybe you know already that 8 bit computers had some default graphic modes but through advanced tricks in the code people was able to achieve more. It's one of such cases.
User avatar
MonkZy
Manic Miner
Posts: 278
Joined: Thu Feb 08, 2018 1:01 pm

Re: New demo: Pushbot

Post by MonkZy »

This game is great :D . I am stuck on level 10 though. :oops: It does not seem possible.
User avatar
pavero
Dynamite Dan
Posts: 1570
Joined: Sat Dec 09, 2017 11:49 pm
Location: The Czech Republic
Contact:

Re: New demo: Pushbot

Post by pavero »

MonkZy wrote: Sun Mar 25, 2018 10:26 pm This game is great :D . I am stuck on level 10 though. :oops: It does not seem possible.
All levels are possible. ;-)
Post Reply