c) Frankly, 99.99% of the Ren'Py games out there are the most straightforward you can find, with each variable being it's own "entity" per say. I don't think I've come across any game here that uses custom objects and whatnot for state tracking (except maybe 1 or 2 cases?)
Er, games that use custom objects aren't this exceptional. Super powered, Teacher's pets, Lab rats, After invasion, Bondage island, and there's plenty others. But in fact I don't understand why you talk about this while the subject is the custom stores.
Stores are namespace-like used by ren'py to both store the variables and handle the rollback feature (and so the save/load feature). They have nothing to do with custom objects. Take your "dir()" trick by example. It never gave you the content of the global namespace, because ren'py work on top of it. What look like the global namespace is the default store, a sub class of dict. By default ren'py have ten (or eleven, don't remember exactly) stores, and any coder can add their own stores ; no title cross my mind, but there's at least two, perhaps three that can be found here. So, when you type "dir()" in the console, in fact what you get is "dir( store )".
As much as I understand that it's way easier to remember than the "variable viewer" like approach, and way more than the cleared dir, the problem I have with this trick is that you get really too many values in return, and most of them are useless.
Take
You must be registered to see the links
as example. The game itself use 33 variables. "dir()" will return an array of 547 entries. A cleaned dir will return only 137, and the "variable viewer" like will return 52 entries.
Still, I agree, the way to have a correct result is too difficult to remember. So here come an easy way:
1) Download the attached file ;
2) Put it in the '[game's name]/game/' folder ;
3) Open the console (enabled by the mod) ;
4) Type "vv", like in "Variables Viewer" (at anytime you can type "help" as reminder) ;
5) Enjoy the list of all the variables that have been changed since the start of the game, in alphabetical order.
It will not replace the "variable viewer", since you'll not have the values, but it will efficiently replace the "dir" trick. With this, you'll know where to search and/or what variable you'll need to
watch.