Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lua Discussion :

Intégration dans un moteur de jeu C++


Sujet :

Lua

  1. #1
    Membre habitué
    Intégration dans un moteur de jeu C++
    Bonjour à tous,

    Je suis actuellement sur un projet de jeu 2D utilisant la SDL. J'ai pas mal avancé dessus et je cherchais à créer une première démo depuis le moteur avec un écran d'accueil et un 1er niveau de jeu de test. Je me suis vite rendu compte que c'était assez embettant de devoir tout coder en c++ dans mon executable, je me suis donc naturellement orienté vers LUA.

    Au niveau de la structure de mon projet, j'ai une librairie qui contient le moteur, les services (input, resources...) ainsi que les des bases de classes graphiques (IEntity, IDrawable, IUpdatable, Entity, Sprite, Text...). Côté architecture, j'ai une classe engine qui utilise un gestionnaire de scene dont chaque scene contient N entités.

    J'ai réussi à utiliser LUA avec lunar (merci pour le tutoriel trouvé sur ce site ) et réussi et lancer du code. Sauf que...

    J'ai pour vocation d'utiliser LUA pour scripter le chargement des niveaux et de leur contenu. L'objectif est d'avoir un script que je lance au début "main.lua" qui va lancer "level1.lua" qui lui se chagera de charger tout ce qu'il faut pour le jeu (graphismes sons etc...) avec les éléments de base dans la DLL (ex: text), les éléments spécifiques dans l'executable (ex: monstre).

    Avant de me lancer dans tout ça, je me suis retrouvé bloqué sur 2 éléments :
    1) Mon utilisation de LUA est-elle viable ou bien je risque de l'utiliser de la mauvaise façon ?
    2) Faut-il réellement que je duplique mes classe pour les export lua avec lunar (ex: Entity / LUA_Entity : public Entity) ?

    J'ai pas mal cherché sur le web et je vois que beaucoup l'utilise mais j'ai du mal à comprendre si c'est pour des cas particulier ou si je peux l'utiliser comme définition d'un niveau de jeu et que LUA me serve comme automate de chargement des ressources et de support de game design.

    Je vous prie de m'excuser si c'est pas le meilleur endroit pour mon topic mais je suis à cheval entre le JV, C++ et LUA...

    Merci

  2. #2
    Membre habitué
    Finalement j'ai pu trouver une réponse à ma question. Je suis passé sur un autre wrapper c++ de LUA qui me permet de ne pas devoir hériter chaque classe

###raw>template_hook.ano_emploi###