Devlog: Refactoring Idle Garden 🌱

Hey everyone! Version 0.15 of Idle Garden is out today. While there aren’t any new features in this update, there are significant changes under the hood that will impact the game’s performance and future development.

Game Class Refactor

As the game has grown beyond its initial concept, I’ve accumulated a fair amount of technical debt. The Game Class, which handles the core game logic, had become bloated and was managing too many responsibilities. With this update, I’ve significantly reduced the size of the Game Class by splitting its functionality into a series of Manager Classes (UI Manager, Plant Manager, Automation Manager, and Load Manager). This restructuring is a work in progress, but it already makes me feel much more confident about adding new features in the future.

Save / Load Game

As mentioned above, I’ve moved the responsibility of loading saved games to a new Load Manager Class. This should improve the process of reconstructing saved data over time. However, due to the scale of the changes in version 0.15, saves from prior versions will likely fail to load going forward. While the game is in active development, save/load compatibility might break between versions. I could spend more time ensuring saves are always compatible, but I don’t think it’s a good investment while the game is still evolving.

Major Size Reduction

Version 0.15 is nearly half the size of 0.14, which should especially benefit players on the web, as load times are now significantly faster. This reduction was achieved by removing a large amount of unused assets now that we’ve switched to the new pixel art spritesheets.

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

Happy gardening! 🌼