Je suis Jeu d’aventure.
Je suis jeune et j’ai trouvé ma passion dans les jeux textuelles aprés ma découverte de l’univers Zork.
Je programme en C, mais je suis débutant et je découvre le langage C. Mais mas connaissance du langage sont largements suffisants pour mon construire mon jeu.
Voila, content de faire connaissance sur un forum de VRAIS JOUEURS!
PS: J’ai un probéme avec le caractére « > » pour les ordres. Pour que le jeu joue avec le jeu, il doit taper en dessoyus de ce symbole. J’espére que ce n’est pas problématique.
Content de t’avoir parmi nous!
Tu verra que le monde des jeux d’aventure a pas mal évolué depuis Zork, il existe même certains langages dédiés à ce type de créations! Des languages, comme Inform ou TADS, qui permettent de programmer un jeu beaucoup plus facilement qu’avec le C (avec lequel tu dois vraiment partir de zéro).
Enfin, en attendant de voir ce qui pourrait te tenter là dedans, on va voir comment on peut t’aider pour ton jeu actuel. Mais je dois dire que je ne comprends pas bien ton PS. Que se passe-t-il avec le signe « > » ?
Bienvenue parmi nous, Jeu d’aventure ! Et bonne chance pour ton projet de jeu !
C’est tout à fait exact ! Même si, à l’heure actuelle, seul Inform existe en version française. Il y a bien ADRIFT, aussi, mais la traduction laisse franchement à désirer pour l’instant, malheureusement…
Mais je te conseillerais quand même d’utiliser Inform, car il est très difficile de faire un jeu en C ou autre langage non spécialisé qui offre tout ce qu’un jeu en Inform fournit automatiquement :
jeu fonctionnant à la fois sous Windows, Macintosh et Linux, et même dans d’autres systèmes ;
nombreux verbes déjà programmés (prendre, examiner, nord/est/sud/ouest, etc.), avec toutes les abréviations standard correspondantes ;
analyseur de syntaxe relativement évolué, du moins plus qu’un simple « verbe + nom » ;
fonctions de sauvegarde (sauver/charger) ;
fonction UNDO (très très utile, et pas facile à programmer soi-même, il me semble !) ;
« scrollback » permettant de voir tout le texte du jeu jusque-là (même ce qui n’est plus sur l’écran depuis longtemps) avec toutes les commandes que le joueur a tapées et tout ce que le jeu a répondu ;
possibilité de faire des « transcripts » du jeu (un peu comme le scrollback, mais ça se sauve dans un fichier texte, et c’est utile pour le beta-testing entre autres) ;
et bien d’autres choses encore !
Si je comprends bien, il dit que ce que le joueur tape se retrouve sur la ligne suivante au lieu de se retrouver juste à droite du caractère « > ».
Je ne sais pas quelle est la solution à ce problème ; il faudrait sans doute voir le code que Jeu d’aventure a écrit pour ça… Dans mes souvenirs lointains de C++, je crois qu’il n’y avait pas vraiment ce problème, car il fallait préciser explicitement les retours à la ligne par quelque chose du genre cout << endl; .
Mais c’est sans doute différent en C, langage que je ne connais pas. Ce problème me rappelle plutôt le BASIC, où écrire PRINT">" ajoutait automatiquement un retour à la ligne, et où on était obligé d’écrire PRINT">"; avec un point-virgule à la fin si on ne voulait pas de retour à la ligne.
Bien sûr qu’il y a des jeux en C! Un jeu d’aventure pourrait très bien être codé en C, mais ça demande beaucoup de travail, et ce n’est pas facile.
En utilisant un langage conçu exprès pour ce genre de jeux, on économise beaucoup de temps et d’efforts!
Tout comme Eriorg, je te conseillerais Inform, qui est assez répandu, permet de faire des aventures en français, et continue d’évoluer.
Tu trouvera de nombreuses aides sur internet, mais malheureusement presque tout est en anglais. Si tu ne sais pas lire l’anglais, on t’aidera comme on peut, mais ça sera plus dur, c’est sûr.
Un site en français, tout de même, qui permet de démarrer: jlpo.free.fr/
(tout le reste est en anglais)
Le site de Roger Firth, qui prend un petit jeu en exemple et le détaille, en montrant comment le coder avec différents langages: firthworks.com/roger/cloak/index.html
Le manuel d’Inform, qui est très gros et sert surtout de référence lorsqu’on ne trouve pas ce qu’on veut dans le Beginner’s Guide: inform-fiction.org/manual/download_dm4.html
N’hésite pas à poser d’autres questions, on est là pour ça!
Bon courage!
Euh, je n’ai pas dit que le langage C n’était pas bon pour les jeux en général, hein ! Il a beaucoup d’avantages : on peut vraiment tout faire avec, et il est très rapide, ce qui le rend particulièrement bon pour les jeux avec beaucoup de graphismes et d’animations… En tout cas, pour faire un jeu d’action ou un simulateur de vol, par exemple, il est évidemment infiniment meilleur qu’Inform !
Avec le langage C, il est parfaitement possible de faire tout ce qu’Inform peut faire et bien plus encore. Mais, pour le cas particulier des jeux d’aventure texte, il est beaucoup plus long et difficile d’obtenir le même résultat avec C qu’avec Inform. On est obligé de faire beaucoup de choses soi-même avec le C qui sont déjà toutes faites dans Inform.
De plus, l’avantage de la rapidité du C n’a pas d’importance pour les jeux d’aventure texte : les ordinateurs actuels (ou même ceux d’il y a 10 ans) sont largement assez rapides comme ça, ça n’a rien à voir avec les animations en images de synthèse.
Enfin, tout cela n’était qu’une suggestion de notre part : c’est toi qui choisis quel langage de programmation te convient mieux, pas nous !
je n’aurais rien à dire de mieux que mes camarades à propos des diverses possibilités qui s’offrent à toi.
En fait il faut savoir si tu veux avant tout créer un jeu d’aventure quelqu’en soit le moyen, ou plutôt de perfectionner en C, tout en faisant quelque chose d’agréable (faire un jeu).
Dans la première option, il faudrait vraiment envisager inform, qui est le mieux, surtout pour un francophone. Je crois d’ailleurs que le compilateur Inform est lui-même codé en C, mais il n’est pas possible de mélanger Inform et C, bien entendu. Faire tout de zéro, c’est comme si tu voulais coder un jeu graphique, sans utiliser SDL (ou autre « framework »), qui gère toutes les ennuyeuses fonctions de base pour te laisser te concentrer sur les spécificités de ton projet (tous les verbes, abréviations, gestion des objets, des personnages etc sont déjà pris en compte avec inform)
Il paraît que la syntaxe de Tads est plus proche d’un langage orienté objet, genre C++ je crois, tu peux également envisager de continuer et terminer les extensions françaises de ce langage : student.ulb.ac.be/~mnizette/frites/
Mais bien entendu on ne veut pas te décourager de tout coder en C si tu te sens plus à l’aise avec, et d’ailleurs c’est le souhait que tu as émis en dernier. L’aventure de ce développement sera sans doute très intéressante et enrichissante pour toi, et on a vu dans le passé plusieurs auteurs qui ont développé des outils spécifiques pour faire leurs jeux (livrant, jadis…)
Reste aussi à savoir si tu veux faire un système réutilisable pour d’autres jeux, (un genre de cadre comme les systèmes existants) ou alors si tu veux inclure ton histoire dans le code du moteur de jeu, et en ce cas cela ne sera utilisable qu’une fois.
Bien sûr que tu peux écrire ton jeu d’aventure en C (pour commencer en tout cas). En 1993, j’en avais commencé (mais pas fini) un très simple dont le fichier exécutable (compilé avec Turbo C) semble encore fonctionner (je l’ai retrouvé dans mes archives !). Il n’est certainement pas très sophistiqué, mais peut-être que des bouts de code pourront t’intéresser. Le voici donc (qui contient le .C et le .H, mais aussi le .EXE) : jlpo.free.fr/REVE.zip
Sinon peut-être que Glk t’intéressera. C’est une librairie (utilisable en C) conçue pour faciliter l’interfaçage texte des jeux d’aventures. Pour commencer ça risque de compliquer les choses plus que de les simplifier, mais voici l’adresse au cas où : eblong.com/zarf/glk/glk-spec-070_0.html#beg