Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

It seems like there's an off-by-one error in bounds-checking when pushing slime: slimes cannot be pushed into the outermost row or column of a level. This is visible in levels A1 and A3, where the slimes cannot be pushed to the top of the level.

If I define a level as such:

section Level A0
.....
..p..
..s..
.....
.....

then the slime cannot leave the central 3x3 region of the 5x5 map even though there are no visible boundaries there. (Also the bottom row of the 5x5 map is not rendered, but I think that's because of the `translate:down:9` on Floor objects and is purposeful.)

(+1)

This is intentional, there are bugs if you try to push slimes against the level boundary but because of puzzlescript limitations it's awkward to detect if that's happening. So instead I prevent you ever getting a slime next to the level boundary.

Hopefully it's not too confusing! It's not really the cleanest solution but I hoped it wouldn't be very obvious.

Makes sense! I first noticed in A3, where it turned out that I could push the 1x1 slime south off the platform, but couldn't push it north.

I think the most confusing part is that it affects entering slimes, and the effect propagates. For example, if I define a level like

section Level A0
...$.
.s.s.
.....
.s.s.
.....
..p..
_____

then it's possible to enter the right-hand column of slime (because it runs into a wall) but impossible to enter the left-hand column of slime (because it runs into an invisible boundary).