Devlog: New Sprites & Pause Menu in Idle Garden 🌱

Idle Garden 0.14

Hey everyone! I’m excited to share that version 0.14 of Idle Garden is now live. Here’s what’s new in this significant update:

New Plant Sprites

When I first started developing Idle Garden, I used AI-generated art for the sake of expediency. However, it’s always been my goal to move away from that. Today marks the beginning of that transition with the introduction of custom pixel art plant sprites. I’m much happier with these new sprites, and I think you will be too. The switch to a spritesheet format has also allowed for much better animations compared to the previous individual images. In the long term, I plan to transition all the game’s art to this new pixel art style. In the meantime, you might notice some conflicting styles, but this is only temporary. A big thanks to my husband Henry for stepping in to create this fantastic art!

Pause Menu

Idle Garden 0.14 Pause Menu

In the levels release, I added a save icon in the upper corner of the sidebar, with plans to eventually replace it with a pause button. Today, that plan comes to fruition. Clicking the new pause button brings up a menu where you can save, mute/unmute the music track, and quit the game.

Dev Mode

I’ve also implemented a dev mode option. In past updates, I’ve accidentally released versions with testing values still active, which required a point release to fix. With dev mode, I can now test the game more thoroughly without worrying about messing up a future release. For those who want to skip ahead to an easy mode, you can access dev mode by holding down the ‘d’ & ‘e’ keys and tapping ‘v’. This will give you 1000 cash, 500 seeds, and 400 score—just be careful, as this is irreversible.

That’s all for this update! Stay tuned for more updates.

Happy gardening! 🌼

Devlog: Debt in Idle Garden 🌱

Idle Garden 0.13

Today I’ve released version 0.12 of Idle Garden. Here’s what’s new in this update:

Debt

Previously, players could find themselves stuck with no seeds, cash, or harvestable plants, forcing a game reset. Now, if you get into this situation, you’ll be given 5 seeds and incur a debt of 30. This debt is slightly more expensive than buying 5 seeds outright, so try to avoid this scenario if you can.

Automator Cooldowns

I’ve tweaked the cooldowns for auto planters, harvesters, and sellers. Planters will now run more frequently, sellers less frequently, while harvesters continue at their previous pace. This should help balance the automation process a bit better.

Alerts

If you’ve read previous devlogs, you’ll know I recently introduced tooltips for the sidebar buttons. Today, these tooltips have been migrated to an all-new Alerts system. For players, this won’t look any different, but it allows me to display info in the sidebar more easily moving forward. The new debt system is the first use case for this, a brief message will now pop up to let players know they’ve incurred a debt.

That’s all for this update! Stay tuned for more updates.

Happy gardening! 🌼

Devlog: Levels in Idle Garden 🌱

Idle Garden 0.12

Today I’ve released version 0.12 of Idle Garden. Here’s what’s new in this update:

Introduction of Levels

The biggest feature in this update is the introduction of levels! Now, as you play, you’ll progress through different levels (based upon your score, introduced in the last major update), unlocking new features along the way. For this first iteration there are 4 levels which unlock the various automations, expect more levels in the future.

Visual Indicators

I’ve added a small visual indicator on the display to notify players of changes. This should make it easier to see when something in your inventory or garden changes.

Save

The save button has now moved to the top of the sidebar. I wanted this to be a bit less intrusive so I also changed to an icon rather than text. Longer term, I expect this will become a pause button instead that will bring up the option to save, adjust game volume, etc.

That’s all for this update! Stay tuned for more updates.

Happy gardening! 🌼

Devlog: Scoring System & UI Updates in Idle Garden 🌱

Idle Garden 0.11

Today I’ve completed version 0.11 of Idle Garden, this version introduces a rudimentary scoring system and some small UI improvements:

Scoring System Implementation

I’ve added a scoring system to the game! Now, harvesting ripe plants will earn you 2 points, while withered plants are worth 1 point. Selling plants gives a multiplier of 10, so selling 10 plants will net you 100 points. Currently, the score is just for tracking your progress, but this is a crucial first step towards future unlocks. I’m planning to introduce different plant types and maybe even pests. These will likely be tied to reaching various scoring levels, but that’s all still to be determined.

Button Cleanup

I also took some time to clean up the buttons. I reduced the borders and vertically centered the text, making them look a bit neater. Eventually, I plan to replace these with custom images to have more control over the look, but for now, they’re much cleaner.

Tooltip Display Adjustments

Following up on the previous update, I made further adjustments to the tooltip display system. I removed the blue text and added a light background behind the text. It’s still not perfect, but it’s definitely less jarring than the original implementation.

That’s it for today! Stay tuned for more updates.

Happy gardening! 🌼

Devlog: Tooltips Implementation in Idle Garden 🌱

Idle Garden Tooltips

Today I completed work on version 0.10 of Idle Garden, this version introduces tooltips for the buttons on the sidebar. Here’s a breakdown of the implementation process:

Initial Approach

At first, I tried generating new labels based on the mouse’s x, y coordinates. However, having the tips move with the mouse felt a bit chaotic. So, I decided to pin them to a set location based on each button’s coordinates.

Making Labels Legible

The next challenge was ensuring the labels were readable. DragonRuby’s label methods don’t include background colors, so I created new solid primitives to sit behind the labels. But rendering these solids above other items in the stack, especially the garden background images, turned out to be tricky. In the end, I chose to display the tooltips below all other information labels in the sidebar. This solution actually looks cleaner and avoids obscuring other display information.

Handling Long Strings

The final hurdle was dealing with long strings. The label primitives don’t support text wrapping by default. The docs suggest using a mapping function to cut the text at specific intervals and generate labels from the split content. While this could work, I wanted more control over the label messages. Instead, I updated the JSON file containing the tooltips, manually split the strings where I wanted new lines, and contained them in an array. The hover? method now calls for_each on the strings and generates a new label for each substring, placing subsequent substrings 20 pixels below the preceding one.

I still intend to work on the actual design but from a functional perspective I pretty pleased with this solution. Stay tuned for more updates!

Happy gardening! 🌼