Изначально
свою будущую игру «AlienStorm» предполагалось делать по средствам XNA.
Wiki: Microsoft
XNA — набор инструментов с управляемой средой времени выполнения (.NET),
созданный Microsoft, облегчающий разработку и управление компьютерными играми.
XNA стремится освободить разработку игр от написания «повторяющегося шаблонного
кода» и объединить различные аспекты разработки игр в одной системе. Набор
инструментов XNA был анонсирован 24 марта 2004 на Game Developers Conference в
Сан-Хосе, Калифорния. Первый Community Technology Preview XNA Build был выпущен
14 марта 2006.
Хорош он
тем, что можно делать игру для десктопа, на нем хорошо отлаживать, показывать
друзьям, а также без существенных изменений использовать его в Windows Phone, да и знание его сыграло не
маленькую роль.
И тут как
гром среди ясного неба, по правде слухи ходили, но никто не верил… Microsoft от
31 января 2013 заявило, что новые версии XNA более не будут разрабатываться и
XNA не будет доступен в новом Metro интерфейсе Windows 8, а также на Windows 8
RT. А также на Windows Phone 8 будет поддержка XNA приложений в режиме совместимости…
Печали не
было границ…
Разрабатывать
в дальнейшем, я собирался на C#, и для XNA требовалась замена.
Несколько
мучительных запросов к поисковикам показали, что для .NET существуют два
враппера над DirectX: SlimDX и SharpDX.
При этом SlimDX
и SharpDX поддерживают DirectX 11, a XNA – нет.
Сравнив код
примеров, и погоняв простенькие тесты, убедился, что SharpDX в части
взаимодействия с Unmanaged кодом проработано глубже. Кроме того, SharpDX
собирается под Any CPU, что позволяет делать один билд как для x86 так и для
x64 архитектур. Фактически этот выбор на код почти не влияет — это не более чем
врапперы, пишем мы по-прежнему под голый DirectX, разница разве что в
именовании — по-другому названы пространства имен, и где-то другой регистр,
где-то чуть по-другому именуются классы. Судя по заявлениям авторов обоих
врапперов, функционал Direct3D 11 покрыт полностью и работает практически
идеально. Поверим им на слово. Но все равно это было немного не то.
Решил
поискать дальше про аналоги XNA, ведь уже не раз слышал о том, что есть open-source реализации:
Обе представляют
собой кроссплатформенные open-source реализации Microsoft XNA для Mono.
Также уже
были найдены готовые движки:
И случайно
наткнулся на очень неплохую реализацию физики по средствам Silverligh - PhysicsHelperXaml я был мягко говоря обескуражен и
самой идей и реализацией.
И так из
всего этого многообразия приходится выбирать.
Решил с
того, что нужно сперва подвести итоги, что же у меня есть:
- Работающий прототип со своими минусами
- Примеры физики для 2д
- Большая часть графики 2д
- Опыт работы с XNA
Платформы,
под которые должно работать: Windows Phone 7/8, Windows 8, Windows 7+, не плохо бы иметь возможность
портирование на IOS и Android, но это на будущее.
Из готовых
движков очень понравился Unity3D, но мои умения и наработки касаются 2д, но за него я в
будущем еще возьмусь =)
Physicshelperxaml
– ну очень понравился, и реализация, и возможность в плане редактора
использовать студию, но к сожалению, по моим расчетам сделать на этом, что-то
большое и красивое будет проблематично. К примеру все реализации части, которые
я нашел, довольно сильно тормозят, возможно я не умею готовить, да и
возможность даже в будущем сделать версию на ней для IOS и Android очень призрачна…
Выбор мой
пал на MonoGame. У него конечно много своих минусов, но он постоянно
развивается и это радует. Да и на текущий момент, он уже довольно-таки неплох.
Комментариев нет:
Отправить комментарий