Inspiration
I was thinking of making a Wordle clone. But the Wordle clone market appears to be oversaturated. Plus people are cracking down on them. But then I realized that I could combine Wordle and the Flutter Puzzle Hack into one app: Flurdle.
What it does
It's a slide puzzle where you don't know the order of the pieces. But there is a guess button. You only get 3 guesses though (can be increased to 6). Each guess tells you if each tile is in the correct position, row/column, or neither.
The game also stores this information and uses some basic logic so you don't have to memorize this.
How we built it
The puzzle is implemented using a stack of tiles each with a transform position. We use a stack and transforms because that allows the tiles to be smoothly animated using implicitly animated widgets.
Shared_preferences is used for saving and another plugin is used for Twitter shares.
The randomized runes/emojis are done using a custom random bag class I designed for another project.
Challenges we ran into
I only really ran into one problem. The animations were done using implicitly animated widgets which usually just works. But the tiles were also moving around which made it so the widgets did not know which state was theirs.
It was a simple fixed though. I just had to use keys.
Accomplishments that we're proud of
I'm pretty proud of using implicitly animated widgets. They are very simple to use. I'm also proud of the bloom effect I used. I wasn't sure if it was going to work, but it turned out great.
What we learned
I used a lot of nested functions in this project (functions inside a function). They are actually quite useful if you only intend to use something once.
I also learned how to use Firebase hosting (which is how the app is hosted). It's actually surprisingly easy to set up.
I also learned a new way of using state_groups. I had previously modified it so it could be used to push custom messages. I thought it would just be used for enums or something. But in Flurdle I pushed an entire map through a stategroup, something I've never done before. I'm constantly surprised by what I can do with that package.


Log in or sign up for Devpost to join the conversation.