PDA

Voir la version complète : Choix d'un moteur



JulLeBarge
28/03/2013, 10h22
Salut à tous amis programmeurs en herbe !

Je sais pas si y'a déjà un sujet de ce genre ici, mais j'ai pas trouvé en tout cas, donc je me lance.

En rejouant ces derniers temps avec Construct Classic dans l'idée de faire un petit roguelike 2D à la Pixel Dungeon, comme à chaque fois que j'y retouche je me demande si Construct est le bon choix.
En effet, même si ce soft permet de démarrer rapidement, avec des fonctions toutes prêtes, on se sent bien vite à l'étroit dès qu'on veut aller plus loin (genre ici pour faire de la génération procédurale)

Se pose alors la question du choix du moteur de jeu. Dans mon cas, je connais le VB.net (et un peu C# aussi), le Java, et j'ai fait du C++ y'a un moment (mais j'aime pas des masses...).
Bref, à votre avis, faut-il mieux partir sur:
- du Java avec un lib graphique à définir
- du C#/XNA
- Unity3D (fait pour de la 3D mais bon, y'a des projets 2D qui voient le jour)
- autre solution que je connais pas ?

Mon idée c'est de faire un petit jeu pour apprendre des choses, et j'aimerai bien le rendre portable sur Windows, Linux, Android (mais bon là je rêve sans doute un peu...).
Faut que tout ça soit gratuit, j'ai pas un rond à dépenser dans un logiciel (enfin si j'ai Unity3D Pro obtenu lors d'une promo...).

Des avis sur la question ? De manière plus globale ce sujet pourrait permettre de discuter des différents moteurs/langages/librairies et de les comparer.

Louck
28/03/2013, 11h28
Cela dépend ce que tu veux vraiment faire.
Mieux tu cibles ce que tu veux faire, mieux tu pourras choisir tes outils et tes armes pour réaliser ton projet.

Bien sûr, il vaut mieux utiliser les outils qu'on connait déjà (et surtout qu'on aime utiliser) pour éviter de perdre le double du temps à apprendre à l'utiliser et/ou à corriger les erreurs.
Mais en utilisant le bon outil (en plus de savoir ce que tu veux réaliser), tu perdras beaucoup moins de temps à développer ton projet.

Car le pire ennemi d'un amateur (dans le sens "je veux développer un jeu pour le fun") c'est le temps: Plus le développement prend du temps, plus la motivation baisse... et ainsi la qualité du jeu.


Pour un RogueLike 2D, en général, n'importe quel techno fait l'affaire. Si tu veux réaliser ET finir ton premier jeu, autant utiliser un outil/langage que tu connais le mieux.


De mon côté, je prévois aussi de réaliser un RL en 2D. Je vais coder en Java avec la librairie LWJGL. Pas parce que c'est le "meilleur", mais par habitude de travailler avec (et parce que j'ai développé mon moteur de jeu autour de cette librairie).

La librairie LWJGL n'est qu'un regroupement de d'autres librairies (OpenGL, OpenAL, etc...). Il existe des moteurs de jeux faites autour de cette librairie en Java, dont Slick et jMonkeyEngine. Si tu aimes développer en Java et que tu veux éviter de créer ton propre moteur de jeu, je te recommande de faire un tour sur ces deux derniers ;).

JulLeBarge
28/03/2013, 11h52
Ce que je veux faire c'est un petit fortement inspiré des mécanismes de Pixel Dungeon, mais dans un autre univers (sci-fi) et avec un autre look que du pixel-art.

Unity m'intéressait pas mal car je connais déjà un peu, c'est facile à prendre en main et puissant, mais par contre pas du tout adapté pour la 2D, et faut pas mal bidouillé finalement pour ça. Mais le côté multi-plateforme est plutôt sympa.

Java je connais mais je suis pas un expert, cela dit partir là-dessus serait une bonne façon de me perfectionner (et de compléter mes connaissances qui servent dans mon taf). Je vais me renseigner sur les moteurs que tu cites. J'avais testé libgdx,tu en penses quoi ? C'est un moteur de jeu ça aussi non ?

Et pour toi rester sur Construct ça n'est pas une option ?

