• [^] # Clarification sur l'architecture de Rei

    Posté par . En réponse à la dépêche La programmation clusterisée à la portée de tous ? Un livre sur Erlang. Évalué à 9.

    Je précise le sens de tout cela. Le jeu est développé avec deux éléments bien distincts: Le client et le serveur.

    Le serveur est bien développé en Erlang. A ce titre, il tire bien parti des aspects de concurrence et de distribution du langage. Je suis en train de développer la partie cluster permettant l'ajout de nouveaux noeuds de manière automatique, et c'est vraiment très simple et agréable.

    En revanche, le client est en 3D. Il doit s'appuyer sur un moteur 3D. Nous avons dans un premier temps utilisé Ogre (http://ogre.sourceforge.net/(...)), pour un premier prototype. Ce premier prototype était développé en C++ pour accéder directement à l'API de OGRE.

    Nous voulions également évaluer le moteur Nebula (http://www.nebuladevice.org/(...)), logiciel libre également, mais déjà utilisé pour des jeux commerciaux. Nebula dispose d'une API très bien foutue qui permet de développer en C++, mais également de scripter complétement le jeu, par défaut avec TCL. Nous développons donc ce second prototype directement en langage de haut niveau et avons préféré Python parmi les bindings déjà proposés.

    Cela n'exclut pas de réaliser un binding Erlang dans un second temps, non pas pour le client, mais pour permettre l'accès direct sur le serveur au moteur de physique de Nebula, afin de valider les comportements sur le client (et notamment essayer de détecter la triche): Le moteur et les algos utilisés sur le client et sur le serveur seront ainsi identiques.

    Voilà, voilà.

    En espérant que cela clarifie quelque peu l'architecture du projet Rei.

    --
    Mickaël Rémond

    Mickaël