Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
(+1)

This was a really fun game i beat it i think (at least i had all upgrades except max frogspace.  The breeding gave it a cool touch but i didnt really understand which stat gave what advantage. I quickly got an orange frog and he had a very long lifetime compared to the green ones. My strategy was to grab him and pull him like a kite through the flys. this felt very op because i was getting like 100-150 upgrade points every round :D 

Every frog i bread after him was not worth compared to the orange one :D

One question i think saw the same upgrade tree system in a different game in a past game jam and it looks really cool is it open source or a plugin? If yes could you share the link?

Really great game, i really enjoyed it :).

I'm glad you enjoyed it!
If you mouse over the stat, a tooltip appears explaining the stat. It's not super obvious that this is possible though so I'll make a note and try to fix if it ever gets a proper release.

Yeah, I kinda wanted the player to feel like they had found an OP strat and broken the game. I put all my frogs in the center and take the last one wakeboarding to get tons of points.

I didn't use any plugins or anything. I don't want to make the source code public because if this does well, I might turn it into a full game. The unlock menu is inspired by Nodebuster, the other project may also be inspired by Nodebuster which would explain them looking the same. Maybe try asking them if they used a plugin.

But, I'm happy to explain how it all worked and help you make your own system.


The very simple version is this:

- There is the globally accessible resource `UnlockState` which has a dictionary of how many levels of each unlock the player has gotten. `@export var unlocked_count: Dictionary[Unlock, int] = {}` where `Unlock` is an enum. This is what gets saved.

- `UnlockState` can create `PlayerAttrs` which is just a resource containing a bunch of modifiers like `frog_max_health` and `frog_max_inventory`.

- Then for the UI, each unlock item has a resource with: `Unlock` (the enum used in `UnlockState`), `texture`, `costs` of each level, `title`, `description`. From there it's pretty easy to determine how many levels the player has unlocked from `UnlockState`.

- The requirements between the unlocks is actually controlled by the lines being drawn. Each line is just a `Line2D` which makes itself and the `dependent` visible if the `required` UI item's first level is unlocked.

Hopefully this is enough to get you started. Feel free to ask any questions, I like talking about this stuff.

(+1)

Yea, no worries about sharing the source, I understand that.
The other game probably was also inspired by Nodebuster :D

Thanks for the explanation. I mainly was curious about how the upgrades depend on each other. That’s actually a simple and clever solution