web-dev-qa-db-fra.com

MonoGame est-il fiable?

Je recherche un cadre de développement de jeux multi-plateformes. MonoGame semble facile à apprendre et rapide à développer, mais je vois que la plupart des jeux présentés sur leur page ne fonctionnent pas ou ont beaucoup de bugs. 

Quelqu'un peut-il expliquer si MonoGame est fiable pour le développement de jeux mobiles professionnels ios/droid?

28
xus

Cette question a été posée il y a longtemps, mais mérite une mise à jour.

L’équipe de MonoGame propose un vitrine de jeux indépendants populaires. Au moment de l'écriture, cela comprend:

parmi d'autres.

À la fin de la journée, la théorie est intéressante, mais rien ne bat la réalité de voir des jeux indépendants extrêmement réussis en utilisant la plate-forme.

EDIT 27-Jan-2014

Depuis janvier 2014, Monogame a annoncé qu’ils soutiendraient PS4 mais n’a fait aucune telle annonce pour la XBox One.

EDIT 9-Sep-2014

Ajout de plusieurs jeux supplémentaires. Consultez également la balise de hachage #BuiltWithMonoGame sur Twitter.

EDIT 1er juin 2017 Monogame supporte XBox One depuis 2016.

23

À notre connaissance, MonoGame compte actuellement 28 jeux publiés sur l'App Store iOS, 5 sur l'Android Market Place ainsi que des jeux récemment publiés sur le Mac App Store et les marchés Linux . Si l'un de ces titres échoue , veuillez prendre contact avec les développeurs pour confirmer si le problème est lié à MonoGame ou s'il s'agit d'un bogue 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. Il y a deux dimanches, lors de la conférence FOSDEM, nous avons présenté un exposé sur ce sur quoi nous allons travailler dans l’année à venir. Tout d’abord, la prise en charge de ES 2.0 dans la version 2.5 de MonoGame (dans les deux ou trois semaines à venir). Cela ajoutera un support shader à toutes nos plateformes. Ensuite, nous nous concentrerons sur l’ajout de la 3D et donc de notre plus grosse version MonoGame 3.0.

Vous pouvez voir une vidéo de notre présentation FOSDEM ici - http://www.youtube.com/watch?v=kLWE52mkii0 Et une vidéo de présentation de l’avancement du support 3D - http://www.youtube.com/watch?v=vEAdC-4gfHI - C’est la démo de MIX10 3D Reach exécutée sur MacOS X que nous avons présentée publiquement pour la première fois à FOSDEM 2012. 

Si vous utilisez Twitter, suivez notre progrès @MonoGameTeam . Nous avons tendance à parler en magasin sur irc.gnome.org ou irc.gimp.org sur le canal #MonoGame . Nous essayons également de répondre aux questions dans le monogame. zone de discussion codeplex.com.

J'espère que l'information ci-dessus aide.

RÉ.

29
Dominique

Les produits Mono (www.xamarin.com) s'améliorent de plus en plus avec chaque version.

Actuellement, je porte un jeu en 2D de Windows Phone (XNA) sur iphone et j'utilise ExEn (http://andrewrussell.net/exen/) et Monotouch (http://xamarin.com/monotouch), et cela fonctionne très bien. (3D n'est pas supporté pour le moment)

J'ai effectué des tests avec monogame (http://monogame.codeplex.com) v2 et découvert des problèmes que je ne trouvais pas avec ExEn. Avec ExEn (presque) tout fonctionne comme prévu . ExEn inclut un excellent exemple de travail pour Silverlight, iphone, Android, etc. Cet exemple était ma principale source d’apprentissage.

