Какие библиотеки C # можно использовать для поддержки разработки игр? [закрыто]

Поскольку игры основаны на разных подсистемах, таких как графика (DirectX, OpenGL, ...), звук (OpenAL, Ogg Vorbis, ...) или физика (коллизии, ...), какие библиотеки вы знаете которые полезны для разработки игр на C # и какие преимущества они предлагают?

58 голосов | спросил 3 revs, 2 users 100%
Michael Barth
1 Jam1000000amThu, 01 Jan 1970 03:00:00 +030070 1970, 03:00:00

13 ответов


62

Графика /Звук

  • XNA Обложка высокого уровня на DirectX9. Позволяет быстро вставать и работать. Поддержка ПК, Xbox360 и Windows Phone 7. Поддержка аудио Xact, а также собственный API SoundEffect.
  • SlimDX Обертка нижнего уровня на DX9 /10/11. Если его в DX SDK, его завернутый здесь.
  • OpenTK Обертка на OpenGL /AL.
  • SDL.net Порт популярной SDL-библиотеки.

Двигатели

  • WaveEngine Архитектура игрового движка на основе компонентов, C # api, 2d и 3d физический движок, красивые визуальные эффекты, кросс-платформенная поддержка Android, Linux, Mac, iOS и amp; Windows, расширенная система компоновки и многое другое.
  • NeoAxis 3D-движок, поддерживающий физический движок NVIDIA PhysX, привязки C #, поддерживает WPF и amp; Windows Forms, богатый набор инструментов, таких как карта, объект, модель, материал, редакторы ландшафта, в игровом браузере с использованием Chromium, Pathfinding с навигационной сеткой и т. Д.
  • TorqueX 2D /3D движок для XNA. Хороший редактор suppport, гаражные игры в последнее время реинвестируются в двигатель после периода пренебрежения.
  • truevision 3d C ++ игровой движок с привязками c #
  • Axiom Переписывание Ogre в c #. Поддерживает многочисленные поддерживаемые API рендеринга.
  • Unity - это графический движок C ++, поддерживающий сценарий игры на C #
  • AngelXNA Порт ракеты-прототипа EALA с открытым исходным кодом

Физика

  • Farseer Популярный 2D-движок физики поддерживает .net (рабочий стол), компактный (xbox) и микро (silverlight).
  • Jitter относительно новый движок в области физики 3D, намного лучше его завершения.
  • Box2Dx Прямой порт box2D
  • Box2D.XNA Другой порт Box2D для XNA; более свежий, чем Box2Dx
  • JigLib
  • BulletX Порт c # пули, похоже, быть оставленными.
ответил MadMartian 16 FriEurope/Moscow2016-12-16T22:34:48+03:00Europe/Moscow12bEurope/MoscowFri, 16 Dec 2016 22:34:48 +0300 2016, 22:34:48
11

Очевидно, что есть XNA от самого microsoft: http://creators.xna.com/en-US/ Игры, выполненные с XNA, работают на Windows и (через клуб Creators) на Xbox360. Я думаю, что это идеально подходит для того, чтобы намочить ноги в быстром развитии игры. У меня еще нет мокрой ноги в XNA, но я пока не могу судить. Но, глядя из обочины, это выглядит лучше всего после нарезанного хлеба. Конечно, вы не можете делать с ним все. Но вы можете делать быстрые прототипы и рабочие игры инди-качества и за его пределами.

Другая библиотека - SlimDX - http://slimdx.org/, которую некоторые могут сказать, ближе к металу /реальности, если вы не хотите работать с XNA. Таким образом, отлично подходит для быстрого прототипирования - особенно если ваша основная разработка игр - C или C ++. Кроме того, отлично подходит для создания инструментов.

ответил MadMartian 16 FriEurope/Moscow2016-12-16T22:34:48+03:00Europe/Moscow12bEurope/MoscowFri, 16 Dec 2016 22:34:48 +0300 2016, 22:34:48
4

Существует также порт библиотеки SD библиотеки .NET, SDL.NET . Я лично использовал бы XNA в C #, потому что это просто хорошо собранная библиотека, очень настраиваемая и дружественная к новичкам.

ответил MadMartian 16 FriEurope/Moscow2016-12-16T22:34:48+03:00Europe/Moscow12bEurope/MoscowFri, 16 Dec 2016 22:34:48 +0300 2016, 22:34:48
4

Отказ от ответственности: Следующая рекомендация может быть или не быть предвзятой из-за моего личного участия в разработке этого движка.

Двойственность - это расширяемый 2D-движок, который поставляется с системой WYSIWYG. Быстрый обзор:

  • плагин . Вы не пишете новое приложение, а плагин, содержащий весь ваш код.
  • Функция плагинов перезагружает из редактора. Позволяет выполнять быструю итерацию.
  • Открытый исходный код , полностью написанный на C #, на основе OpenTK /OpenGL /OpenAL
  • Относительно новый (2 - 3 года) и еще находится в разработке - но уже использовать .
  • Обрабатывает рендеринг, аудио, ввод пользователя, физику, сериализацию, управление ресурсами и объектами.
  • Множество вспомогательных классов и компонентов по умолчанию, чтобы вы начали.

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

