Jump to content
IGNORED

Sokoban


Andrew Davie

Recommended Posts

7 hours ago, Andrew Davie said:

Here's a playable binary for you to have at.
It's NTSC-only, runs in the 3E bankswitch scheme if you have any issues there, but stella should auto-detect.

Heya Andrew! Great controls and of course looks amazing.

 

Runs great in Stella 6.0.1 on defaults it reports as PAL with 312 lines @ 50Hz @ 50.0fps (first screenshot)

When I force Stella to NTSC the screen goes crazy with flicker and bounces between 261, 310 and 53 lines in that order and reports 60.2Hz at 75fps (second screenshot)

 

I'm not able to run the game on my Atari six switch as I think the second 'NTSC' is what is happening and the screen goes blank with 'no input'. Can't wait to play it on ZeroPage!

 

- James

 

image.png.d4af0997c54344359830cf8d8385574e.pngimage.png.34f1274b9ddabab147b9a71ae0308c49.png

 

Link to comment
Share on other sites

Thanks for sharing!

As reported by James, the rom is PAL.
It starts with corrupted gfx in Stella, unless I disable randomization of RAM:

 

with randomization enabled:

Sokoboo.thumb.png.53685a4fc45c6562ef262712daa3d701.png

 

and disabled:

Sokoboo_1.thumb.png.cece86e033542484c8f7af44cb7c284b.png

 

I played it for a while and finally managed to solve the level. I didn't record a video, but I used the "continuous snapshots" feature of stella (with a 2 seconds interval) and made an animated gif of it.?

sokoban.gif.b2e1077d5bbac505b93fc7c562776527.gif

 

 

  • Like 2
Link to comment
Share on other sites

34 minutes ago, sramirez2008 said:

Got this to work on my UnoCart, however there is some corruption.  The + moves around very well as does the "look around".

Note: Couldn't get it to work on my Harmony Encore. 

Yes, I should have stated above that I was trying to get it to work on my Harmony Encore but it didn't work. I didn't try it in my UnoCart yet.

 

- James

Link to comment
Share on other sites

Here is a *hardwired* NTSC version.
I have fixed the screen corruption, hopefully. Also, a different level installed just because it's boring doing the same one again :)
Test levels I am using are downloaded from http://www.sourcecode.se/sokoban/levels for evaluation.

 

Sokoboo.bin

  • Like 2
  • Thanks 2
Link to comment
Share on other sites

5 hours ago, atari2600land said:

How about implementing passwords?

 

While this would work, pretty soon those passwords would be available online to anyone/everyone - defeating the purpose of having them. If it's going to be super-simple to "cheat" then why try to stop cheating. I did have one idea - unique password on every cart; that would require embedding a serial # in the cart to hash against. I'll think about that. It wouldn't work for keeping move/score per-level, though - too many levels for a password. Password would only be useful for unlocking later levels so you can access them.

 

Link to comment
Share on other sites

21 minutes ago, Andrew Davie said:

Here is a *hardwired* NTSC version.
I have fixed the screen corruption, hopefully. Also, a different level installed just because it's boring doing the same one again :)
Test levels I am using are downloaded from http://www.sourcecode.se/sokoban/levels for evaluation.

 

Sokoboo.bin 32 kB · 0 downloads

Wow, this level is hard!  I don't have time to play, but this BIN works fine (NTSC mode), with no corruption.:thumbsup:

  • Like 1
Link to comment
Share on other sites

Well I don't know squat about sound/music. But I do know what tune I want to have playing (softly) in the background of this game. Less background stuff, and that overlaying tune more prominent. Here's a link... does anyone want to be "co-author" in terms of music/sound on this game with me? The music is from the soundtrack of an old Aussie movie from the 80s.. "Malcolm".
 

 

  • Like 2
Link to comment
Share on other sites

6 hours ago, sramirez2008 said:

Note: Couldn't get it to work on my Harmony Encore.

I only have a standard Harmony, so I'm out of luck for testing this game on real hardware, but I think it should run on the encore. Did you try forcing the bankswitching scheme by changing the file extension to .3E ?

 

@Andrew Davie: thanks for the new rom. It's detected as NTSC now by Stella (276 scanlines), and the corruption is gone. I will hopefully play a bit later today and report back.

Edited by alex_79
  • Like 1
Link to comment
Share on other sites

For all future versions, Sokoban is dual-system compatible via the right-difficulty switch. Set to A for NTSC and to B for PAL.

In stella, TAB, then "Game Properties", "Console" and change "Right Difficulty" to A or B as required.

Anyway, moving on... I was going to write an animation editor - but fortunately I asked Mr Google first, and found this...


https://alienbill.com/2600/playerpalnext.html

