Чи є рамки, які дозволяють мені писати ігри в 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. Можливо, вам пощастило знайти щось хороше, чого я пропустив, адже я просто один хлопець, тому було б чудово поділитися ним :)
ДоситьTea

Відповіді:


9

Я боюся, що немає такої ідеї, як повна альтернатива XNA у світі міжплатформових платформ на основі C #. Monoxna давно померла, і дуже небагато інших інструментів крос-платформ використовують C # як мову вибору.

Однак цей скоропортивний порт XNA на iOS та Android виглядає дуже перспективно: ExEn . Не знаю, але про вимоги.

Оскільки ви використовували слово "двигун", можливо, ви хочете щось складніше. Я пам'ятаю лише один дешевий повноцінний двигун C #, який може працювати в Linux і має досить прощаючі вимоги до обладнання: NeoAxis .

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

У будь-якому випадку, якщо нічого іншого не вдасться, ви завжди можете використовувати OpenGL з SDL через OpenTK або SDL.Net .


3
Лише зауважте - ExEn підтримує наш власний Ендрю Рассел !
BlueRaja - Danny Pflughoeft

1
-1. Хоча ExEn здається корисним та цікавим, це не сумісна з Linux альтернатива XNA. "2D або 3D двигун", схоже, посилається на графічний двигун.
AttackingHobo

MonoGame був у розробці кілька років, і останнім часом прогрес виглядає непогано, але пам’ятаючи свій досвід роботи з цією весною, я більше вірю в ExEn. Якщо у нього буде трохи хорошої архітектури, MonoMac буде дуже можливо замінити на OpenTk.
ДоситьTea

Для 2D, навіть GTK # може бути варіантом розгляду.
Джордж Едісон

20

Навіщо шукати альтернативу, коли можна використовувати порт?

"MonoGame - це безкоштовна реалізація OpenGL рамки XNA 4.0. Вона побудована на відмінному наборі компіляторів Mono і сумісна з MonoTouch (iOS), Mono для Android (Android), MonoMac (Mac OS X), Mono для Windows і тепер Linux!

Наша мета - дозволити розробникам 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, оскільки вони створені для OLD апаратного забезпечення та можуть додатково використовувати OpenGL, якщо ви хочете оновити апаратне забезпечення пізніше. SDL повністю крос-платформа для настільних систем.
  2. Allegro - ще одна бібліотека старої школи, яка допомагає окремо натискати на пікселі, не потребуючи спеціального графічного обладнання.

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


-1: Allegro версія 5 вийшла цього року, і вона регулярно оновлюється. Отже ... я поняття не маю, про що ти говориш. Крім того, чому не згадати SFML?
Нікол Болас

Мій досвід був, до речі, з Allegro 4. "Крім того, чому не згадати SFML?" - Чи я зобов’язаний згадувати кожну бібліотеку там, включаючи ту, до якої я не маю інтересу / досвіду? Чому Den і Vigil не згадали про 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.