Существуют ли какие-либо фреймворки, которые позволяют мне писать игры на C # для Linux? [закрыто]

10

Я ищу что-то вроде альтернативы XNA - мне все равно, будет ли это 2D или 3D движок. Это не потому, что мне не нравится Windows или я против Microsoft; это потому, что я люблю запускать Linux, код на Linux полностью (для C # я использую Mono, очевидно), и ни в коем случае не имею никакого аппаратного обеспечения для поддержки программирования в XNA, просто потому что моей видеокарте 6 лет. У меня также нет компакт-диска Windows 7 / Vista для DirectX 10.

Таким образом, для разработки игр я застрял в каменном веке. Тем не менее, я очень люблю C # и не хотел бы, чтобы из-за этого пришлось отказаться от него как от языка.

Что я могу сделать?

blissfreak
источник
13
Я ненавижу, когда ответ выбирается так быстро. Это не оставляет времени для более глубоких или более подробных ответов, которые будут опубликованы.
AttackingHobo
6
@AttackingHobo Если у вас есть более глубокий, более подробный ответ, обязательно продолжайте.
Джонатан Коннелл
1
@Jonathan Проблема в том, что первый ответ не всегда самый лучший. На самом деле это часто может быть наименее исследованным или наименее продуманным. Есть причина, по которой у нас есть серебряный значок, чтобы отвечать первым и быть правым - это достижение или награда за ответ на мертвый вопрос.
doppelgreener
@Jonathan Connell Я изучаю нечто подобное уже более недели. Я нашел несколько разных кандидатов, но я хочу использовать их и посмотреть, какие из них действительно жизнеспособны. Просто напечатать вопрос в Google и слепо опубликовать некоторые ссылки в качестве ответа, не очень полезно.
AttackingHobo
Эй, @ AttackingHobo, было бы здорово, чтобы вы опубликовали свои кандидатуры, поскольку я искал что-то похожее из пассивного интереса уже около 5 лет. Из всего этого времени я могу только вспомнить обертку Irrlicht и управляемую обертку Ogre, и они мне не нравятся: Irrlicht был глючным, но, по-видимому, исправимым, а для управляемого Ogre было бы лучше выбрать NeoAxis. Может быть , вам повезло найти что - то хорошее , которое я пропустил, я просто один парень , в конце концов, так что было бы здорово поделиться :)
EnoughTea

Ответы:

9

Боюсь, что в мире кроссплатформенных фреймворков на основе C # не существует полной альтернативы XNA. Monoxna давно умерла, и очень немногие другие кроссплатформенные инструменты используют C # в качестве языка выбора.

Однако этот перспективный порт XNA для iOS и Android выглядит очень многообещающе: ExEn . Не знаю о требованиях, хотя.

Поскольку вы использовали слово «движок», вы можете захотеть что-то более сложное. Я могу вспомнить только один дешевый полноценный движок C #, который может работать на Linux и имеет довольно прощающие требования к оборудованию: NeoAxis .

Однако, если ваша основная цель - 2D-игры, вы можете проверить эту небольшую библиотеку кроссплатформенных игр: AgateLib . Два года назад было приятно использовать еще несколько глючно, может быть, теперь все стало лучше.

В любом случае, если что-то не получится , вы всегда можете использовать OpenGL с SDL через OpenTK или SDL.Net .

EnoughTea
источник
3
Просто примечание - ExEn поддерживается нашим собственным Эндрю Расселом !
BlueRaja - Дэнни Пфлюгофт
1
-1. Хотя ExEn кажется полезным и интересным, он не является Linux-совместимой альтернативой XNA. «2D или 3D движок», похоже, относится к графическому движку.
AttackingHobo
MonoGame была в разработке в течение нескольких лет, и в последнее время прогресс выглядит неплохо, но, вспоминая мой опыт работы с ним этой весной, я больше верю в ExEn. Если у него будет хорошая архитектура, MonoMac можно будет заменить OpenTk.
достаточно
Для 2D, даже GTK # может быть вариантом для рассмотрения.
Джордж Эдисон
20

Зачем искать альтернативу, когда вы можете использовать порт?

«MonoGame является бесплатной реализацией OpenGL платформы XNA 4.0. Она основана на превосходном диапазоне компиляторов Mono и совместима с MonoTouch (iOS), Mono для Android (Android), MonoMac (Mac OS X), Mono для Windows и теперь линукс!

Наша цель - позволить разработчикам XNA на Windows & Windows Phone 7 перенести свои игры на iOS / Android / Mac OS X / Windows / Linux и наоборот, с минимальными трудностями ».

http://monogame.codeplex.com

https://github.com/mono/MonoGame

логово
источник
2

2 библиотеки для рендеринга программного обеспечения:

  1. SDL (C / C ++) или SDL.NET, так как они созданы для устаревшего оборудования и могут дополнительно использовать OpenGL, если вы хотите обновить свое оборудование позже. SDL полностью кроссплатформенный для настольных систем.
  2. Allegro - это еще одна библиотека старой школы, которая хорошо работает с пикселями по отдельности без использования специального графического оборудования.

Я считаю Allegro более мощным с точки зрения подталкивания пикселей, но я не думаю, что он видит тот же уровень активности, что и SDL, и хотя SDL поддерживается его автором в актуальном состоянии, я думаю, что это намного меньше, чем в случае с Allegro.

инженер
источник
-1: Allegro версия 5 вышла в этом году, и она регулярно обновляется. Итак ... Я понятия не имею, о чем ты говоришь. Кроме того, почему нет упоминания о SFML?
Николь Болас
Мой опыт был с Allegro 4, кстати. "Кроме того, почему нет упоминания о SFML?" - Обязан ли я упоминать каждую библиотеку, в том числе ту, которая мне не интересна / не имеет опыта? Почему Ден или Бдение тоже не упомянули SFML? Может потому что не хотели? Вам не нужно пытаться оправдать свой -1 дальше.
инженер
1

Вы можете проверить ANX:

ANX.Framework - это фреймворк, совместимый с исходным кодом Microsoft XNA framework 4.0. Совместимость с исходным кодом означает, что вы можете «перевести» игровой проект XNA в игровой проект ANX, просто заменив все пространства имен из Microsoft.XNA.Framework на ANX.Framework. Преимущество ANX в том, что вы можете поменять местами RenderSystem, InputSystem и AudioSystem. Переключая эти системы, вы больше не ограничены для запуска своей игры с использованием DirectX9, который использует XNA. ANX поставляется с DirectX10 RenderSystem по умолчанию. DirectX 11, DirectX 11.1 и OpenGL 3 RenderSystem находятся в стадии разработки. Это позволит запускать ваши игры на Linux и других платформах, которые поддерживаются OpenGL и т. Д., Просто меняя пространства имен.

Сайт Codeplex: http://anxframework.codeplex.com/

Он все еще находится в стадии разработки, но большинство основных функций XNA реализованы.

floAr
источник