I don't think I'm actually going to implement this feature as I'm guessing it could get a bit messy, but say you have 20 levels, each with 2 hidden coins, is it difficult to keep a record of which coins you have collected from which levels?
I used an ini once, about 10 years ago to save a characters position in TGF... Those were the days. No idea how I did it now though! Would I have to use one ini to save the coins data, then another ini to save what level the player reached so they can resume next time? Or can all this be handled using just one ini?
The plan was to build every level first, then start figuring out ini's right at the end as that's pretty much the only essential thing left that I need to sort out. Is it better to start using it now though? I guess I'd have to copy the object/code into each frame later?
It's always better to get the engine finalised before duplicating the frames, but yeah, you can add it later too. It won't be a lot of code. Just as long as you're OK with doing the old MMF copy & paste dance right at the end.
There'll be little bit of thinking involved when you get to the part where you have to relate "coin1" in the ini to the correct coin (out of 3) in the level.
If you're always going to have 3 secret coins (no more, no less) the easiest solution would be to create 3 separate coin active objects ("secret coin 1", etc) and refer to them directly in the events. You can also use Spread Value A blah blah but it's a little complicated. It will mean having 2 extra objects and a few duplicated events but it's not a huge additional overhead. It's up to you, but if you're going to do it this way you could create the 3 separate coin active objects in advance before you duplicate the frame to save some time.
I'm sure there are a bunch of ini tutorials here in the Articles section, or just give me a shout on Twitter if you have trouble with it and I'll make an example for you.
I have actually have this in my game for "giant coins" and "Heart Containers" (like zelda) i did it with an array and just got each coin to check if has been collected before and if so then its not created. Simple. each Coin has an array position and if it is collected it turns 0 to 1 and then when you re enter the zone it will read the 1 before creating it and then skip it.
There are loads of ways to do it but i think ini or array is best, Globals would be slightly unnecessary and annoying if you have many in use for other things.