To heal the land, you need to summon a friendly nature spirit. Gather enough sticks to build them a home, and maybe they will come...
Just a little learning test based on some themes from my fellow designers. Posting here mainly to make it easy to share.
The re-start button at the end doesn't actually reset the game completely. So you need to reload the page to see the game from the beginning properly.




Cute and a nice starting point for experimenting with more advanced movement and collision schemes :
The current move logic is "move if no collision, and stop otherwise". This makes the movements feel sticky when moving diagonally.
A smoother approach consist of trying the orthogonal components of the diagonal if the diagonal fails. This is important in tight mazes where you need a perfect pixel alignment to turn; this way you just need to use diagonal movement in advance to seamlessly turn at the intersection.
I'm not saying sticky moments do not have their place : you could have some sticky thorn bushes mixed with smooth green bushes, for example.
Collision :
You've implemented tile based collision : each tile of the map is either fully solid in it's 8x8 surface, or fully non solid. Likewise, the player's hit box is also 8x8. This works perfectly if the sprites for both the player and the obstacles are mostly 8x8 solid squares.
Since you chose finer sprites with lots of transparency, the collisions feel unnatural :
in the screenshot, it feels wrong not to be able to move the the right :
there's not even drawn pixel contact between the two colliding sprites.
This could be fixed with pixel collision implementation, for example, but you'd still feel wrongly stopped when the top of your hair stops you from walking in front of a bush.
Another more convincing solution is to have hand chosen collision boxes for each sprite :
the character's collision box could be the dark blue rectangle, for example, and for the bushes, a 3 lines 8 columns rectangle encompassing the bottom of the bush.
This complicates drawing order : instead of map then sprite, you have to split the map area in two :
map behind player, player, map in front of player.
This way you can walk behind bushes and be partially hidden, or in front of bushes and hide them partially.
Another approach is map then handling of the player and the up to 4 tiles it is over separately.
About restarting the game from scratch:
you can programmatically call extcmd("reset") to reset the game rather than asking the player to do it himself.
[Please log in to post a comment]