Надежен ли MonoGame? - PullRequest
       48

Надежен ли MonoGame?

28 голосов
/ 14 февраля 2012

Я ищу кроссплатформенную платформу для разработки игр. MonoGame выглядит легко изучаемым и быстро развивающимся, но я вижу, что большинство игр, представленных на их странице, не работают или имеют много ошибок.

Может кто-нибудь объяснить, надежна ли MonoGame для профессиональной разработки мобильных игр для ios / droid?

Ответы [ 5 ]

29 голосов
/ 15 февраля 2012

В настоящее время MonoGame имеет (что нам известно) 28 игр, опубликованных в iOS App Store, 5 игр на Android Market, а также некоторые недавно опубликованные игры на Mac App Store и Linux. Если какое-либо из этих названий не работает, пожалуйста, свяжитесь с разработчиками, чтобы подтвердить, связана ли проблема с MonoGame или с ошибкой в ​​их игре.

MonoGame не идеальна, но, как уже упоминалось, она активно развивается и совершенствуется с помощью каждого. 2 воскресенья назад мы провели презентацию на конференции FOSDEM, в которой рассказали о том, над чем мы будем работать в будущем году. Прежде всего, это поддержка ES 2.0 в выпуске MonoGame 2.5 (возможно, в ближайшие 2-3 недели). Это добавит поддержку шейдеров на все наши платформы. Затем после этого мы сосредоточимся на добавлении 3D и, следовательно, нашей самой большой версии MonoGame 3.0.

Видео с нашей презентацией FOSDEM можно посмотреть здесь - http://www.youtube.com/watch?v=kLWE52mkii0 И дразнящее видео о том, как далеко мы продвинулись вместе с поддержкой 3D здесь - http://www.youtube.com/watch?v=vEAdC-4gfHI - Это демо MIX10 3D Reach, работающее на MacOS X, которое мы впервые показали публично на FOSDEM 2012.

Если вы используете твиттер, следите за нашими успехами @MonoGameTeam. Мы обычно обсуждаем магазин на irc.gnome.org или irc.gimp.org на канале #MonoGame. Мы также пытаемся ответить на вопросы в области обсуждения monogame.codeplex.com.

Надеюсь, приведенная выше информация поможет.

D.

23 голосов
/ 17 мая 2013

Этот вопрос задавался давно, но заслуживает обновления.

У команды MonoGame есть витрина популярных инди-игр. На момент написания статьи это включает:

среди других.

В конце концов, теория интересна, но ничто не сравнится с реальностью увидеть чрезвычайно успешные инди-игры с использованием платформы.

РЕДАКТИРОВАТЬ 27-Jan-2014

По состоянию на январь 2014 года Monogame объявила, что будет поддерживать PS4 , но не сделала такого объявления для XBox One.

РЕДАКТИРОВАТЬ 9-Sep-2014

Добавлено несколько дополнительных игр. Также проверьте # BuiltWithMonoGame хеш-тег в твиттере.

РЕДАКТИРОВАТЬ 1 июня 2017 года Monogame поддерживает XBox One с прошлого 2016 года.

17 голосов
/ 15 февраля 2012

Продукты Mono (www.xamarin.com) становятся все лучше и лучше с каждой версией.

