Bonjour.
Je cherche à faire un serveur de jeu (un truc galactique genre Elite II - en 2D - mais en multijoueur).
Il est composé
- d'un client (javascript dans le browser du joueur)
- d'un serveur général (apache/PHP)
- d'un serveur de jeu qui n'interagit qu'avec le serveur général par sockets et qui gère les événements du jeu - y compris la BdD.
J'étudie en ce moment la possibilité de faire le serveur de jeu en Erlang, car tel que je le conçoit, il est basé sur des notions d'échange de messages.
Or, débutant dans ce langage, j'ai du mal à voir comment traduire certains concepts de mon architecture - ou comment adapter l'architecture, d'ailleurs.
Prenons un point précis sur lequel j'ai besoin d'aide :
- Chaque joueur incarne un personnage.
- Ce personnage est dans un vaisseau particulier
- Ce vaisseau est d'un type générique mais dérivant de concepts plus élevés (ex: Véhicule->Véhicule Spatial->Cargo), mais avec des ajouts uniques (détecteurs, moteurs, etc...) qui eux aussi sont de type générique, etc...
La question (j'y arrive enfin) est :
Comment au mieux peut-on, en Erlang, gérer cette notion de type générique "dérivé" avec des attributs particuliers ?
En Java je fais des classes abstraites que je dérive sur plusieurs niveaux et mes objets les instancient. Mais en Erlang je sèche un peu :cry: