During this first month, I’ve accomplished everything I laid out in the first phase plan, albeit with a handful of bugs. Elemental Puzzle on a whole is going much better than my previously planned platformer project.

The game is behind the original prototype in some ways, but ahead in others. By the end of the next phase, it will be well beyond where it started. You can play the original jam prototype here.

Phase 1

Phase 1 had the following features outlined:

  • block grid
  • basic elem energy/gems
  • player control
  • quickdrop
  • title/game/menu flow

Block grid: This was the fundamental piece of the puzzle, if you’ll excuse the pun. The original was some weird mesh between the Unity physics system and a custom grid. In the new version, I construct the entire grid in a procedural fashion with full control over the motion and collision of pieces. It’s also much more flexible, allowing me to experiment in the future with different width, height, and space “outside” the grid. Also includes a spot for previewing upcoming drops.

Basic energy/gems: The player uses energy to clear gems. That’s the basic mechanic of the game. All of the matching and clearing algorithms are in place for the four basic elements.

Player control: I used the new Unity Input System which is awesome but unfortunately still in preview. It’s close enough to release that I feel comfortable including it, but I’m hoping that doesn’t come back to bite me by release time next year. It’s flexible and modular, and very easy to implement different devices. For now, the game only works with keyboard.

I was also able to create a more player-centric control approach similar to how modern Tetris works, where you can still “slide” a piece around after it lands before it locks into place.

Quickdrop: This is the primary source of bugs right now but is cleaner than in the original prototype. Blocks drop immediately to where they need to be, and you’re still able to wiggle them around Tetris-style before they lock in place.

In addition to quickdrop, you can also accelerate the speed at which the piece falls by holding down. I’ll need to experiment with the amount of speed increase and smoothness of the change to get this right.

Title/game/menu flow: The menus have a few bugs yet, mostly related to mouse vs. keyboard control, but the basic outline is there. You can adjust some options like volume and the framework is there to implement more options as needed. The game does boot up at the title, and you can loop around after a game over. The only possibility left unhandled is completing a level which simply freezes the game.

Overall, I was able to complete most of the bullet points on the list, and the missing pieces will fall into place as part of future phases. Bug fixing is an eternal torment – I might end up making Phase 6 nothing but a bugfix month, or even spend a seventh month on bugs.

Phase 2: Single Player Endless

The list for Phase 2 (November) is as follows:

  • compound energy/gems
  • splitting compounds
  • single player endless
  • score system and lose condition
  • gamepad input
  • additional game options

I am hoping by the end of November to have a fully playable single-player endless experience. It won’t be polished, and I’m not including new art/music in this phase, but it should be an outline of a complete game. Essentially, this is a long-term version of what I’d strive for in a game jam.

This list is ambitious, but I’d also thought the Phase 1 list was ambitious and surprised myself. October and early November had a handful of special events which required my attention which left little time to work on development outside of my streams. I’m expecting November to leave a little bit more time for this.

Want to keep up to date with weekly devlogs like this one? Support me on Patreon for as little as $1/month for access to the weekly devlogs, plus early access to royalty-free music.

Thank you to my current Patreon supporters: TwinGhosts, lilou_cormic, and CptBlackPixel.

Leave a Reply

Your email address will not be published. Required fields are marked *