В настоящее время я портирую 2d игру с Windows Phone (XNA) на iphone и использую ExEn (http://andrewrussell.net/exen/) и Monotouch (http://xamarin.com/monotouch)), и она работает очень хорошо. (3D сейчас не поддерживается)

Я провел некоторый тест с использованием monogame (http://monogame.codeplex.com) v2) и обнаружил некоторые проблемы, которые я не нашел, используя ExEn. С ExEn (почти) все работает "из коробки". ExEn включает отличный рабочий пример для Silverlight, iphone, android и т. Д. Этот пример был моим основным источником обучения.

Другим положительным моментом для ExEn является его девелепор: Эндрю Руселл (https://twitter.com/#!/_AndrewRussell), - это XNA / DirectX MVP (http://andrewrussell.net/2011/10/look-at-me-im-an-mvp/)

)

Что не так с ExEn? его развитие кажется остановленным.

Сообщество Monogame и разработчики, кажется, более активны. Недавно они выпустили новую версию (v2.1), которую я не тестировал. v2.1 включает в себя наши первые шаги к поддержке 3D, а также исправление ошибок, оптимизацию и дополнительную поддержку XNA 4.0 (http://cocoa -mono.org / archives / 452 / monogame-берет-предварительный-шаги-в-3d-monogame-2 -1 объявленных /)

Лично я продолжу свое портирование, используя ExEn, потому что все работает до сих пор (и я почти закончу это :), но для моего следующего проекта я попробую моногаму 2.1.

2 голосов
/ 25 апреля 2014

Я только что завершил проект по одновременной / переносной разработке.Для 4 из 5 моих платформ я использую Monogame в качестве основы рендеринга (моя пятая - HTML5 Canvas).Вы можете увидеть мои результаты на http://unseenu.wikispaces.com/AnyGUI.

Мой опыт таков:

The Good:

Я начал с версии C # / JSIL для Canvas, так как она была самой большойнеизвестно.Мой первый порт после этого был OSX и Monogame.

Порт OSX прошел очень гладко.Я уже работал с Monogame раньше, поэтому мне понадобилось около недели, чтобы перенести слой рендеринга.

После этого буквально потребовалось несколько часов, чтобы запустить порт Windows OGL.

Потребовалось около 2 дней, чтобы запустить порт iOS.Около половины этого было связано с проблемами сборки и инструментами iOS.Другая половина работала с сенсорным вводом, поскольку это была моя первая мобильная платформа.

Я сейчас работаю над Android, и это первое место, где я вижу проблемы переносимости Monogame.Отсечение кажется выключенным.Кроме того, это было делом нескольких часов, и снова большую часть времени мы получали правильную среду сборки.Мне не нужно было никаких изменений кода.(Хотя эта проблема с обрезкой - проблема с ручкой.)

Плохо:

Я работаю на OSX, и инструменты могут быть немного прикольными.Самая большая проблема заключается в том, что поддержка MonaGame для Xamarin Studio / Monodevelop просто не работает на Mac.Это не такая большая проблема, как кажется.Шаблоны работают хорошо, что не работает, так это ссылки на библиотеки.Поэтому я только что скачал Monogame отдельно и меняю ссылки на библиотеки в каждом проекте на те, которые были загружены после создания проекта.Когда я научился это делать, у меня было несколько проблем с инструментами.

В общем, C # довольно плохо справляется с управлением версиями.Он очень требователен к библиотечным версиям, отчасти потому, что Microsoft не хотела беспокоиться о обратной совместимости .NET.

Это проявляется в попытках сделать многоплатформенную моногамную штуку.У меня было много горя с этим в прошлом.Несмотря на то, что API Monogame идентичен, когда вы компилируете в него код, который вставляет ссылку на библиотеки конкретной платформы для Monogame в ваш код.Это не так плохо, если это код приложения, поскольку приложения в любом случае нуждаются в собственной сборке для каждой платформы, но если вам нужны промежуточные библиотеки, это означает, что вам нужна отдельная сборка каждой промежуточной библиотеки для каждой платформы, что недопустимо.

Мое решение в этом проекте состояло в том, чтобы определить мой собственный интерфейс, который находится между моей игрой и моногеймом, чтобы я мог вводить реальный моногеймный код через внедрение зависимости во время выполнения.Со временем я напишу об этом на моем сайте более подробно.

Другой вопрос, конечно, заключается в том, что для разработки под эти платформы вам нужен Xamarin Mono для iOS и Android, а это стоит денег.

ТАК короткий ответ такой.В целом, это хороший API, и реализации между платформами в основном верны.Форма, в которой он находится, и инструменты, с которыми вам нужно работать, все еще немного грубые и могут немного огорчить вас.В конце концов, это ничем не отличается от любой другой игровой платформы, над которой я когда-либо работал.

0 голосов
/ 11 октября 2012

Да ... и нет.

Ядро 2.5.1 довольно прочное, но в разных местах все еще есть ошибки.Особенно для меня TouchScreen не работает на iOS.

Команда почти отказалась от строки 2.5, поэтому они не исправлены.Вместо этого все внимание сосредоточено на 3.0.Я только что согласился на 3.0, но он приходит с некоторыми новыми требованиями к активам, которые в настоящее время вызывают у меня горе ...

В общем, я бы назвал это "Альфа-уровень" атм.

...