Hi!
I'm developing an educational puzzle game aimed at children. The main goal is to teach concepts such as shopping, budget planning, and analyzing shopping lists in an intuitive way.
I had to take a few weeks off from development because of my college exams, and now I'm getting back to the project. I'd like to share how I've structured my system so far and ask for suggestions on the most recommended next steps in terms of architecture and code, since GML is still pretty new to me.
First, I need to explain the idea behind the kits. Basically, they all contain the same products and brands, but the quantities, prices, and discounts vary. The idea is to add replayability by giving children different shopping experiences when they replay the same mission.
For example, Kit 1 would be the balanced option, with reasonable market prices and no discounts. Kit 2 would have higher prices for dairy products but discounts on meat. The other kits would follow the same logic, varying prices and discounts to make each shopping experience a little different.
What I'd like to do is make the game switch to a different kit whenever the game restarts or the child decides to replay the level. For now, I plan to implement four kits, but I'd like to add more in the future.
My question is how to structure this system in a GameMaker script. I need to store the data for each kit and make the game select the appropriate kit whenever a new run starts.
Initially, I thought about choosing a kit randomly, but I'm worried that with only four kits, the child might play with Kit 1, restart the level, and end up getting the same kit again. So, I was wondering if it would be better to implement a system that cycles through the kits or otherwise prevents consecutive repeats.
How would you recommend implementing this system? Would it be better to use random selection with no consecutive repeats or rotate through the kits in order? And how could I organize each kit's data in a script to make it easier to add new kits in the future?
(Sorry for the wall of text! I'm not sure which tutorial would help me with this...)