Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 29/11/2006, à 23:44

elturisto

Langage de stockage pour les données d'un jeu en C

Bonsoir,

J'ai un jeu à réaliser en C, et je cherche des conseils pour stocker les données du jeu  : Quel langage utiliser et comment??

C'est un jeu assez simple, où un héro doit se balader dans un chateau, combattre pleins de monstres ...
Il me faut un endroit et une manière où stocker les données des salles (4 monstres, 20 portes, ...).

Il serait plus efficace d'utiliser un autre langage que de créer des fonctions spécifiques à chaque salle et chaque personnage... en C.


A première vue, je m'orienterais vers le XML (langage dont je ne connais pas encore grand chose).

Donc si certains ont des idées ou des expériences à partager, je suis preneur smile

Merci

NB : Le projet doit impérativement en C (les langages objets, c'est pour bientôt wink).

Hors ligne

#2 Le 30/11/2006, à 00:56

xilef

Re : Langage de stockage pour les données d'un jeu en C

Tu dois les stockés de manière permanente (carte fixe) ou seulement au runtime (génération on-the-fly) ?


.felix

Hors ligne

#3 Le 30/11/2006, à 12:21

elturisto

Re : Langage de stockage pour les données d'un jeu en C

De manière permanente, dans un fichier.
C'est pour charger un niveau d'un jeu.

Hors ligne

#4 Le 30/11/2006, à 12:58

BookeldOr

Re : Langage de stockage pour les données d'un jeu en C

Tu aurais du nous donner ton niveau en C smile
Si le comportement de tes monstres est tout simple, tu peux écrire/lire dans un fichier texte simple.
Par exemple si ta carte est simplement un tableau, tu peux utiliser un caractère différent par type de case, par exemple # pour un mur etc...
tu lis ça ligne par ligne avec les fonctions de stdio et tu mets ça dans une matrice C.

Si tu as besoin de cartes plus compliquées, tu définis un format toi même et écris un parseur pour lire le fichier et récupérer une structure de données C, les outils standards pour ça sont lex (flex pour la version libre) et yacc (bison pour la version libre).

Tu peux aussi définir un format XML et le lire directement avec libxml (il y a plusieurs autres libs pour xml, tu as le choix).

Si tu veux donner un comportement scripté pour tes monstres, tu peux utiliser spidermonkey, qui est un interprète ecmascript (~javascript) à intégrer dans ton application.


Ubuntu is an ancient african word meaning : "I can't configure Debian".

Hors ligne

#5 Le 30/11/2006, à 23:57

elturisto

Re : Langage de stockage pour les données d'un jeu en C

Merci pour les renseignements.

Ce n'est pas un jeu très évolué, dans le sens où les monstres n'ont aucune forme d'intelligence, le jeu n'est pas en temps réel mais tour par tour. Le but du jeu est d'utiliser toutes sortes de structures, faire des graphes... et surtout organiser le développement.

Donc ce n'intéresse de pouvoir définir dans chaque salle le type de chacun des monstres, les portes qui vont vers quelle salle, etc...

La solution peut être la plus simple serait d'utiliser les caractères pour chaque type dans un fichier comme tu proposes. Je pense que je vais utiliser ce principe avec les balises du format XML, histoire d'apprendre.

Merci encore pour ces conseils smile:)

Hors ligne

#6 Le 03/12/2006, à 00:04

xilef

Re : Langage de stockage pour les données d'un jeu en C

XML c'est bien et relativement simple, mais un peu "lent".

Le plus simple, si tu n'as pas beaucoup de données, est de faire ton propre format de fichier, et d'inscrire les données en mode binaire (donc pas de texte) dans celui-ci. Si tu as des questions ou besoin d'aide, dis le, je t'aiderai.


.felix

Hors ligne

#7 Le 04/12/2006, à 02:28

gene69

Re : Langage de stockage pour les données d'un jeu en C

l'avantage du XML c'est qu'on peut faire sa propre DTD.

Pour parser ton fichier pense à flex + bison.


Quand le berger est lâche, le loup chie de la laine.
A (draft) guide to UFO Alien-Invasion

Hors ligne