Drawzle game design


Drawzle was a fun project to work on, but was difficult at times due to the amount of physics related bugs, such as player behaving differently on each playthrough.

This is a massive problem, because major part of the game design is that the player can continue where the "puzzle solving left off",

and so, player moving differently on every respawn defeats the purpose of that game design and makes the entire game unplayable.

Here is an example of unexpected behaviour, the player would randomly move where ever it pleases.

Thankfully, most of the physics problems were addressed by calling the unity physics engine update manually, and setting collision detection mode to "ContinuousDynamic" on the player, as it makes the collision checks more consistent.


Also, making sure the mesh vertices matched exactly what was stored on the level file, the entire game broke because of the level loading drawing animations not producing exact copies of the stored meshes.


But overall, Drawzle was a great deep dive into learning how meshes work under the hood, and not only that, but more experience with shaders aswell.


Most of the hard lifting of the drawing functionality was done by generating meshes via Line Renderers, I still needed to figure out how to implement the erase functionality.


Erasing was done by scanning the mesh triangles, and then checking if any of the vertices were close enough to the eraser radius, then once the triangles that needed deletion were known, i could just strip them out of the mesh easily.


So now that i had drawing & erasing working, the MVP of the game was basically done, this was sometime in december last year, but I figured the amount of different levels you could design with so little tools would not be enough, so i started looking at adding support for rigidbodies / triggers for more interesting interesting interactions... there's 1 massive problem though, 


So i ended up hacking around the problem by generating primitive colliders at the mesh triangles, not the most optimal solution, but its functional, and that's good enough for now.


And now that rigidbodies & triggers are supported, i can add a line that acts as a speed buff, and obstacles that can only be knocked away.

And now i can design levels like this! pretty happy how it turned out, and cant wait to keep building on it.

Leave a comment

Log in with itch.io to leave a comment.