MonoGame: фреймворк для инди-разработчиков

Разработчик фреймворка MonoGame, на котором создавался Bastion и Axiom Verge, рассказал изданию 80.lv о возможностях пакета и работе над ним. Мы приводим перевод материала.

monogame

Строго говоря, MonoGame – не движок для игр. Это реализация фреймворка Microsoft XNA c открытым кодом, и им пользуются инди-разработчики по всему миру. С его помощью создавался Bastion, Towerfall: Ascension, Axiom Verge, Apotheon и Infinite Flight. Мы поговорили о продукте с главным разработчиком MonoGame Стивом Уильямсом (Steve Williams) и обсудили некоторые его возможности.

Об авторах

Работу над MonoGame сейчас веду я и Том Спилман (Tom Spilman). Я – профессиональный разработчик игр со стажем в 17 лет. Том – тоже опытный девелопер. Он является сооснователем студии Sickhead Games в Хьюстоне, штат Техас, а я большую часть своей профессиональной жизни провел в Krome Studios, которая находится в Брисбене, штат Квинсленд. Нам помогают Дэн Эллис (Dean Ellis) и Доминик Луис (Dominique Louis) из Англии.

MonoGame

MonoGame – opensource-реализация фреймворка Microsoft XNA. Фреймворк – это, скорее, абстрактная идея платформы, он определяет базовую структуру программной системы. Движок же представляет собой более цельную конструкцию, которая включает в себя редактор среды, графический пользовательский интерфейс, систему частиц, физику и так далее. Зачастую в него входят инструменты, с помощью которых можно создавать внутриигровой контент.

Пользователям MonoGame доступны встроенные библиотеки, пайплайны для производства контента, готовые шаблоны проектов вместе с программой для установки, а также полный программный код, если они клонировали Git-репозиторий с GitHub.

Начать создавать 2D-игру – очень просто. Большинство пользователей MonoGame используют MonoGame именно с этой целью. Класс SpriteBatch – один из наиболее часто используемых классов – управляет большей частью задач по рендеру 2D. Так же, как и в случае с любым движком или фреймворком, производительность будет зависеть от того, как именно используется система. SpriteBatch использует рендер наиболее эффективным способом – в зависимости от того, какие именно задачи были поставлены.

backfire

Tower Fall Ascension

С 3D все чуть сложнее, но MonoGame справляется и с этой задачей. Примером того, как с помощью этого инструмента создали 3D-симулятор полетов, может служить игра Infinite Flight от Flying Development Studio LLC.

Кроссплатформенность

Основа кроссплатформенной поддержки – язык C#. С использованием .NET Framework от Microsoft для Windows-платформ и Mono для остальных большая часть кода при кроссплатформенной разработке остается без изменений. Необходимость в платформозависимом коде, как правило, появляется при работе с отдельными компонентами, такими, как Direct3D 11 на Windows или OpenGL на Mac и Linux. Благодаря такому подходу, платформозависимый код остается частью строго определенных модулей и не засоряет основную часть кода. В результате девелоперы, которые работают с MonoGame, могут взять код, написанный для одной платформы, и использовать его на другой платформе – и при этом не вносить почти никаких или совсем никаких изменений.

Самые крупные проекты

Выше уже упоминалась Infinite Flight. Это одна из самых крупных игр, созданных с помощью MonoGame. Среди других проектов — Bastion, Towerfall: Ascension, Axiom Verge, Apotheon и Square Heroes.

Коммьюнити

Размер коммьюнити никто специально не измерял, но, по моим оценкам, тысячи людей по всему земному шару пользуются MonoGame и создают с его помощью самые разные продукты – от небольших демок до крупных коммерческих проектов. На GitHub у MonoGame 221 контрибьютор (contributor, в этом контексте тот, кто на добровольных началах дорабатывает код, – прим. редакции) и 80 участников на канале проекта в Gitter. MonoGame можно скачивать и использовать абсолютно бесплатно. Большинство разработчиков с помощью MonoGame создают игры для десктоп-платформ (Windows, Mac, Linux). На втором месте по популярности – iOS и Android.

elsenova

Axiom Verge

На сайте проекта есть форумы для общения, ссылка на канал проекта в Gitter и на Git-репозиторий. Еще мы активно общаемся в Twitter. Там часто используются хэштеги #MonoGame и #BuiltWithMonoGame. Раз в месяц или два мы проводим более-менее регулярные встречи с помощью Google Live Hangout, где присутствуют как члены команды MonoGame, так и наиболее заметные представители коммьюнити. Подробнее об этом можно узнать на канале MonoGame в YouTube.

Мы бываем на самых разных мероприятиях по всему миру, хотя своей будки у нас обычно нет. Том регулярно приезжает на GDC в Сан-Франциско, Доминик и Дин часто посещают эвенты в Лондоне и окрестностях, а я бываю на Game Connect Asia Pacific в Мельбурне.

Инструкция для начинающих

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

Кроме того, на канале MonoGame в YouTube много полезных роликов. Пользователь MonoGame в YouTube. Пользователь Саймон Джексон (Simon “Darkside” Jackson) на своем канале, посвященном MonoGame, постит разные полезные туториалы.

screen1

Apotheon

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

Перевела Ирина Смирнова

Источник: 80.lv

Комментарии
Добавить комментарий
Новости по теме