Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
(+2)

First of all, I just want to say I love the aesthetics and presentation of this game! The artwork was excellent, and I love the whole idea of this game taking place just because a wizard had beef. The game being on an etch-a-sketch was really cute, too. 

It's an interesting mix of a puzzle game and platformer, and I found myself wanting to really spite the wizard by the end of it after all the complaints he gave. I think my only nitpick is that I wish the game was a bit more clear about what loops were sometimes, though. Sometimes I doubled back and it counted that as a loop, so I had to carefully walk the line between having too few large loops, and accidentally making too many ones I didn't notice. That's also sort of a skill issue on my own part, though, mind you.

Fun game either way! I'd love to see this expanded upon. 

(3 edits) (+2)

Hi! For you and everyone else, i wanted to explain the line loop algorithm. Finding the number of loops in a line is a huge pain, and there are so many edge cases for what counts and what doesnt.

For reference, the player is just over 80 units tall 

The game records the player's position every time they've moved 20 units. At the end of the level, the loop finder is passed that list of position and scans it - checking for an intersection between line (i, i+1) and line (j, j+1). If one is found, we then check whether it should be excluded

  • if the lines are parallel, there is not loop here, so it is excluded. Lines left by the character walking back and forth are generally parallel
  • if the loop is too close to a previously found loop, something has probably gone wrong or the player is scribbling, so we discard the loop. This threshold is set at 100 units.
  • if the loop contains too few line segments, it is discarded. for a viable loop to be found, there must be at least 10 line segments between the two intersecting lines.

This, obviously, isnt perfect. It works most of the time, but there are still a million edge cases i simply cant work out.