Skip to main content

The Power of Pride Bundle 2026 — $10 PWYC Edition
On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
(+1)

Hello everyone!šŸ‘‹ I’ve been tinkering with something new lately — learning how to work with Canvas to level up my visual novel framework. I’m planning to make a puzzle game inspired by Decker’s Sokoban tutorial.

Yep, it’s a maze stage-clearing game. The catch is my maze is one single, irregular continuous shape; there aren’t separate, split wall tiles. My plan is to add invisible rectangles around every drawn line to handle collision detection.

I’ve got most other parts figured out, like the player character. But I’m stuck on how to code wall collision logic and get it functioning properly.šŸ™ So I try to ask for some help again!Maybe hands-on step-by-step tutorialšŸ˜…

(+1)

The whole maze is drawn as one single continuous graphic with no separate wall segments. The main issue is I haven’t found a proper way to implement collision logic for this kind of artwork šŸ¤”, and this problem even extends to my buttons as well.

(+1)

I also plan to make a long horizontal 2D interactive platformer game later on. Besides WASD movement, I want to bind extra keys such as E and Space, plus implement enemies with their own AI scripts. I’m wondering if all of this can be done within Decker? This project only exists in my head for now; I haven’t attempted building it yet.šŸ•¹ļøšŸ§©

(+1)

Everything you're describing sounds possible in Decker, though some of your ideas will require quite a bit of scripting!

One idea for representing complex collision maps is to draw the impassible walls using a specific color or pattern. You can then copy a chunk of the card background and use image.hist to see if any pixels within that chunk contain the collision color:

if card.image.copy[pos size].hist[collision_pattern]
 # ...
end

You can use a vibrant color during development, and then replace it with a color that looks identical to black (or otherwise) when the maze is done to hide your collision boundaries from players!

There are some constraints on which keys you can use, but the gamepad interface should be handy for building any sort of action sequence or minigame.