[C#][Conseil] Pour jeux vidéo

Bonjour les gens,

je voudrais me former aux différentes librairies que je pourrais être amenée à utiliser si jamais il me prenait l’envie de développer un jeu vidéo. J’ai regardé tout ce qui se trouve jusqu’à présent, et j’ai un peu de mal à me décider, même si on me pousse pas mal vers le Tao Framework.

Je voudrais un ensemble de librairies qui soient :

  • Documentées (de préférence de manière propre, pour que je puisse avoir la doc dans IntelliSense et par le net)
  • Pas trop compliquées d’utilisation (i.e. pas de transposition des librairies C avec des IntPtr partout et l’obligation de compiler en mode “unsafe”)
  • Portables (ce n’est pas vital, mais ce serait un gros plus)

Libre, pas libre, ça importe assez peu, je ne suis pas religieuse ;-). Qu’est-ce que vous me conseillez pour me lancer et me faire la main ?

Pour info, mon projet de base serait un simple Game of life (Conway) dans lequel on pourrait se déplacer en 3D avec les flèches, les cellules ayant un volume (c’est à peu près tout ce que ma machine peut afficher rapidement). Je travaillerais sur des grilles de 800x800, ce qui me permettrait de voir si mon code est assez rapide.

Merci par avance pour vos conseils avisés B)

T’as pensé à XNA?

pluzun

XNA ne semble pas supporter le réseau : ça me pose problème dans la mesure où j’aimerais bien faire des jeux à plusieurs joueurs. Ça me pose problème car l’une de mes idées est centrée sur le réseau et la communication client/serveur et client/client, justement.

V2 avant noel, qui supporte reseau et device vitualisé B)

+1 pour XNA.

Si tu restes en c#, rien ne t’empeche de coder toi meme tes classes de service pour le réseau, ou d’en utiliser d’autre, en attendant la V2.

-Question doc, , msdn, rien d’autre à dire.
-Pour l’IDE, ca passe sous Visual Studio ( Express compris ).
-Pour la portabilité, faut pas rêver, c’est pas demain la veille que Mono fera tourner du XNA.
-Question Perfs, ça tient franchement la route ( enfin je ne bosse qu’en 2D).

Mon avis perso sur XNA, c’est que c’est juste un vrai bonheur à coder.

Si tu as des questions, je pense qu’on est suffisamment ici pour te filer un coup de main.
Sans compter les innombrables tutos trouvables en ligne.

Pareil hein chloé, tu peux me trouver sur irc si t’as plus de question, mais le temps que tu commences a bidouiller et a bien etre a l’aise avec xna, la V2 sera sortie, donc pleins de trucs bien et nouveau. (Et de toute facon, entre XNA et random engine en MDX, le choix est forcement vite fait)

Moi je dis, il faut commencer par la base B)

D’autant qu’MDX n’est plus supporté B)

c’est pour ca que le choix est forcement vite fait B)

Et count0, un peu de bidouille avec les shaders, et hop, on revient au temps magique de l’assembleur B)

Sinon, y’a CSGL, qui peux être plus ou moins portable (même si j’ai des doutes).
Dans tout les cas, pour les couches réseau, ca sera effectivement du DIY…

Rien n’empeche d’utiliser System.Net avec XNA sur PC en attendant (ou pas vu que ca adresse pas exactement le meme jeu de problemes) la V2 qui devrait rapidement arriver.

Non plus jamais ça ! B)

Haha B) le seul jeu en assembleur que je veuille bien programmer, c’est un générateur de palyndromes (je déteste l’assembleur très sincèrement, de tout mon coeur, je préfère le brainfuck)

Je vais étudier les possibilités, attendre la V2 d’XNA pour voir ce que cela donnera au moment voulu (ne pas me mettre à apprendre à utiliser quelque chose de bientôt obsolète, remplacé d’ici peu) et continuer mes recherches. J’ai pour l’instant exclu Tao, car ce que j’en ai vu semble être une simple hiérarchisation ou un mappage des fonctions des librairies en namespaces et dans des classes statiques : autant travailler en C alors (pitié, pas de troll là-dessus, c’est un constat des choses).

Merci encore pour les conseils. Une fois que j’aurais fait le Game of life de manière satisfaisante, j’ai une idée de jeu sympa, même s’il est peut-être un peu tôt pour en parler. Toutefois, ça peut toujours intéresser des gens, et des suggestions seraient les bienvenues.Si le projet de démo arrive à terme, ça pourra être non pas une révolution pour le jeu vidéo, mais un truc bizarre et fun, une sorte de geek toy. Je pense à un univers fini (mais grand) sur lequel on pourrait intéragir de manière limitée en arretant le temps, puis en relançant l’execution. Au lieu d’avoir une seule forme de vie, on en aurait plusieurs (des carrés rouge, jaune, vert, bleu, marron…), chaque forme intéragissant de manière déterministe avec les autres formes.

A y réfléchir, ce serait un économiseur d’écran amélioré, à la manière d’un vieux jeu Amiga dont le nom m’échappe, qui consistait à regarder un homme dans sa maison lire son journal, regarder la TV, jouer du piano et s’amuser avec son chien… une fantaisie en quelque sorte. Mais bon, c’est pour d’ici quelques mois ça. Qu’en pensez-vous ?

…j’en pense que ça devrait plaire à Bussiere !

Sinon, concernant la V2 d’XNA, je pense qu’il s’agira plus d’un ajout de nouvelles fonctionnalités plutot qu’une refonte du framework.
( C’est plus un souhait, parce que c’est toujours chiant d’avoir à réapprendre à utiliser un framework. )

Peut-être GloP aura des infos la-dessus.

Oui, tu peux commencer avec xna, le temps que la V2 soit la, tu seras prete B)

Little computer people.

Merci, ElRed, c’est exactement ce jeu là. Une petite merveille qui écrit en permanence sur le lecteur disquette (génial pour user la chose).

XNA sera pas obsolete, meme avec la sortie de la v2. 99% de ce que tu fais avec sera toujours utilisable avec la v2 et au dela. On est pas complete fou a (et c’est de toute facon pas possible) reecrire les 3/4 du framework a chaque version. Tu peux parfaitement commencer aujourd’hui avec la v1 et porter facilement en v2 quand elle sort, ou continuer avec la v1 qui sera toujours supportee pendant largement assez longtemps. Tout ce qui est dispo dans le framework est de toute facon deja un gros benefice par rapport a l’existant ailleurs B)

(Et au passage MDX 1.1 est toujours supporté, il evoluera pas en v2.0 mais le 1.1 est toujours officiellement supporté.)