Aidez-nous à classer les façons d'organiser le code de jeu C++/Lua et à séparer leurs tâches. Quels sont les moyens les plus pratiques, lequel utilisez-vous? Par exemple, Lua peut être utilisé pour initialiser des objets C++ uniquement ou à chaque itération de boucle de jeu. Il peut être utilisé aussi bien pour la logique de jeu que pour les graphiques. Certains moteurs de jeu offrent un contrôle total à tous les sous-systèmes des scripts! Je n'aime vraiment pas cette approche (pas de séparation du tout).Lua et C++: séparation des tâches
Est-ce une bonne idée d'implémenter tous les objets de jeu (npc, emplacements) comme tables Lua sans objets C++? Ou est-il préférable de les mettre en miroir (tables Lua pour contrôler les objets C++)? Ou autre chose?
Merci.
Modifier. Ma classification: Lua and C++: separation of duties.
la poursuite du sujet: Lua, game state and game loop
Merci, j'aime beaucoup votre réponse. Donc, vous utilisez Lua principalement comme fichier de configuration et référentiel de fonction de callback. Et chaque objet de jeu est implémenté en tant qu'objet C++ et objet Lua. Est-ce exact? Comment synchronisez-vous leurs états? Comment sauvegarder le jeu - générer un nouveau fichier de configuration Lua? –
Les objets Lua ne sont en réalité que des interfaces qui correspondent à des objets dans c via un seul champ lightuserdata qui résout ce que "self" est. En ce qui concerne la sauvegarde, je ne sauvegarde généralement que le niveau auquel un joueur est, mais je peux implémenter une fonction qui recrée entièrement l'état du jeu en Lua simplement en obtenant l'état de chaque objet puis en écrivant un script pour les définir. très optimisé et je regarderais probablement la sérialisation dans ce cas. –