Making a Hexagon Matching Game for Godot Wild Jam 47


I made a Hexagon Puzzle game for Godot Wild Jam 47, here's how it went. I have this thing lately where I'm simply cloning games that I know in Godot. I was working on a match 3 bejeweled-like so matching was rattling around my brain. The theme of the jam was "Symmetry" I had an idea of a ring of hexagons. From the center outward you would select one of the rings and rotate clockwise or counterclockwise it in order to create matches of hexagons with the same color.

With that I decided to persue the idea. Now I'd love to show you a bunch of highlights of the highs and lows and technical leaps in this process however, I want to continue the development I'm doing now which means I won't be spending time editing clips of my previous development. Sufficed to say after 18 hours of coding I droped the idea of rotating concentric circles from the center, played around with the idea of gravity pulling hexagons toward the center, dropped that and finally settled on the following. We have a 6 ring wide hexagon circle, and using the mouse the player can rotate hexagons around its center. If the rotation results in a match of 5 or more the neighboring hexagons will clear. If there are no matches then the rotation will revert back into its original position.

I placed 14th overall in a tie and I got 3rd in Sound and Controls and 6th in Fun which I'm most proud of.

Now, I stream twitch and was able to utilitze code by ObsidianBLK for the hex's themselves (A twitch streamer godot programmers should be following) This drastically speed up my development cycle as I didn't have to worry about generating that inital code. BitBionic a viewer on my twitch streams was able to contribute some sounds for matches exactly as I had described them which was awesome and really put the final touch on the presentation. I had to leave one final bug in the game, once you have no more possible matches the game just sort of sits there. I ran out of time to write an algorithim to check if the board was in a fail state with the time I had left in the jam because at that point I worried about introducing bugs into the game in the last hour.

Regardless the game is full of potentional, and there are many issues to address as well specifically with progression. But it has a relaxing ambience to it I find intriguing. So I've decided to move forward with production on a complete game.

Going Foward Release Cycles

First I worked on a system for continus release cycles for the game. So I took a github action that someone else had written and combined it with itches butler service to be able to publsh new release of the game instantly to itch. All I need to do is create a new version tag in git and push that out and it will compile and upload pc/linux/mac and html versions of the game automatically. Trying to nail out all the details on this took about 5 hours.

Unraveling the Game Jams Speghetti Code

So after that I worked on a refactor of the my code since it was all speghetti from coding under a jam deadline. This included reworking the data structure into it's own Godot Resource as the data of the board was intertwined with the state and actions happening to it, I also setup a seed system for puzzles which should allow for consistent testing and other future features like playing the same puzzle that some else has. I also coded the solving algorithm to check if the state of the puzzle is solvable. And setting up board states to rationally handle events on the board. Initially this was chained together in code, calling about a dozen of so different functions in a seemingly disparet way over the games loop. All this refactoring took a weeks worth of dev time, about 20 actual hours of real time however it was worth it as it lays a healthier foundation for the next phase of development.

Release Cycle

I've decided to adopt an Intel Tick-Tock style development cycle. One release will focus on adding new features, the second release will focus on polishing the back and frontend of those features.

Working Toward a Second Release

This second release will include the following new features:

* Scoring now uses a combination of inital match size as a multiplier and a chaining multiplier that increases each time a match results in additional matches.

* A new system of highlighting the entire set of hex cells that will rotate when you click.

* A hint system which uses data from the solving algorith. It autofires after 10 seconds of inactivity and recommends the first found cell to rotate that will result in a match.

* Bug fixes with new board spawning.

* Simple leveling system. Each level requires a specific amount of matched hexagons and the requirement increases for each level.

Thoughts on self promotion

To wrap things up, this video is a bit of an experiment in promotion. If we look at my itch.io stats for the release of the game for Godot Wild Jam 47 you see that it's traffic and play count has never been higher since even the sum total of the time since that release/

While I don't believe the audience that would watch a devlog of a video game is the same audience that would buy a this game I do know one thing from streaming with like minded devs on twitch: If you're watching this, you think like a developer. And maybe with your help you can help me figure out how to find that audience. Since this is my first video I'll leave this part to you.

How do I find the audience for a match 5 hexagon puzzle game?

* I stream on twitch https://twitch.tv/krikit_

* All my streams are archived in the following youtube playlist:

* * https://www.youtube.com/playlist?list=PLr_ClsdpSLpYAWs24fsWPfRgzB3Iw7zqg

Files

Hexacore Windows.exe 55 MB
Version 1.3.0 Aug 09, 2022
hexacore-html.zip Play in browser
Version 1.3.0 Aug 09, 2022
Hexacore Windows.exe 55 MB
Version 1.3.0 Aug 09, 2022
hexacore-html.zip Play in browser
Version 1.3.0 Aug 09, 2022

Get Hexacore

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.