Bellow are my tips for a newcomer, non-programmer, on learning Lua and efficiently designing a project. I am still learning and reconsidering things every day. But somehow, the discussion must be started 
1) Make small steps, one at a time. First, work 2-3 days in Lua live demo and make some practice on Lua tables and functions. Then try simple things in Corona and master the concepts before going to the next levels.
…
@Magenda:
Thanks for this - this is exactly what I was looking for to help me organize my project. This kind of architecture can really improve things, and I can definitely see how it would achieve the benefits you mention.
There’s a few things I don’t understand, though…
For best results, don’t have helper modules calls directly from within scene modules. Instead make get functions inside the controller and call these ones from scenes.
I’m not familiar with get function, how would this actually work?
Similarly, build a Datakeeper module (a “model”) and keep everything you need to recreate a full scene when resuming/restoring after pause and suspend. Keep what you need for resume only in memory. Write, batched on the fly, what you need for restore a scene inside a file (eg with json). Implement set/get functions in the “controller” for scene to access the info of “model”. A scene has to be ignorant about the model. The model only knows in theory about the scenes (their number, the module names and things like level difficulty and such). Any scene-model transaction has to go through the controller.
This seems like a great idea but I can’t really see how that would happen in practice. I’m not sure what a datakeeper module would actually look like - just a table with a bunch of properties (like score, numberEnemies, etc.)? Same with the rest of the suggestions…
Do you have some kind of template for this? Even without any actual game code (just comments such as “implement touch handler here”), etc. These suggestions seem really good, but I can’t seem to figure out how they would be implemented. Some samples would be a huge help, since you seem to have a good grasp on architectures…
[import]uid: 49372 topic_id: 3686 reply_id: 33935[/import]