twisted.

twisted is my latest app, now released on Google Play (awaiting review for the app store)

The mechanics are simple: each level holds a pattern that you must form with colored shapes. You do this by touching and rotating around a set of nodes.

In a way its similar to a (simplified) Rubiks cube in that changing the position of one shape can affect others as well, requiring you to think ahead.

It currently holds 170 levels and 3 game modes, and its free.

Development time was about 1 month (solo). Biggest difficulties were building a level generator, the triangle math (striped shapes for example are actually filled with a series of trapezoid polygons). But by far the biggest and troublesome time consumer for me is not the coding but the artistic part. If any artist out there would be interested to work with me in the future (as in collaborate) hit me up!

As always, any feedback is appreciated.

Thanks,

Wim

Looks nice - how did you manage to do the rounded timer in the upper right corner of the image- any hints on how you do the filling/animation?

Jens

Thanks

The filling of the timer was done by duplicating a white circle segment of about 10 degees, 36 times under a different rotation to form a circle. This doesn’t cost much anyway since ony one segment image will ever be in the texture memory.

The animation fills a number of segments sequentially with a color. I used a queue to store indices to segments that need to be filled on animation, so that should a new animation be triggered before the old one completes it first quickly empties whatever is still left in the queue, otherwise states can get mixed up or animations are not fluid.

I could submit the code when I have some more time.

Great, thank you for explaining. Should you find time to share your code, that would be greatly appreciated!

@wim

Good balance of simplicity and polish. I love it. Good luck with your app!

But by far the biggest and troublesome time consumer for me is not the coding but the artistic part.

Tell me about it :slight_smile:

Looks nice - how did you manage to do the rounded timer in the upper right corner of the image- any hints on how you do the filling/animation?

Jens

Thanks

The filling of the timer was done by duplicating a white circle segment of about 10 degees, 36 times under a different rotation to form a circle. This doesn’t cost much anyway since ony one segment image will ever be in the texture memory.

The animation fills a number of segments sequentially with a color. I used a queue to store indices to segments that need to be filled on animation, so that should a new animation be triggered before the old one completes it first quickly empties whatever is still left in the queue, otherwise states can get mixed up or animations are not fluid.

I could submit the code when I have some more time.

Great, thank you for explaining. Should you find time to share your code, that would be greatly appreciated!

@wim

Good balance of simplicity and polish. I love it. Good luck with your app!

But by far the biggest and troublesome time consumer for me is not the coding but the artistic part.

Tell me about it :slight_smile: