C # 2D векторная графика Игра с использованием DirectX или OpenGL? - PullRequest
6 голосов
/ 15 мая 2010

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

Я хотел использовать C #, потому что это то, чем я пользуюсь для работы, и с ним я познакомился. В прошлом я работал как с DirectX, так и с OpenGL, но в основном в 3D, но теперь я заинтересован в написании 2D-игры со всей векторной графикой, напоминающей Geometry Wars или старую аркадную игру Star Wars. *

Ключевые моменты, которые меня интересуют:
• Простота использования / реализации.
• Легко на память. (Я планирую, чтобы многое происходило одновременно)
• Хорошо выглядит, я не хочу, чтобы кривая выглядела неровной.
• Может быть, некоторые хорошие эффекты, такие как свечение или частица.

Я открыт для любых предложений, возможно, даже для того, о чем я не думал ...

Заранее спасибо!

Ответы [ 7 ]

11 голосов
/ 15 мая 2010

Если вы только начинаете снова и у вас уже есть фон C #, почему бы не попробовать XNA? Вы определенно сможете использовать свои навыки C # здесь

http://creators.xna.com http://creators.xna.com/en-US/downloads

3 голосов
/ 15 мая 2010

Я использую SlimDX для программирования на C # и предпочитаю XNA.

http://slimdx.org/

1 голос
/ 21 октября 2010

Поскольку вы уже знаете C #, я бы использовал XNA или Unity. Хотя есть более быстрые языки и промежуточное программное обеспечение, они, вероятно, достаточно быстрые. Обе платформы будут иметь необходимые функции, которые вам требуются.

1 голос
/ 17 мая 2010

Я создаю свой движок OpenGL с помощью оболочки C #, потому что мне тоже очень нравится C #. К сожалению, управляемые языки очень медленные, когда дело доходит до графики, и поэтому я всегда делаю свою часть OpenGL в C ++, компилирую ее как DLL и получаю ее из C # с помощью взаимодействия. Если вы случайно не любите DirectX, я предлагаю вам держаться подальше от XNA. Все, кого я знаю, очень разочарованы этим и переключились обратно на C ++ (OpenGL) + C #.

1 голос
/ 15 мая 2010

Вы также можете рассмотреть возможность использования TAO Framework , который основан на OpenGL и довольно хорош. Но вы должны написать 2D Engine самостоятельно. Он также работает на Mono !

1 голос
/ 15 мая 2010

Вы можете рассмотреть возможность использования механизма Axiom , который является портом C # Ogre3D.Это достаточно высокий уровень, чтобы вы могли визуализировать вашу графику через XNA или OpenGL практически без изменений в вашем коде.Он также может обрабатывать ввод с клавиатуры и мыши (которые обычно являются отдельными - например, через DirectInput в Windows или SDL в Linux).

1 голос
/ 15 мая 2010

TBH не имеет значения, что вы используете. OpenGL, SlimDX или XNA. Все они будут примерно такими же сложными (или не такими, как может быть), как друг с другом.

...