I often stuff several hidden global object on layer 0 somewhere ( 0, -1000), which holds all my game values. Several actually, depending on game structure, an object for player related info, an object for game stats or game element stats. (Also easy for saving: asjason)
Using a hud group in the game's main event sheet, or dedicated hud event sheet which gets included, I sometimes use on start of layout in there to fill the preliminary hud information, or do a hud setup (positioning).
If it gets loaded each time a layout is started, meh, that's supposed to happen me thinks ^_^ visually it wont make a difference.
In the hud section I often use every x second and set it to 1 second, for HUD updates, life bars, feedbacks popups etc etc. The 1 second things make the entire process lightweight processing wise.
As a suggestion, avoid using global variables to hold game status or player earned in game goodies etc .... global variables ... the name should give it away really. Is relatively easy accessible from outside the game.
Using object variables eliminates a lot of potential unwanted intrusion to values or variables used by your game. (the fact on a object can be global and hold variables, is not the same as a global variable)
By no means will this make your game 100% secure, but will most definitely make it harder to cheat.
Thank you. I've used objects to hold values before, but never on this scale.
Very good point regarding cheating.
I really hope C3 gets a way to make global huds someday. Maybe an "additive layout" (like unity) where the layout contains the HUD, and this layout van be overlayed on any other layout.