Thanks for reading! I like making software projects. I also keep a visual & interactive programming blog! Oh, and before you go, sign the guestbook! See you around! —Lean
Hypertangram (2018) is a mind-bending geometric puzzle game on Android based on the classic tangram puzzle. What’s different with this one is that, in addition to regular dragging and rotating, pieces can be resized.
The resizing mechanic adds a lot of state space to an otherwise regular dissection puzzle.
The idea had been sitting in the back of my mind for quite a time, and I finally did it in about 6 months of development in my free time.
It wasn’t all smooth sailing. There were lots of problems with the geometry code.
See, I didn’t want grid-based movement like in other tangram apps. I wanted free dragging, rotation, and scaling, with smart edge-snapping.
This design decision proved to be technically demanding later on.
But that’s not all. There were more geometrials ahead. Due to the nature of the main game mechanic, there can be several solutions to a single puzzle.
There is no easy way to find them all by hand, nor by algorithm, as far as I know. The solution checking algorithm went through rounds of rethinking.
I ended up with an algorithmic approach, using boolean operations on polygons, in order to implement the win condition.
Note to self: Don’t mix geometric operations and floating point numbers. They are oil and water.
Other notable features include the smart edge-snapping (there is no grid, and no predetermined solution), and an accessible single-finger mode for resizing and rotating pieces without the need for a second finger.
Aside from design & programming, I also created the music and graphics myself. For the look, I wanted it minimal with a physical feel. Abstract, yet tangible.
The game’s graphics are procedurally rendered using Android’s Canvas
API.
I really liked what I did here. Of course, there’s always room for improvement, but finished is better than perfect.
This was my first “complete” game in terms of features and polish.
It was a geometriumph.
Try it out! It’s free.
Thanks for reading! I like making software projects. I also keep a visual & interactive programming blog! Oh, and before you go, sign the guestbook! See you around! —Lean