Slime Forest

Slime Forest is an in-progress puzzle game with a focus on charming pixel art visuals and resource management. Featuring layered strategy and scoring systems, its design aims to offer casual gameplay with great depth and potential for players who get to know its intricacies. It is being developed in GODOT 4 primarily for PC systems. All videos are captured from actual gameplay!

The various slime girls were each drawn up in Clip Studio Paint for overall palette and body conceptualization. My aim was to present a diverse group of girls with expressive designs and personalities, while capturing the sort of flirty energy one would see in something like WayForward’s Shantae series. The player will be interacting with these women a lot, so it’s important for them to be charming!


Slime Forest implements many sprites that have been drawn in grayscale with the intention of having their colors implemented in-engine. This is achieved by running them through a simple color ramp shader. This allows palettes to be changed for different game modes, readily adjusted for accessibility needs such as color blindness, or even customized by the players themselves to suit personal preference, among other things.

It has been a challenge to design for, but also comes with numerous upsides and implementations that have exceeded the initial scope of my decision to use this method!

Slime Sprites
As the foundational element of the game board, it was critically important that the individual slime balls be visually distinct, expressive, and easy to tell apart under a variety of conditions. Each sprite has an idle, hover, and popping animation state.

Slime Girls
Slime girls are designed to employ ten progression frames that serve as the UI representation of a player’s progress towards their complete formation, and then a number of frames that spring up from the final progression frame into their eventual, completed idle state.

Sprite Atlas Implementation
A combination of sprite atlases and GODOT’s native animation timeline is employed for large sprite effects and implementations. Breaking the sprite down into parts also allows for individual pieces to employ the color ramping, letting the girls match their smaller counterparts on the board.

The game board is a combination of a foreground and background layer, which pairs with the engine’s native ability to clip child nodes to a parent’s visibility to easily allow the slimes to fall into the board as new pieces are introduced. GODOT’s own native UI nodes are employed for the meters and multiplier notice on the left.

At times, spritework is served alongside clever use of perlin noise and pixelization to achieve the appearance of slime covering the screen or, perhaps, just presenting itself as a sort of gooey haze. Here is a demonstration of that alongside some basic particle employment and 9-slice implementation:

Work has also begun on the sprites for the game’s various narrative interactions.


A game’s UI is an ever-evolving piece of work, and this one is no different. Several aspects of the main menu are still early in terms of visual presentation, but a strong emphasis has been put into functionality and ease of use, especially for the user settings and profile management interfaces.

There’s even an automatic username generator!

It may or may not run rampant if some cheeky sort tries to test the patience of the profanity filter too often… 🙂

Several aspects of the in-game UI feature dynamic states and animated elements, such as the mouse pointer responding to a turn being taken and the visible drain on the energy meter upon taking a turn.

My present focus is on constructing the more-or-less final game over screen, which has until now just been a sad face and a retry button. The final UI requires interface and functionality for the leaderboard system, and since I’m feeling nice there’s even a button to get back to the main menu now.


Slime Forest’s music and audio fanfares are composed in FL Studio and implemented into the engine with designated loop points for seamless audio. The goal of the soundtrack is to incorporate two very important themes, as evident from the game’s title: nature, and goo.

PUZZLE TIME

This ethos gets extended into the overall soundwork, which aims to execute with an arcade flair. Most sound effects are created with the wonderfully versatile online tool jsfxr, which seems to specialize in producing that retro sound I’m aiming for while also having a surprising amount of versatility to it.

ARCADE SCORE

GOO SPRING


Slime Forest is built within GODOT 4 using the native language, GDScript. The project includes a number of personal achievements that I’m pretty proud of.

  • A version-iterative JSON-based save system for both profiles and overall local machine cross-save data.
  • A pixel-perfect noise-based slime shader that progresses along a given gradient resource – animated or static – via a threshold uniform.
  • A highly-configurable gameplay manager with rules that can be easily adjusted per instance in-editor to craft a variety of unique game modes and situations.
  • An array-based game board that communicates accurately with individual sprite nodes to convey an animated the game state.
  • The implementation and control of sprite animation states to convey game state information and character personality.
  • Creation and management throughout the project of persistent data and audio management classes.
  • A worryingly elaborate username generator.

This project also marks my first serious solo effort within the GODOT engine itself, marking multiple benchmarks in my progressive understanding and employment of the editor and its myriad tools and resources, including:

  • Animation via the Animator timeline and playback functionality.
  • Creation and use of AnimatedSprite2D resources and material shaders.
  • Knowledge and employment of SpriteAtlas and 9-slice functionality.
  • Proper use of the UI system and its visual theming capabilities.
  • Employment of audio channels and the mixer.
  • Understanding and using autoloads. They’re persistent objects. That’s where they were hiding. This was somehow not covered in any of my classes.

Slime Forest was designed to be easy to learn and instantly familiar to anyone who has played any of the number of classics that has come before it in its space. Its depth and long-term challenge lies in the management of various resources that both compliment and compete with each other:

  • An energy meter with a displayed turn cost that depletes with each action, but recovers based on the size of the match made. The cost and maximum of the meter both increase as the game progresses, requiring more efficient plays to endure.
  • An overflow meter that absorbs excess energy and converts it into score multipliers that persist throughout the run. Each increase of the multiplier requires more excess energy than the last.
  • Rainbow Slimes, a special board piece that can start a chain with all adjacent pieces regardless of their individual colors, which spawn themselves from slimes caught in large matches.
  • The star of the show, the three slime girls, each corresponding to a specific piece color on the board. Cleared pieces contribute to the growth of the girl of their color, moving her towards her complete state, but do not get stored beyond that state. Completing all three girls results in an increasing score bonus, as well as a slight increase to the amount of energy recovered per slime piece cleared. Managing this is crucial to prolonged survival!

The game intentionally leaves you guessing on some of the details.

The resulting mixture of these elements is an experience that has players weighing their options and altering their strategies as they progress through their run, learning new tactics and elements of the system through experience and some gentle nudging from the girls as they offer you tips on the game over screen based on your performance. Deciding how to balance everything to maximize both survivability and score while hedging your bets against the random piece generation is the name of the game, and its alpha has garnered the approval of at least one hardcore fan of Tetris: The Grand Master, so I must be doing something right.

There are also multiple score factors to consider (points, time, and eventually the unlockable but to-be-implemented Stars feature, which has players earning medals via specific actions and results, further complicating the balance of risk and reward for the especially daring), all of which have their own leaderboards across the game’s multiple game modes, which themselves throw wrenches into the equation such as consistent energy drain over time and matches not contributing energy unless they exceed a certain threshold.

The story and your progress through the game’s multitude of achievements and goals will be presented via the upcoming Garden, where each mode is represented by one of the slime girls, who grow and interact with the player as they progress through their various benchmarks and tasks for each game style.

I may or may not be implementing a heinous final challenge for that Grand Master fan, while I’m at it. You know who you are. Good luck!