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


10

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

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

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


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 .


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 реализованы.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.