Un autre point positif pour ExEn est son développeur: Andrew Rusell (https://Twitter.com/#!/_AndrewRussell), est le MVP XNA/DirectX (http://andrewrussell.net/2011/10/look-at-me- im-an-mvp /)

Quel est le problème avec ExEn? son développement semble être arrêté.

La communauté Monogame et les développeurs semblent être plus actifs. Ils ont récemment publié une nouvelle version (v2.1) que je n’ai pas testée. La v2.1 inclut les premières étapes de la prise en charge 3D, ainsi que des corrections de bugs, des optimisations et davantage de prise en charge de XNA 4.0 (http://cocoa-mono.org/archives/452/monogame-takes-tentative-steps-into-3d-monogame -2-1-annoncé /)

Personnellement, je vais continuer mon portage avec ExEn parce que tout fonctionne jusqu’à présent (et je le termine presque :) mais pour mon prochain projet, je vais essayer monogame 2.1.

17
Vackup

Je suis en train de terminer un projet de développement simultané/portable. Pour 4 de mes 5 plateformes, j'utilise Monogame comme base de rendu (ma 5ème est HTML5 Canvas). Vous pouvez voir mes résultats sur http://unseenu.wikispaces.com/AnyGUI .

Mes expériences sont donc:

Le bon:

J'ai commencé avec la version C #/JSIL pour Canvas, car c'était la plus grande inconnue. Mon premier port après cela a été sur OSX et Monogame.

Le port OSX s'est très bien passé. J'ai déjà travaillé avec Monogame auparavant, il m'a donc fallu peut-être une semaine pour que mon calque de rendu soit porté.

Après cela, il a fallu littéralement quelques heures pour que le port Windows OGL fonctionne.

Il a fallu environ 2 jours pour que le port iOS fonctionne. Environ la moitié de cela concernait des problèmes de construction et les outils iOS. L’autre moitié faisait fonctionner les entrées tactiles car c’était ma première plateforme mobile.

Je travaille actuellement sur Android, et c’est la première fois que je vois ce qui semble être des problèmes de portabilité Monogame. Le découpage semble être éteint. En dehors de cela, quelques heures ont été nécessaires pour le mettre au point et, encore une fois, la plupart du temps, nous avons créé un environnement de construction correct. J'ai eu besoin d'aucun changement de code. (Bien que cette chose coupure est un problème de stylo.)

Le mauvais:

Je suis sur OSX et les outils peuvent être un peu funky. Le plus gros problème est que le support Monogame pour Xamarin Studio/Monodevelop ne fonctionne tout simplement pas sur le Mac. Ce n'est pas un problème aussi grave que cela puisse paraître. Les modèles fonctionnent bien, ce qui est brisé, ce 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 qu'elles soient ces bibliothèques téléchargées après avoir créé le projet. Un que j'ai appris à faire cela, j'ai eu peu de problèmes d'outils.

En général, C # gère assez mal le contrôle de version. C'est très pointilleux sur les versions de bibliothèque, en partie parce que Microsoft ne voulait pas s'inquiéter de la compatibilité ascendante .NET.

Cela se voit dans l’essai de faire des trucs monogames multi-plateformes. J'ai eu beaucoup de peine avec cela dans le passé. Même si l'API monogame est identique, lorsque vous compilez du code, elle crée une référence aux bibliothèques de plate-forme particulières de Monogame dans votre code. Ce n'est pas si grave si c'est du code d'application, car les applications ont besoin de leur propre construction pour chaque plate-forme, 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 plateforme, ce qui est inacceptable.

Ma solution dans ce projet a été de définir ma propre interface qui se situe entre mon jeu et monogame afin que je puisse injecter le code monogame réel grâce au temps d'exécution de l'injection de dépendance. J'écrirai à ce sujet éventuellement sur mon site plus en détail.

L’autre problème est bien sûr que vous avez besoin de Xamarin Mono pour iOS et Android pour développer pour ces plates-formes et que cela coûte de l’argent.

Donc, la réponse courte est la suivante. 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 sous laquelle elle est livrée et les outils avec lesquels vous avez besoin de travailler sont encore un peu rudes et peuvent vous causer 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é.

2
user430788

Oui et non.

Le noyau de 2.5.1 est assez solide mais il y a toujours des bogues qui se cachent à divers endroits. Plus particulièrement pour moi, TouchScreen est cassé sur iOS.

L’équipe a quasiment abandonné la ligne 2.5 afin que ceux-ci ne soient pas réparés. Au lieu de cela, l'accent est mis sur la version 3.0. Je viens de converger vers la version 3.0, mais certaines nouvelles exigences en matière d'actifs me posent problème actuellement ...

Dans l'ensemble, je devrais l'appeler "niveau alpha" atm.

0
user430788