I'm glad I did, because this is *exactly* what I need to do some animation drawings. It has lots of settings, including line-by-line colour. So, kudos to the author, this is going to make my life a lot easier. I only wish it had *per-frame* colouring because that would be perfect. But I can kludge that without too many dramas. I had a go at drawing a few animation frames to see how it goes... pretty good actually.

I put one of the frames ("pushing") into the actual game to see how it translated compared to what the animation tool was showing me. That's a screen grab from stella. Colours may be slightly different... well, that looks pretty good actually. I don't think he's the sexiest character - think of him as the "Crocodile Dundee" of the sokoban world. What I hope will really make this work is lots of animation and never being static. We shall see.

I am going to leave the animation for now, keep that in my back pocket while I work on something else. Possibly the "take back" buffer to allow you to back-track. I think I'll keep the look-around on the joystick button, and put the "take-back" on a momentary switch like "select" or something.



 

 

Screen Shot 2019-07-24 at 9.34.27 pm.png

Screen Shot 2019-07-24 at 9.27.33 pm.png

  • Like 2
Link to comment
Share on other sites

32 minutes ago, Andrew Davie said:

I think I'll keep the look-around on the joystick button, and put the "take-back" on a momentary switch like "select" or something.

I agree, the look-around function needs to be easily and quickly accessible. In addition to using a console switch for take-back, you might consider optional support for a genesis pad, which gives you an extra button on the controller.

Edited by alex_79
Link to comment
Share on other sites

8 hours ago, Andrew Davie said:

Well I don't know squat about sound/music. But I do know what tune I want to have playing (softly) in the background of this game. Less background stuff, and that overlaying tune more prominent. Here's a link... does anyone want to be "co-author" in terms of music/sound on this game with me? The music is from the soundtrack of an old Aussie movie from the 80s.. "Malcolm".
 

Well I've written to the copyright holder, so we shall see how that goes.

Here's a pretty nice guitar version...  skip to 1:25 for the real start.

 

 

Edited by Andrew Davie
note about starting point in video
  • Like 1
Link to comment
Share on other sites

On 7/16/2019 at 7:21 PM, 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 ;)
 

Plus one on this one dude! What a great idea!

  • Like 1
Link to comment
Share on other sites

Well, here we go. Here's a version (hardwired, NTSC) with 8 levels and you should see it automatically detecting end of level and switching to the next one. I have no idea what will happen after the 8th, but hopefully cycle back to 0. At some point I'm going to have to chase up the copyright of levels and see which are public domain and which require licensing. The big change in this versino is the new music engine is installed and it's playing a very short test-riff prepared for me from the one and only, world famous, cTrix. I'm humbled to have him on-board. Feedback, please.

 

Sokoboo_20190725.bin

  • Like 3
Link to comment
Share on other sites

15 minutes ago, Andrew Davie said:

playing a very short test-riff .... Feedback, please.

Hey all.  Super happy to be on board working with such a legend-in-code!  This is just a quick test tune for now (long version will have more variation). 

My thoughts on the music:

- It shouldn't play continuously, but perhaps be the track on the title screen and some kind of stats screen after each level?


- Maybe some sound effects for 25 moves, 50 moves, 75 moves, 100 moves, etc.


- Encouragement sounds when you push the blocks into their home positions

- Maybe a reward 10 seconds of music at the end - I'll see if I can come up with a few different short tunes for ending different levels.


- @Andrew Davie was suggesting after a while of no input, the guy starts doing a little dance (to a tune) for a while

  • Like 3
Link to comment
Share on other sites

On 7/24/2019 at 10:11 PM, alex_79 said:

I agree, the look-around function needs to be easily and quickly accessible. In addition to using a console switch for take-back, you might consider optional support for a genesis pad, which gives you an extra button on the controller.

So, more thinking on this, and I think it would work by putting "take-back" on the button after all.  Just have button press/release being take-back. The lookaround requires button HELD + directions. They're not incompatible. And the nice thing, an accidental "take-back" is not harmful, so if every now and then you get one you don't want... no drama.

 

As to the genesis pad... I'm a bit of a purist and only have the single button joystick in my repertoire.

  • Like 1
Link to comment
Share on other sites

I always use a joystick too (a konix speedking AKA epyx 500xj, to be precise), but I know some people prefer d-pads and the genesis one is a common choice as it's compatible with the 2600.

 

Anyway, I like the button held VS quick press solution. And it will work with any controller.:thumbsup:

Link to comment
Share on other sites

Played a bit of the latest version. The music is a nice addition despite being just a short riff, and I think that once the full version is in place it wouldn't be so bad if it plays continuously during gameplay, maybe at a reduced volume. Ideally, if you have a free console switch, use that to toggle the music on and off.

 

Detecting the end of the level works fine.
I'm currently stuck at level 4.

 

There should be a way to restart the current level in addition to take-back the last move.

 

  • Like 1
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...