beuargh
28/03/2013, 11h56
Sinon t'as le développez couché de Sébum qui traite de la création d'un roguelike en XNA (C#), si ça peut t'intéresser.

Louck
28/03/2013, 12h05
Je ne connais pas trop Construct, donc je ne pourrais te répondre. Mais quand on veut faire quelque chose d'un peu plus complexe (par exemple pour le RL: la génération du terrain), ces genre d'outils peuvent montrer très rapidement leurs limites.

JulLeBarge
28/03/2013, 13h03
Sinon t'as le développez couché de Sébum qui traite de la création d'un roguelike en XNA (C#), si ça peut t'intéresser.

Ouaip, pas bête, j'ai suivi ça d'un oeil distrait via le magazine, faudrait que je m'y mette.

Black Wolf
28/03/2013, 13h37
Le risque de partir dans des langages + librairies plutôt que sur un moteur, c'est que comme le disait Lucskywalker le temps passé au développement influe sur la motivation. Du coup tu risque de te retrouver avec une grosse base de code, un moteur perso etc.. et plus le courage d'emboiter sur le design du jeu en lui même. Etant programmeur et éternel insatisfait de la qualité de mon code, je ne compte même plus les réécritures de tout le code de mon ptit moteur de jeux et pas grand chose à compter au niveau des résultats de jeux que j'aurais fini avec ce moteur (des projets réalisé en cours pour la plupart car j'étais bien obligé de les finir).

Si tu connais le C# et que t'as déjà un peu bossé sous Unity tu pourrais en effet gagner du temps et te concentrer sur le gamedesign, en tout cas perso j'en suis tombé amoureux (même si j'adore toujours me prendre la tête à réinventer la roue en codant un truc bien complexe en C++ ou autre). Par contre comme tu t'en es déjà rendu compte, unity manque un peu d'outils pour bosser sur de la 2d. Rien de bien grave et tu t'en sors généralement avec des packages gratuits mais pas toujours toujours très stables ou fiables, et rien de plus énervant de finir par perdre plus de temps sur quelque chose qui aurait du t'en faire gagner.

JulLeBarge
28/03/2013, 13h52
C'est ça le risque avec Unity: faire un petit fps dans un terrain ouvert, y'a masse de tutos et en une après-midi on a déjà un truc sympa. Idem avec l'UDK d'ailleurs.
Par contre dès qu'il s'agit de rentrer dans le détail des choses, on se rend compte que les packages gratuits sont limités et/ou buggés. Je prends exemple sur un simple jeu de voiture que j'avais commencé et laissé tombé car impossible de régler finement le comportement de ma voiture comme je le voulais. Il manquait des variables ou certaines étaient liées entre elles alors que ça n'était pas nécessaire. C'était la base du jeu, j'ai même pas cherché à aller plus loin du coup, je savais que j'allais passer des heures à galérer sur ça, donc la motivation est partie.

J'avais aussi testé la 2D sur Unity, et j'ai vite vu que c'était pas super simple, et qu'on passe presque le même temps au final à bidouiller qu'à coder ça en C#... Après ça à peut-être changé depuis, s'il y avait un petit addon pour gérer facilement des sprites et animations ça aiderait beaucoup !

En tout cas, clairement ma difficulté sera de garder la motivation dans le temps, du coup je me dis que suivre le Développez Couché serait un bon moyen d'apprendre des choses tranquillement, en étant bien guidé, et avec une aide à la motivation tous les 15 jours ! Je crois que je vais choisir cette voie pour le moment. Mais la discussion reste ouverte !

Sahnvour
28/03/2013, 14h08
J'avais testé libgdx,tu en penses quoi ? C'est un moteur de jeu ça aussi non ?

libGDX c'est bien (quand on fait du java :p). Par contre, c'est pas un moteur de jeu même si la lib fournit quelques trucs bien pratiques comme l'architecture en "screens".
En plus tu peux garder le même projet et en faire une version PC/web/Android assez facilement donc côté portabilité c'est pas mal.

Black Wolf
28/03/2013, 16h11
Pour Unity et la 2D j'avais trouvé une petite série de tutos (http://www.rocket5studios.com/tutorials/) sur comment s'en sortir avec uniquement des outils gratuits.

J'avais joué un peu aussi avec RagePixel (http://ragepixel.com/) qui était vraiment sympa pour avoir des résultats très rapidement pour un style "pixel art", mais pas mal de bugs m'avaient emmerdés à l'époque... Le type s'étant fait embaucher par unity ça fait longtemps qu'il n'a plus mis son projet à jour et je doute que cela fonctionne avec les dernières versions.

PumpkinHead
29/03/2013, 12h11
Sinon teste Construct 2 ya une version gratos, et tu seras pas depayse.
Apres pour un rogue like ca risque d'etre dur de toute facon.

un rogue like fait avec C2 ( j'ai pas teste):

http://dirigogames.com/?page_id=161

saroumana
31/03/2013, 11h24
Pour un roguelike en 2D, j’hésiterais pas entre unity qui est contraignant et pas adapté a la 2D, et XNA. La partie affichage sera probablement pas le plus complexe et qu'apporterait un moteur plus évolué dont tu n'utiliseras pas 99% des fonctions et qui te restreindra dans la méthode de développement.

Voltrek
31/03/2013, 19h39
Personnellement, je choisis comme ça :


Jeu en 3D => Unity
Jeu en 2D => Java, C# ou ActionScript selon la plateforme visée

JulLeBarge
04/04/2013, 09h50
Pour Unity et la 2D j'avais trouvé une petite série de tutos (http://www.rocket5studios.com/tutorials/) sur comment s'en sortir avec uniquement des outils gratuits.

J'avais joué un peu aussi avec RagePixel (http://ragepixel.com/) qui était vraiment sympa pour avoir des résultats très rapidement pour un style "pixel art", mais pas mal de bugs m'avaient emmerdés à l'époque... Le type s'étant fait embaucher par unity ça fait longtemps qu'il n'a plus mis son projet à jour et je doute que cela fonctionne avec les dernières versions.

Pas mal ces tutos, je m'y pencherai certainement, merci ! ;)


Sinon teste Construct 2 ya une version gratos, et tu seras pas depayse.
Apres pour un rogue like ca risque d'etre dur de toute facon.

un rogue like fait avec C2 ( j'ai pas teste):

http://dirigogames.com/?page_id=161

C2 n'est qu'une version encore plus castrée de Construct Classic. J'ai testé, mais sans payer on peut pas faire grand chose de très compliqué avec, surtout qu'il manque plein de plugins et fonctions bien pratiques dans Construct Classic (genre les familles).


Pour un roguelike en 2D, j’hésiterais pas entre unity qui est contraignant et pas adapté a la 2D, et XNA. La partie affichage sera probablement pas le plus complexe et qu'apporterait un moteur plus évolué dont tu n'utiliseras pas 99% des fonctions et qui te restreindra dans la méthode de développement.

Après avoir suivi quelques tutos sur XNA, en effet il me semble que c'est le plus adapté pour ce que je veux faire.

Au final, je vais continuer avec XNA, mais par curiosité j'essaierai ensuite de refaire un petit test sur Unity, notamment pour y introduire un peu de 3D.
Enfin ça c'est une fois que j'aurai bien avancé sur mon projet avec XNA, autant dire dans très longtemps ! :p

PumpkinHead
11/04/2013, 15h36
Hmmm bah moi jai pris la version standard de C2 au moment ou ce n'etait pas cher (20 euros) du coup il y a de plus en plus de features interessantes et le soft est de plus en plus complet. Et compare a classic c'est bien plus agreable.
Mais oui il faut passer a la caisse et c'est oriente browser game.. meme si il y a un wrapper pour les export sous windows.

JulLeBarge
11/04/2013, 15h54
Entre temps j'ai progressé sur XNA de mon côté, et j'ai réussi à sortir un générateur aléatoire de donjon (enfin de salles + couloirs pour être précis) en 2D, assez sommaire pour le moment mais maintenant que j'ai cette base, je vais pouvoir peaufiner (ajouter des portes, des décorations diverses, etc...)

Elriks
11/04/2013, 19h06
Sous XNA je peux te filer un Roguelike que j'avais débuté j'ai filé les codes sources dans le coin l'année dernière sur une autre discussion

http://forum.canardpc.com/threads/70228-YOUPI-%21-D%C3%A9cidez-de-la-saison-2-de-D%C3%A9veloppez-Couch%C3%A9?p=5708133&viewfull=1#post5708133

Il est full commenté en FR (mon collègue qui s'en est chargé) donc pourra éventuellement t'aider même si j'en doute vu que tu as bien avancé

JulLeBarge
12/04/2013, 10h28
Sous XNA je peux te filer un Roguelike que j'avais débuté j'ai filé les codes sources dans le coin l'année dernière sur une autre discussion

http://forum.canardpc.com/threads/70228-YOUPI-%21-D%C3%A9cidez-de-la-saison-2-de-D%C3%A9veloppez-Couch%C3%A9?p=5708133&viewfull=1#post5708133

Il est full commenté en FR (mon collègue qui s'en est chargé) donc pourra éventuellement t'aider même si j'en doute vu que tu as bien avancé

Sympa merci, je vais regarder ça avec beaucoup d'attention !

Brouette Quantique
13/04/2013, 23h40
J'avais fait un action/rpg sur Construct 2 en quelques jours (2) pour un projet étudiant.
C2 permet énormément de choses, pour peu qu'on soit créatif avec l'engine.

Puis j'ai entendu dire qu'il se pourrait que la licence ne soit qu'un simple .txt à placer à la racine.
De là à dire que je possède ledit fichier texte...