Достаточно ли XNA GS для создания 2D онлайн-игры? - PullRequest
2 голосов
/ 20 сентября 2011

Я имею в виду, я видел количество игровых движков, основанных на XNA.

Является ли сам XNA GS игровым движком? Если нет, то в чем заключается разница, и мне следует использовать игровой движок?

Ответы [ 3 ]

3 голосов
/ 20 сентября 2011

XNA - это framework для создания игр и в настоящее время является частью Windows Phone SDK.(Название несколько вводит в заблуждение - вы можете создавать программы для ПК, Xbox 360 и телефонных платформ, но недавно MS решила расширить рынок телефонов).Фреймворки обычно указывают на то, что требуются адекватные знания в области программирования, и мало что делается для «перетаскивания».

Дизайн фреймворка был разработан с нуля для использования в играх, хотя в последнее время он также стал адаптированным для приложений Windows Phone 7.Тем не менее, он предоставляет множество вспомогательных функций для игр, таких как встроенные таймеры, рендеринг спрайтов и сложные математические функции.Это оставляет программисту больше времени, чтобы сосредоточиться на игровой логике и более сложных реализациях для рендеринга, аудио и т. Д.

Так что опытному программисту достаточно легко погрузиться в игру и быстрее создавать игры, но это не так.ограничительный и он не будет держать вашу руку на всем протяжении.Разнообразие двигателей, доступных для этого, показывает гибкость XNA.Лучшие движки довольно мощные и способны производить графику AAA-калибра, а также есть специализированные движки для аудио (например, встроенный в Xact) или физики (например, BEPU или LibJigX).

3 голосов
/ 20 сентября 2011

XNA - это библиотека игр.

Библиотека игр находится на уровне кода. Это то, что упаковывает кучу полезной графики, звука и других связанных с игрой кодов (классов, методов и т. Д.), Которые вы можете вызывать и интегрировать в ВАШ код. В целом вы все еще разрабатываете весь код (классы, методы и т. Д.) Для своей игры, но наличие полезной библиотеки делает ее более удобной (намного больше), так что вам не нужно будет общаться с видеокартой напрямую). У XNA есть довольно сложный вспомогательный код, например, он создаст для вас матрицы рекламных щитов и т. Д. Но даже это ... ВЫ по-прежнему несете ответственность за размещение этого вспомогательного кода в нужных местах.

Игровой движок - это приложение, которое вы используете. Вы можете определить определенные параметры, и они обычно обеспечивают достаточную свободу и гибкость (обычно с помощью языка сценариев) с тем, что можно сделать, но в конечном итоге вы не пишете базовый код для игры. Это означает, что вы можете зайти так далеко и так сильно измениться. Вы не можете связываться с игровым циклом, вы не можете написать свои собственные алгоритмы для определенных вещей низкого уровня (не уверен, что они позволяют вам изменять, вероятно, зависит от движка). Они автоматически справляются со многими столкновениями и прочим ... но это означает ограничение свободы.

0 голосов
/ 27 сентября 2011

Зависит от того, что вы имеете в виду «онлайн».

Если вы имели в виду браузер - тогда НЕТ.Flash / Silverlight / Unity - это путь.

Если вы имели в виду интерактивное взаимодействие, то да - ваша игра будет приложением XNA, работающим на стороне клиента.Помните, что в таких случаях клиент / пользователь «должен» работать в среде Windows (ПК / Win phone).

...