FREE on itch.io
FREE on itch.io
Here you can see my initial concept for the game setup. Whenever you find a word it was asking you for, then the row would become green. It didn't occur to me this would break down with multiple criss-crossed words, however. On the left is the prototype for movable objects.
The next step was to add logic to move rows and columns as a unit. You can see this on the left. This was a challenge because the row and columns needed to change dynamically depending on where they landed. This gif also shows "snapping" to the nearest grid location.
After that, I added "overflow" logic for each row and column so that when you dragged it out of scope of the grip, the tiles would roll-over to their next appropriate index in grid space. This was the foundation of the idea and I was happy to get it working within a day's time.
Several years later, this project came to my head again after playing a lot of Worlde. It got me thinking - what if this game was like that? Offered a new puzzle every day. The extra twist being pitting people against a timer and move counter to increase the competitive element. I've learned a lot of Unity in the last few years, so I ended up scrapping the old project's repository and starting fresh. The result? Squabble!
I started with an online dictionary stored in JSON. At the start of the application, I cache all viable words in a collection to be randomly selected on a new puzzle. I then created a simple puzzle generator that would take in a few parameters like (1) how big is the grid, (2) how many words, and (3) how long are the words. When generating a new word, I omit words that I have used in this puzzle, so no duplicates appear.
The next thing to do was to add UI elements to tell you which words were being added to the puzzle. A list view does nicely for this, as it can expand the content depending on the amount of words. I then wrote some basic word finding check functions. These will help me figure out if the words in question are solved and help provide the win condition.
Then I added some parameters to the word selection to create easy, medium, and hard settings. These are all randomly generated. Originally I had seeded it per day, but I've done away with that to allow you to regenerate as many puzzles as you'd like!