Поскольку игры основаны на различных подсистемах, таких как графика (DirectX, OpenGL, ...), звук (OpenAL, Ogg Vorbis, ...) или физика (столкновения, ...), какие библиотеки, как вы знаете, полезны для разработки игр на C # и какие преимущества они предлагают?
58
Очевидно, есть XNA от самого Microsoft: http://creators.xna.com/en-US/ Игры, созданные с помощью XNA, работают на Windows и (через клуб Creators) на Xbox360. Я думаю, что это идеально, чтобы промокнуть в быстром развитии игры. Я еще не получил мокрые ноги в XNA, поэтому пока не могу судить об этом. Но, глядя со стороны, это выглядит лучше, чем нарезанный хлеб. Конечно, вы не можете делать все с этим. Но вы можете делать быстрые прототипы и рабочие игры инди-качества и не только.
Другая библиотека - SlimDX - http://slimdx.org/, которая, по мнению некоторых, ближе к металлу / реальности, если вы не хотите работать с XNA. Таким образом, отлично подходит для быстрого создания прототипов, особенно если ваша основная разработка игр - C или C ++. Кроме того, отлично подходит для инструментов.
источник
Есть также порт библиотеки C SDL для .NET, SDL.NET . Лично я бы использовал XNA в C #, потому что это просто хорошо собранная библиотека, очень настраиваемая и удобная для начинающих.
источник
Отказ от ответственности: Следующая рекомендация может быть или не быть предвзятой из-за моего личного участия в разработке этого движка.
Duality - это расширяемый 2D игровой движок, который поставляется с системой редактора WYSIWYG. Краткая информация:
Если вы хотите попробовать, вы можете либо напрямую загрузить последний бинарный выпуск, либо скомпилировать его самостоятельно, используя исходный код из GitHub . Чтобы получить больше информации, посещение информационного сайта и форумов сообщества может окупиться. Просто перейдите по ссылкам с информационного сайта, который я включил выше.
источник
BulletX - это 100% C # порт Bullet Physics, который можно использовать с XNA.
источник
Что касается инструментов, то невероятно полезная библиотека - это « Managed Extensibility Framework », которая теперь фактически является частью .Net 4.0. Это позволяет вам легко создавать плагины или автоматически обнаруживать экземпляры классов, что очень полезно для ваших инструментов.
источник
Самым большим (и наиболее проверенным) по сей день является каркас XNA. Вы даже можете использовать XNA для создания своих наборов инструментов. Преимущество состоит в том, что у вас есть фреймворк, который включает в себя необходимые библиотеки (физика, звук, графика), упакованные в один пакет, и огромный плюс в том, что если вы делаете что-то действительно хорошо, вы можете попробовать и внедрить его в XBLA.
источник
XNA - это довольно большая библиотека для ПК / Xbox360, которая поддерживает графику, звук, ввод и т. Д.
источник
Tao Framework (используется в этой книге , что я нашел очень полезным: C # Программирование игр для Serious Создание игры ), который оборачивает OpenGL и многие другие функции полезны игры программирования (доступные через C #) стоит посмотреть. Однако он был заменен библиотекой Open Toolkit (OpenTK), о которой упоминалось в другом ответе. Я нахожу странным, что книга использует Tao Framework вместо OpenTK, учитывая, что Tao неактивен около 2 лет (и книга совершенно новая). Тем не менее, полезные рамки, которые стоит проверить.
источник
Не совсем то, что вы просили, но Unity - игровой движок, который поддерживает скрипты в c #
источник
AngelXNA (http://www.jeffongames.com/2009/05/angelxna-v10/) - это хорошая библиотека / движок, ориентированная на прототипы, построенная на XNA, если вы ищете что-то более высокоуровневое.
источник
Я считаю SFML.Net отличным выбором, и это то, что я лично использую. Остерегайтесь, однако, не используйте двоичные файлы, представленные на сайте, а вместо этого получите последнюю версию из SVN. Версия сайта сильно устарела.
источник
Взгляните на движок Ploobs - прямо сейчас он поддерживает XNA 4 с открытым исходным кодом и обладает множеством интересных функций:
источник