Please help to classify ways of organizing C++/Lua game code and to separate their duties. What are the most convenient ways, which one do you use?
For example, Lua can be used for initializing C++ objects only or at every game loop iteration. It can be used for game logic only or for graphics, too. Some game engines provide full control to all subsytems from scripts! I really do not like this approach (no separation at all).
Is it a good idea to implement all game objects (npc, locations) as Lua tables without C++ objects? Or it is better to mirror them (Lua tables to control C++ objects)? Or something else?
Thank you.
Edit. My classification: http://stackoverflow.com/questions/2674462/lua-and-c-separation-of-duties/2685693#2685693.
Topic's continuation: http://stackoverflow.com/questions/2685636/lua-game-state-and-game-loop