Идеальный выбор для этой игры, XNA или SlimDX (DirectX 10)? - PullRequest
3 голосов
/ 26 сентября 2010

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

1) Отображение текста в кодировке Юникод, без заранее известных символов (т. Е. Отображаемые строки не известны во время компиляции, но вводятся пользователем).
2) Поддержка отображения всех распространенных форматов изображений (PNG, JPG, BMP, GIF) и воспроизведения различных аудио (MP3, WAV, OGG, FLAC) и видео форматов.
3) Полная поддержка мультитач (я бы хотел поддерживать столько одновременных входов, сколько позволяет аппаратное обеспечение пользователя).

Я возился с XNA, но мне было трудно рисовать произвольный текст в Юникоде с помощью SpriteFonts (он ненавидит его, когда вы пытаетесь загрузить весь унифицированный набор CJK). Кроме того, я не нашел простого способа загрузки определенных форматов, таких как аудио Ogg Vorbis, в XNA.

Итак, помня об этом, я начал изучать использование DirectX 10 через SlimDX. Однако я очень растерялся и не уверен, с чего начать и есть ли в нем нужные мне функции. В довершение всего, документации SlimDX, похоже, очень не хватает, особенно когда я новичок в разработке игр. Какая из двух структур лучше всего подойдет для моих целей?

РЕДАКТИРОВАТЬ 1 : Любые ссылки на начало разработки игр с SlimDX (июнь 2010 г.) также будут очень полезны, особенно в отношении Direct2D, который я, скорее всего, буду использовать.

1 Ответ

3 голосов
/ 29 сентября 2010

Исходя из вашей озабоченности документацией SlimDX и того факта, что вы хотите использовать Multitouch (я не могу определить, доступен ли он из SlimDX - см. Комментарий к документации), я бы предложил перейти на XNA.

XNA не имеет немедленной поддержки OGG, но есть несколько хороших конвертеров. Если вы не хотите, чтобы их преобразование было сложным, вы можете создать собственный обработчик контента конвейера, который сделает преобразование за вас. Предполагая, что вы не хотите на самом деле пытаться читать байты вручную и обрабатывать их, вы можете использовать этот инструмент либо в автономном режиме, либо с помощью командной строки в настраиваемом импортере: http://klucher.com/blog/game-development-program-of-the-week-xrecode/%20

Для шрифтов вы можете изменить файл XML, указав только те символы, которые вам нужны. Поэтому, если вы знаете, что будете использовать только половину символов, вы можете поместить их в XML-файл .spritefont, и будут сгенерированы только эти символы.

В новой XNA Game Studio 4 (все еще в бета-версии, но, безусловно, то, что вы должны начать использовать), она имеет встроенную поддержку мультитач. Он также имеет некоторые встроенные жесты и работает для Windows Phone 7. Я предполагаю, что команда XNA сделает его доступным и в Windows 7 в ближайшее время. А пока загляните в блог Шона Харгривза. У него есть статья в его разделе ввода об этом .

Существует множество примеров использования библиотеки XNA от Microsoft, поэтому, если вы только начинаете, это может быть неоценимо.

Надеюсь, это поможет,

Чад

...