Log In  


Cart #octoroq-5 | 2025-07-14 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
12

OCTOROQ is a block-pushing puzzle game (sokoban) for Pico 8! It has 30 levels.

v1.1 Update

  • Added more music!

Music and SFX by Rex Bennett

12


1

Is level 29 missing a key?
I got to the staircase but nothing happens


@shiarisu - Oh my! It is indeed missing its key. I've just readded it and updated the cartridge. Sorry about that, and thanks for playing!


1

Ah, the key is there now but now the backtracking button stopped working ^^;


1

@shiarisu Fixed!


2

s-tier


1

Nice puzzle, played the first 18 levels before posting.
Overall great, very puzzle-scripty.
Struggled with L10, but once I copied the board on paper in a more readable format, tho solve became apparent.
Overthought L14 and had 1 usable extra box in the end.
L17 was trivial with lots of unused parts, map error or red herring fishtank ?
EDIT :
Finished the game, L29 was my favorite even though I fell into the top right trap.
L30 needed good planning at the start, but wasn't too hard after that.
For the final LEVEL END screen, I was so sure the stairs and a smaller than usual yellow were hidden in the red spots... a missed secret ending opportunity.

@jamesgoodin , do you mind if I make a puzzlescript version of octoroq ? What credits would you like, if so ?


@RealShadowCaster So glad you enjoyed it! You are more than welcome to make Octoroq in Puzzlescript.Please just be sure to credit James Goodin and link to this thread in any promotional stuff. I’m excited to see what you come up with!


@jamesgoodin

Puzzlescript version is mostly working, but I have trouble with edge cases, and am not even sure what the proper rules should be when multiple elements are trying to move at the same time, (by arrow, by push or by player move).

For example, in the screenshot, I'm moving right from identical positions, and end up with different results.
In your version, the player moves, right, up, pushes the block to the left, then moves down.
In my version, the player moves to the right once, then both the player and the block are free to move and the player goes up while the crate goes down, then the player moves left and stays there because of the double block.

Should crates wait and move only once the player is done ?
If so, is there a technical or puzzle design reason ?


@RealShadowCaster That’s an interesting edge case! I think it makes more intuitive sense for rocks to move immediately (i.e. not how it’s handled in Octoroq right now, where the crates wait for player movement). This was tricky to implement though, especially with regards to the rewinding feature, so instead the rock waits for the player. It would be good to iron this out in Octoroq eventually - maybe for a 1.2 release! I think you could design some interesting puzzles that rely on simultaneous movement.


1

https://auroriax.github.io/PuzzleScript/play.html?p=b978d9435bbf77730326d45ea11c5068

Mechanics are slightly different : simultaneous movements, and pushing is push then move, so a block on an arrow can squeeze in the space freed by a push before the player has a chance to move.
This does not change solve path of the levels significantly, except for the ENDING one.


@RealShadowCaster Well done man! Looks and plays great. Took a look at the code and I’m glad the level format ported over well.


1

@jamesgoodin , the port was pretty unusual :
For the levels, I usually have to write some pico-8 code to format the levels, reading and mixing structures and the map, and outputting the result with printh statements than an then be copied to the PuzzleScript file.
With octoroq, I just copy/pasted the levels souce code into the PuzzleScript file, and did some minimal cleanup with a couple RegExp.
I also didn't import your 8x8 tiles, and did use variations on the classic 5x5 of puzzlescript.
On the opposite side, the usually easy part that is the game rules turned out to be much harder than anticipated, mostly because I wanted the elements to slide instead of moving tile by tile, and that the seemingly simple rules can lead to different results depending on the order they are applied.
Edge cases are still janky, but it's not visible with the current levels.
In particular, any infinite loop leads to a softlock where closing the window is the only option.



[Please log in to post a comment]