Est MonoGame fiable?
je cherche un cadre de développement de jeux multiplateformes. MonoGame semble facile à apprendre et rapide à développer, mais je vois la plupart des jeux présentés à leur page ne fonctionnent pas, ou ont beaucoup de bogues.
est-ce que quelqu'un peut expliquer si le MonoGame est fiable pour le développement de jeux mobiles professionnels iOS/droid?
5 réponses
cette question a été posée il y a longtemps, mais elle mérite d'être mise à jour.
l'équipe MonoGame a un showcase de jeux indie populaires. Au moment de la rédaction qui comprend:
- Fès (Xbox et Windows)
- crânes du Shogun (Windows, Windows Phone, Playstation4)
- Vol Infini (iOS, Windows Phone et Android in développement)
- Bastion (iOS, Mac, Linux, Windows, Chrome)
- Transistor (Windows, Playstation 4)
- Mercenary Kings (Windows, Playstation 4, Playstation Vita, Mac OSX)
- TowerFall: Ascension (Playstation 4, XBox One)
- Stardew Valley (Windows, Linux, Mac OSX, PlayStation 4, Xbox One, Nintendo Switch)
parmi les autres.
a la fin de la journée la théorie est intéressante, mais rien ne bat la réalité de voir des jeux indie extrêmement réussis en utilisant la plate-forme.
EDIT 27-Jan-2014
A partir de Janvier 2014 Monogame a annoncé qu'ils soutiendront PS4 mais n'a pas fait une telle annonce pour la XBox One.
EDIT 9-Sep-2014
ajout de plusieurs jeux supplémentaires. Découvrez également les #BuiltWithMonoGame hashtag sur twitter.
EDIT 1-June-2017 Monogame supporte XBox One depuis 2016.
MonoGame a actuellement (que nous connaissons ) 28 jeux publiés sur L'iOS App Store, et 5 sur L'Android Market place et aussi quelques jeux récemment publiés sur le Mac App Store et les marchés Linux. Si l'un de ces titres échoue, veuillez entrer en contact avec les développeurs pour confirmer si le problème est lié au MonoGame ou à un bug dans leur jeu.
MonoGame n'est pas parfait, mais, comme déjà mentionné, il est activement développé et amélioré avec l'aide de tous. 2 dimanches il y a un an, nous avons fait une présentation à la Conférence du FOSDEM qui a souligné ce sur quoi nous travaillerons au cours de l'année à venir. Tout d'abord, ES 2.0 support dans le monogame 2.5 release ( avec un peu de chance dans les 2-3 prochaines semaines ). Cela ajoutera un support shader à toutes nos plateformes. Ensuite, nous nous concentrerons sur l'ajout de 3D et donc de notre plus grand MonoGame 3.0.
Vous pouvez voir une vidéo de notre FOSDEM présentation ici - http://www.youtube.com/watch?v=kLWE52mkii0 Et un teaser video of how far we are along with 3D support here -http://www.youtube.com/watch?v=vEAdC-4gfHI - c'est la démo MIX10 3D Reach qui tourne sur MacOS X que nous avons présentée publiquement pour la première fois au FOSDEM 2012.
si vous utilisez twitter, Suivez notre progression @MonoGameTeam. Nous avons tendance à parler affaires sur irc.gnome.org ou irc.gimp.org sur le canal #MonoGame. Nous essayons également de répondre aux questions dans le monogame.codeplex.com discussion area.
j'espère que ci-dessus informations d'aide.
D.
actuellement je transfère un jeu 2d de Windows Phone (XNA) à iphone et en utilisant ExEn (http://andrewrussell.net/exen/) et Monotouch (http://xamarin.com/monotouch) and it works really fine. (3d est pas pris en charge pour le moment)
j'ai fait quelques tests en utilisant monogame (http://monogame.codeplex.com) v2 et j'ai trouvé des problèmes que je n'ai pas trouvé en utilisant ExEn. Avec ExEn (presque) tout fonctionne hors de la boîte. ExEn inclut un exemple de travail excelent pour Silverlight, iphone, android, etc. Cet exemple était ma principale source d'apprentissage.
un autre point positif à ExEn est son développeur: Andrew Rusell (https://twitter.com/#!/_AndrewRussell), is XNA / DirectX MVP (http://andrewrussell.net/2011/10/look-at-me-im-an-mvp/)
Qu'est-ce qui ne va pas avec ExEn? ses le développement semble s'être arrêté.
communauté Monogame et développeurs semble être plus actif. Ils ont récemment publié une nouvelle version (v2.1 v2.1 inclut nos premières étapes vers le support 3D ainsi que des corrections de bugs, des optimisations et plus de support XNA 4.0(http://cocoa-mono.org/archives/452/monogame-takes-tentative-steps-into-3d-monogame-2-1-announced/)
personnellement je vais continuer mon portage en utilisant ExEn parce que tout fonctionne jusqu'à présent (et j'ai presque fini :) mais pour mon prochain projet je vais essayer le monogame 2.1.
je termine juste un projet de développement simultané / portable. Pour 4 de mes 5 plates-formes j'utilise Monogame comme base de rendu (mon 5ème est HTML5 Canvas). Vous pouvez voir mes résultats à http://unseenu.wikispaces.com/AnyGUI.
Mes expériences sont donc:
Bon:
j'ai commencé avec la version C#/JSIL pour Canvas car c'était la plus grande inconnue. Mon premier port après ça était à OSX et Monogame.
le port OSX est allé très doucement. J'ai déjà travaillé avec Monogame avant donc il m'a fallu peut-être une semaine pour faire porter ma couche de rendu.
après cela, il a littéralement fallu quelques heures pour faire fonctionner le port Windows OGL.
il a fallu environ 2 jours pour faire fonctionner le port iOS. Environ la moitié de cette étude portait sur les problèmes de construction et les outils d'iOS. L'autre moitié fonctionnait avec des touches tactiles, car c'était ma première plate-forme mobile.
je travaille sur Android en ce moment, et c'est le premier lieu je vois ce qui semble être des problèmes de portabilité Monogame. L'écrêtage semble être désactivé. À part cela, c'était une question d'heures pour la relever et encore une fois la plupart du temps pour obtenir le bon environnement de construction. Je n'avais pas besoin de changer de code. (Bien que cette coupure soit un problème de stylo.)
La Mauvaise:
je suis sur OSX et les outils peuvent être un peu funky. Le plus gros problème est que le support de Monogame pour Xamarin Studio/Monodevelop ne fonctionne tout simplement pas sur le Mac. Ce n'est pas comme un gros problème, tant que ça sonne bien. Les modèles fonctionnent très bien, ce qui est cassé sont les références de la bibliothèque. Donc je viens de télécharger Monogame séparément et je change les références de bibliothèque dans chaque projet pour être ces bibliothèques téléchargées après que j'ai créé le projet. J'ai appris à faire ça, j'avais peu de problèmes d'outils.
en général, C # gère assez mal le contrôle de version. Son très difficile sur les versions de bibliothèque, en partie parce que Microsoft ne voulait pas se soucier de. compatibilité.
ceci apparaît dans le fait d'essayer de faire des choses multi-plate-forme monogame. J'ai eu beaucoup de chagrin avec qui dans le passé. Même si L'API monogame est identique, lorsque vous compilez du code contre celui-ci, cela crée une référence aux bibliothèques de plate-forme particulières pour Monogame dans votre code. Ce n'est pas si mal si c'est le code d'application, puisque les applications ont besoin de leur propre construction pour chaque plate-forme de toute façon, mais si vous voulez des bibliothèques intermédiaires, cela signifie que vous avez besoin d'une construction séparée de chaque bibliothèque intermédiaire pour chaque plate-forme, ce qui est inacceptable.
ma solution dans ce projet a été de définir ma propre interface qui se trouve entre mon jeu et monogame afin que je puisse injecter le code monogame réel par l'injection de dépendances t Temps d'exécution. Je vais finir par écrire à ce sujet sur mon site plus en détail.
l'autre problème bien sûr, c'est que vous avez besoin de Xamarin Mono pour iOS et Android pour développer pour ces plates-formes et qui coûte certains argent.
donc la réponse courte est celle-ci. En général, c'est une bonne API et les implémentations sont généralement fidèles entre les plates-formes. La forme qu'il prend et les outils dont vous avez besoin pour travailler sont encore un peu rudes et peuvent vous donner du chagrin. En fin de compte, ce n'est pas si différent de toutes les autres plateformes de jeu sur lesquelles j'ai travaillé.
Oui... et pas de.
le noyau de 2.5.1 est assez solide mais il y a encore des bugs qui rôdent à divers endroits. Plus particulièrement pour moi, Écran Tactile est cassé sur iOS.
l'équipe a à peu près abandonné la ligne 2.5 donc ceux-ci ne sont pas en train de se réparer. Au lieu de cela, tout l'accent est sur 3.0. Je viens de convertir à 3.0, mais il vient avec de nouvelles exigences pour les actifs qui me donnent actuellement chagrin...
tout dans tout ce que j'aurais à appeler" niveau Alpha " atm.