Jump to content
IGNORED

Sokoban


Andrew Davie

Recommended Posts

When I look at a screenshot like the attached, I start dreaming about doing a Sokoban once again.
I first started playing with Sokoban using playfield graphics back in about 1998...

 


I've noticed there are a couple of Sokoban efforts on AtariAge, but perhaps it's time to do one using the tile engine used for Boulder Dash. Look at the image below and think about walls, boxes, and a man. Not far off already....

 

Screen Shot 2019-07-14 at 10.58.27 pm.png

 

Here's an animation of one version, giving the basic concept...

 

Sokoban_ani.gif

Edited by Andrew Davie
  • Like 11
Link to comment
Share on other sites

I have done some more work on this, and now you can push the boxes in any direction.  As you can see, I'm just using some leftover Boulder Dash graphics for placeholders, but there's no actual Boulder Dash in here; it's just running the generic character-display engine.  I've also added one of the actual Sokoban screens.  The jiggly squares are the 'target' positions. These disappear when you put something on top of them, so that's still a "to do" but other than that, the game is now basically playable.

 

  • Like 5
Link to comment
Share on other sites

Here's a "solve" of that first level.  Just remember the four pulsing dots are where the boxes need to go. The dots should be visible when there's not a box there but they don't stay around when something else moves over them at the moment (to be fixed).  At the point I get the four boxes onto the four dot positions, that's that level solved.

  • Like 7
Link to comment
Share on other sites

Wow, this looks really good!!!! So cool to see Rockford playing the Sokoban game ? 

Good to see you coding the '2600 again, Andrew!

 

And too bad that I joined AtariAge only 1.5 years ago, so I missed the opportunity to buy Boulder Dash for the '2600 (which was one of my favorite games on the C64)

 

  • Like 4
Link to comment
Share on other sites

Just wondering: would it be technically feasible to do 1 PF-pixel horizontal scrolling instead of 4 PF-pixel?

Or is this impossible in a display kernel?

I guess this was also discussed during development of Boulder Dash, but I cannot find it when I do a forum search.

Edited by Dionoid
Link to comment
Share on other sites

8 hours ago, Dionoid said:

Just wondering: would it be technically feasible to do 1 PF-pixel horizontal scrolling instead of 4 PF-pixel?

Or is this impossible in a display kernel?

I guess this was also discussed during development of Boulder Dash, but I cannot find it when I do a forum search.

Not with this engine, no. I doubt it would be possible without external co-processing power.

Give people an inch and they want a mile!!  ;)

 

  • Like 2
Link to comment
Share on other sites

More fiddling, and I added another level...  still just fiddling. Actually the prime motivation is more to get the source code into a releasable format with no IP issues. Writing Sokoban lets me carefully go through it all and decide what stays and what goes, while still having something that is functional. Hopefully in a week or two I can release the source for this and everyone can see the magnificence that is the tile engine ;)
 

  • Like 7
Link to comment
Share on other sites

17 minutes ago, root42 said:

What video service are you using to embed your videos? For some reason I can't play them...

 

No video service. They are just run of the mill .mp4 files I upload directly via the "choose files" option in the AtariAge editor.

 

Link to comment
Share on other sites

49 minutes ago, root42 said:

Well, then iOS simply doesn't like the forum software or vice versa. :) Will watch the videos once I get home to a desktop browser.

It's not just iOS. Safari (Mac OSX) doesn't like them either. I had to switch to Chrome to view them.

  • Like 1
Link to comment
Share on other sites

I've done a bit more work. Tweaked the palette, although there should be a different colour scheme for each level. I now have the 'targets' not being wiped by the player moving over them. I still have to fix up them disappearing when a box moves over. Not a big issue. There's a glitch when the player first moves, but apart from that it's looking OK. I'll have to redo the graphics so there are no IP issues soon, and then I guess I could release a binary... that is, if anyone even likes sokoban :P

 

  • Like 5
Link to comment
Share on other sites

15 hours ago, Andrew Davie said:

More fiddling, and I added another level...  still just fiddling. Actually the prime motivation is more to get the source code into a releasable format with no IP issues. Writing Sokoban lets me carefully go through it all and decide what stays and what goes, while still having something that is functional. Hopefully in a week or two I can release the source for this and everyone can see the magnificence that is the tile engine ;)

Looking forward to the source code of the title engine! 

 

Link to comment
Share on other sites

Well, now it's fully playable. Everything seems to be working OK. I have to change the graphics, of course, and fully clean out anything related to BD. But most of the engine is clean already, and I should be on course to release a binary in about a week. It plays pretty well. I wonder if there's any interest in a polished, cartridge version...

  • Like 1
Link to comment
Share on other sites

Just now, Albert said:

That looks great!  :D  How many levels do you think you could fit in a 32K ROM?  A menu would be useful as well (to start at a particular level, you could possibly make codes that you'd need to enter, similar to games like Chip's Challenge). 

There is a compressed sokoban exchange format. I am toying with the idea of allowing you to enter the compressed string, and the game will interpret it and effectively have infinite level capability. But, failing that, I think I could fit perhaps a few hundred levels or so.

Link to comment
Share on other sites

Just now, Andrew Davie said:

There is a compressed sokoban exchange format. I am toying with the idea of allowing you to enter the compressed string, and the game will interpret it and effectively have infinite level capability.

That would be pretty cool!!  How long would this string have to be?  Hmm, a quick search revealed this page.

Just now, Andrew Davie said:

But, failing that, I think I could fit perhaps a few hundred levels or so.

Why not both?  :D

 

 ..Al

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...