ceci est un article détaillant ma recherche de la manière la plus agréable pour un programmeur de jeux amateur de faire passer son temps libre à faire un jeu.
Mes exigences: j'ai d'abord regardé Flash, j'ai fait quelques petits jeux mais je doute de la performance. Je voudrais faire un jeu de stratégie assez grand, avec plusieurs centaines d'unités combattant simultanément, explosions et animations incluses. Cartes également zoomables. J'ai vu qu'Adobe a une nouvelle API 3D pour Flash, mais je ne sais pas si cela améliore également les performances 2D, je n'ai rien trouvé de similaire à cette question sur leurs sessions MAX10. Diriez-vous que Flash est une bonne technologie pour créer facilement de grands jeux 2D? J'aime vraiment Actionscript et j'adore la facilité avec laquelle tout est en Flash. Il existe plusieurs moteurs disponibles qui le rendent encore plus facile.
Je fais juste cela pour le plaisir, et ce serait encore mieux s'il y avait des éditeurs d'animation / particules appropriés et si le moteur que je devais utiliser serait disponible pour plusieurs plates-formes. (donc plus de gens peuvent jouer à mon jeu une fois terminé). J'aimerais également l'avoir sur de nombreuses plateformes mobiles. (parce que j'aime la saisie tactile pour une raison quelconque)
Je connais assez bien le framework XNA, mais il n'y a pas de bons moteurs disponibles pour cela, et il ne fonctionnera que sur Windows, ce qui est un énorme arrêt. Encore plus important, vous devez installer le XNA redistribuable chaque fois que vous voulez donner le jeu à quelqu'un. Si j'utilise XNA, je devrais créer tous les outils moi-même, et je devrais probablement les faire avec WPF. (J'adorerais créer des outils avec Adobe AIR, mais malheureusement, les API pour la manipulation d'images, etc. sont bien pires dans Flash que dans XNA / WPF.) Maintenant, je suis conscient que je pourrais créer mon propre moteur qui prend en charge chacune de ces plates-formes, mais franchement, ce serait trop de travail labourant via les API. Après tout, je veux faire un jeu, pas un moteur.
La question devient donc la suivante: existe-t-il un moteur multiplateforme (gratuit ou libre à développer?) Que je pourrais utiliser pour le développement 2D? Je préfère: C #, Actionscript. Cela ne me dérange pas d'utiliser c ++ si le jeu d'outils est supérieur à la moyenne, mais je doute fortement qu'il y ait quelque chose comme ça. Veuillez me prouver le contraire :) Donc résumé: je voudrais utiliser Flash, mais je ne sais pas s'il évolue assez bien. Je ne suis pas un scripteur, je veux de vraies API avec lesquelles je peux travailler à l'intérieur d'un IDE approprié.
Juste pour information, j'ai regardé plusieurs alternatives, je cherche déjà depuis longtemps déjà. Tu m'aiderais beaucoup à prendre une décision finalement.
Côté fonctionnalités, le moteur Flatredball serait idéal. Mais j'ai essayé leurs outils, et franchement, ils sont horribles. Absolument inutilisable, j'aurais besoin de faire le mien à coup sûr. Je n'ai pas regardé leur API, mais si leurs outils sont si mauvais, je n'ai pas envie d'aller plus loin.
Unity3D. Celui-ci est assez sympa, mais je n'ai vraiment pas besoin de 3D , et c'est assez ... beaucoup de travail à apprendre. Je n'aime pas non plus qu'il soit si cher à utiliser pour différentes plates-formes et que je ne puisse le coder que par script. Vous devez acheter chaque plate-forme séparément. La convivialité de l'éditeur est moyenne, le produit dans l'ensemble est assez bon pour la plupart des utilisations, mais l'apprendre moi-même serait exagéré.
Shiva 3D. Cela semble assez bon, mais encore une fois: je n'ai pas vraiment besoin de 3D. La convivialité de l'éditeur est un peu pire que Unity3D à mon avis et il n'était pas clair pour moi comment commencer la programmation. Je pense que cela nécessite C ++ pour le codage, donc c'est aussi un point négatif. Je veux m'amuser, et c # c'est amusant;)
SDL. Franchement, j'aurais encore besoin de porter sur toutes ces différentes implémentations SDL. Et je n'aime pas la programmation de style OpenGL, c'est tout simplement laid. Et il a besoin de c ++, je sais qu'il pourrait y avoir des wrappers disponibles, mais je n'aime pas utiliser des wrappers, car ...
Irrlicht. Beaucoup de fonctionnalités, mais le support semble faible et s'adresse aux passionnés. Les liaisons C # sont supprimées à plusieurs reprises. Je ne suis pas un passionné de moteur, je veux juste faire un jeu. Je ne vois pas cela se produire avec Irrlicht.
Ogre3D. Beaucoup trop de travail, c'est juste un moteur graphique. Pas de support de plateforme multiple et c ++.
Torque2D. Ça coûte quelque chose à utiliser, et je n'ai pas entendu beaucoup de bonnes choses sur le support et la documentation. Coûts supplémentaires pour chaque plate-forme.
la source
Réponses:
Pygame est de loin mon préféré. Étant donné que la programmation en python signifie que vous programmerez rapidement et que les choses 2D sont rapides à faire, pygame sera amusant ...
la source
J'utilise LÖVE depuis un certain temps maintenant et je l'aime beaucoup. Il faudrait apprendre Lua, mais c'est quand même une petite langue amusante à apprendre. Les personnes présentes sur le forum sont extrêmement utiles.
la source
love .
J'ai décidé d'aller avec Flash. La nouvelle API Molehill 3D peut également être utilisée pour dessiner des sprites 2D dans l'espace 3D beaucoup plus rapidement. Je ne vois aucune raison pour laquelle Flash ne devrait pas être assez rapide pour le jeu que j'ai décrit plus tôt. Je vais devoir construire les outils moi-même, mais j'aurais probablement dû le faire de toute façon. L'utilisation d'AIR pour créer des outils est également assez intéressante à mon avis. Flash a également la portée la plus large avec les plates-formes, ce qui est cool.
la source
Essayez SFML
la source
Essayez Cocos2d-x . C'est ce que j'utilise pour mon développement de jeux indépendants.
C'est une plate-forme OpenGL (ES) qui a fait ses preuves et qui a du son, de la physique et même un peu de 3D qui est sortie pour l'iPhone depuis un certain temps maintenant et qui vient à peine de sortir sur d'autres plates-formes.
la source
Puisque vous avez dit que vous aimez Actionscript mais que vous recherchez une plateforme multiplateforme, jetez un œil à HaXe + NME . HaXe est un langage similaire à Actionscript, mais peut être compilé en Flash, Javascript, PHP ou C ++. NME est une bibliothèque similaire à la bibliothèque graphique de Flash, mais fonctionne également sur d'autres plateformes. Cette combinaison vous permet de compiler sur de nombreuses plates-formes différentes.
Je n'ai pas encore utilisé NME, mais mon premier test avec HaXe + Molehill (il y a quelques jours seulement) a produit 60 images par seconde lors du rendu de 10000 sprites rotatifs 16x16 sur mon ordinateur portable. Je n'utilise HaXe que depuis quelques jours et je n'ai pas assez d'expérience avec lui pour être sûr que c'est la bonne chose pour vous, mais ça vaut le coup d'œil.
la source
Je suis personnellement un grand fan d' Allegro 5 , mais c'est une API C. Pourtant, c'est une API simple qui vous écarte et donne accès à:
5.1 ajoutera également le support du shader.
SDL 1.3 se présente également très bien. Sam semble avoir fini de faire les principaux changements d'API, et ce qui est déjà dedans est déjà assez stable. Pourtant ... ce n'est même pas encore la version bêta, et Allegro 5.0 est sorti.
Certes, pour les jeux plus complexes et avancés, vous voudrez probablement coupler Allegro 5 avec une sorte de bibliothèque de physique ( Box2D , par exemple). Pourtant, vous pouvez faire un très long chemin et vous amuser, sans rien de plus qu'Allegro 5, la bibliothèque standard C ou C ++ et votre propre code.
la source