Снимок экрана среды редактирования.

ответил MadMartian 16 FriEurope/Moscow2016-12-16T22:34:48+03:00Europe/Moscow12bEurope/MoscowFri, 16 Dec 2016 22:34:48 +0300 2016, 22:34:48
3

BulletX - это 100% C # порт Bullet Physics, который можно использовать с XNA.

ответил MadMartian 16 FriEurope/Moscow2016-12-16T22:34:48+03:00Europe/Moscow12bEurope/MoscowFri, 16 Dec 2016 22:34:48 +0300 2016, 22:34:48
3

На стороне инструментов невероятная полезная библиотека - это Managed Extensibility Framework , которая теперь фактически является частью .Net 4.0. Это позволяет вам создавать плагины или автоматически открывать экземпляры классов смешно легко, что очень полезно для ваших инструментов.

ответил MadMartian 16 FriEurope/Moscow2016-12-16T22:34:48+03:00Europe/Moscow12bEurope/MoscowFri, 16 Dec 2016 22:34:48 +0300 2016, 22:34:48
2

Самый большой (и самый проверенный) по сей день - это инфраструктура XNA. Вы даже можете воспользоваться XNA для создания наборов инструментов. Преимущество состоит в том, что у вас есть инфраструктура, которая включает в себя библиотеки, которые вам нужны (физика, звук, графика), завернутые в один пакет, и огромный плюс заключается в том, что если вы сделаете что-то действительно хорошо, вы можете попробовать и прокачать его в XBLA.

ответил MadMartian 16 FriEurope/Moscow2016-12-16T22:34:48+03:00Europe/Moscow12bEurope/MoscowFri, 16 Dec 2016 22:34:48 +0300 2016, 22:34:48
2

XNA - довольно большая библиотека для ПК /Xbox360, обрабатывающая вашу графику, звук, ввод и т. д.

ответил MadMartian 16 FriEurope/Moscow2016-12-16T22:34:48+03:00Europe/Moscow12bEurope/MoscowFri, 16 Dec 2016 22:34:48 +0300 2016, 22:34:48
2

Tao Framework (используется в этой книге, которую я нашел довольно полезной: < a href = "http://rads.stackoverflow.com/amzn/click/1435455568" rel = "nofollow"> C # Game Programming for Serious Game Creation ), который включает OpenGL и многие другие полезные функции игрового программирования ( доступный через C #) стоит посмотреть. Однако он был заменен Open Toolkit Library (OpenTK), о котором упоминалось в другом ответе. Мне показалось странным, что книга использует Tao Framework вместо OpenTK, учитывая, что Дао неактивна около 2 лет (и книга совершенно новая). Тем не менее, полезная структура, заслуживающая проверки.

ответил MadMartian 16 FriEurope/Moscow2016-12-16T22:34:48+03:00Europe/Moscow12bEurope/MoscowFri, 16 Dec 2016 22:34:48 +0300 2016, 22:34:48
1

Не совсем то, что вы просили, но Unity - это игровой движок, поддерживающий скрипты в c #

ответил MadMartian 16 FriEurope/Moscow2016-12-16T22:34:48+03:00Europe/Moscow12bEurope/MoscowFri, 16 Dec 2016 22:34:48 +0300 2016, 22:34:48
0

AngelXNA (http://www.jeffongames.com/2009/05/angelxna-v10/) - хорошая прототип-ориентированная библиотека /движок, построенный на XNA, если вы ищете что-то более высокоуровневое.

ответил MadMartian 16 FriEurope/Moscow2016-12-16T22:34:48+03:00Europe/Moscow12bEurope/MoscowFri, 16 Dec 2016 22:34:48 +0300 2016, 22:34:48
0

Я считаю SFML.Net отличным выбором, и это то, что я лично использую. Остерегайтесь, однако, не используйте двоичные файлы, предоставляемые на сайте, но вместо этого получите последние данные из SVN. Версия сайта сильно устарела.

ответил MadMartian 16 FriEurope/Moscow2016-12-16T22:34:48+03:00Europe/Moscow12bEurope/MoscowFri, 16 Dec 2016 22:34:48 +0300 2016, 22:34:48
-1

Взгляните на Ploobs Engine - прямо сейчас он поддерживает XNA 4, его открытый источник и имеет множество интересных функций:

ответил MadMartian 16 FriEurope/Moscow2016-12-16T22:34:48+03:00Europe/Moscow12bEurope/MoscowFri, 16 Dec 2016 22:34:48 +0300 2016, 22:34:48

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132