Inspiration

A classic 15 piece puzzle is a bit boring and repetitive. We got inspired by the idea of making every puzzle more unique by the used themes and natural-looking shapes. Everything seems possible with "power of math and nature" ^^

What it does

It generates the puzzle based on the seed provided in the url including puzzle's shapes and custom theme.

How we built it

From scratch ^^ Quite literally we thought it's fun to tackle the whole problem from a different direction than the example puzzle. That includes custom seed and puzzle generators, theming classes and utilities, navigation stack, shape generation, color classification and multiple animated widgets that glue it together in a consistent (Modern art). We've tried to stick to Flutter Favorite's packages, for the state management we've used Bloc, for navigation go_router (first time use), there is no code generation in the project so it is easy to run for everyone

Challenges we ran into

Overlapping widgets are problematic to work with. Performance issues with SingleChildScrollView. Performance issues with processing large objects and interpolating their props. Drawing shadows is super expensive so we had to think about other ways to differentiate between layers. Color classification - solved using HSV colors. platform.io throwing exceptions Syncing address bar with app state in a consistent way Making web history work (back, forth)

Accomplishments that we're proud of

It looks pretty nice, and is quite unique. That was super fun to base project base on math equations - shape generation and theming.

What we learned

How to develop app for desktop, set window sizes, go_router, more math, weird Flutter's quirks, performance optimization and profiling.

What's next for Naturally wild puzzle

Collecting shapes like some 'mon game' && achievement system.

Built With

Share this project:

Updates