Struggling on how to implement a research mechanic

Godot Version

4.5.1

Question

I want to create a “research” system that is a list of options that when clicked slowly progresses until complete and providing new mechanics to play with. I’m coming up with blanks on how to implement it without it being like a thousand different buttons all connected to a script, please help. I’m rather inexperienced so detailed explanations are preferred please and thank you all

(image to show how I’ve got the ui currenty)

Hi!

It sounds to me you are mixing the user-interface and the actual system mechanics in your head. Keep in mind that you system’s implementation can be entirely independent from the interaction with the user, in fact it probably would make your system’s implementation easier to maintain.

From what I understand I would implement a research system in at least two distinct steps:

  1. Write the actual code which unlocks new mechanics as a unlock function is called. This unlock function can then be called by a signal, by a button click, by a timer, anything.
  2. Make a user interface with buttons which dispatch timers. Set the timers up to trigger the respective unlock function.

This way you split between the actual system-system (step 1) and the user interface (step 2). :four_leaf_clover:

3 Likes

Agreed with @kraasch that you need to design the underlying system first and only then think about the UI.
I found the idea interesting, so I went ahead and created this little demo project that you can dissect.

3 Likes

thank you guys. this really helps!

1 Like