Как стать автором
Обновить

Комментарии 11

Логично, что XNA умрет, живет пока живы консоли текущего поколения (а точнее XBox 360), с новыми появится либо XNA 2, либо что-то еще, но тот факт, что некоторые идеи XNA перекочевали в DirectX (в составе Windows SDK), говорит о том, что будет 2я версия.

Тоже выбирал между SlimDX и SharpDX, выбор пал на 2й, как более свежий, хотя SlimDX сам не смотрел, выбирал по упоминаниям в инете. Да и амбиции SharpDX очень понравились.

А не используете Direct 2D для интерфеса или чего-нить подобного?
Уже использовали немного Direct 2D для эффектов типа Opacity Mask на некоторых элементах.
Так как в WinRT XAML нету старого свойства OpacityMask у UIElement.
Есть такая реальная детская игра, в которой шарики нужно загнать в определенное место проходя лабиринт. Лабиринт наклоняют в разные стороны, шарик при этом катится и нужно попасть в нужные проходы.

… И как раз для этой игры Майкрософт сделали пример:
http://code.msdn.microsoft.com/windowsapps/DirectX-Marble-Maze-Game-e4806345
… Да, спасибо большое, мы видели этот пример.
Так вы игру написали или еще нет?
Я понимаю, когда про разработку пишет человек с опытом завершенных подобных проектов.
У меня же сложилось стойкое впечатление, что это ваш первый эксперимент в геймдеве и вы еще не написали ни строчки игры, а только сосиски лопаете. Такими темпами это вполне может быть последняя запись в вашем «дневнике разработки», в таком случае не нужно захламлять хабр.
Да, это наш первый эксперимент в геймдеве.
И мы написали уже базовый каркас игры, где колобок можно водить по лабиринту с примитивными препятствиями, он собирает примитивные предметы, и на него нападают примитивные противники. Так-же мы уже столкнулись с множеством проблем по рендерингу, физике, и архитектуре всего проекта, часть которых мы уже решили. Об этом речь пойдет в наших дальнейших статьях.
И вы правы на счет человека с опытом завершенных подобных проектов… Но можно пойти и другим путем, собрав также опыт других людей, которые возможно будут критиковать наши решения на старте(например в данной статье видна архитектура нашей игры, в следующей будут другие примеры кода, проблем и их решений). Мы думаем что такой путь возможен, так как он безусловно принесет плоды.
И вот нам интересно как дела обстоят у других (начинающих и(или) с опытом), похожа ли у них архитектура и как они решали те или иные схожие проблемы.

Вот и нужно было размещать скриншоты того, что у вас есть. Оно потом всегда интересно посмотреть как игра «обрастает мясом».
И еще, вы, похоже, не с того начали. Почему-то для физики вы взяли движок, а для игры нет. Писать свои движки — это совсем другая задача, стоило поискать готовые игровые движки под .NET (как там с этим сейчас — я не в курсе). В противном случае вместо написания игры вы будете бороться с различными проблемами, и большую часть проблем всеравно упустите.
Ну и про архитектуру — я вот не вижу вашей архитектуры в статье, обе схемы абстрактные :)
Скриншоты будут в следующих статьях, вот для примера.image
Про игровой движок — спасибо, мы думали о MonoGame как движке в связке с SharpDX, но пока в виду непоняток с Windows Store используем простой SharpDx. Как станет более яснее — мы скорее всего возьмем готовый движок.

Также мы более подробно опишем каждый отдельный компонент архитектуры.
Что Вас конкретно интересует? Давайте обговорим!
Может более подробней схему нарисовать — но вроде она более менее понятная (по крайней мере понятно из каких частей состоит решение).
Можно задать вам вопросы? Вы писали игры? Можете набросать такую же абстрактную схему структуры игры как у нас? Для сравнения? ))
Я не спорю, возможно у нас сырое решение. ))
Неплохой же скриншот — можно было для затравки вставить в текст сразу (правда советую сразу добавить в отрисовку Antialiasing — гораздо приятнее смотрится).
Насчет архитектуры. По мне — все это рисование схем не имеет смысла. Лучше бы описали свою систему ресурсов, основной цикл приложения, как боретесь с проседанием фпс (чтобы движения оставались плавными). Также полезно писать о том, с какими трудностями сталкиваетесь — новичкам это полезно. Например: «убрать полностью отрисовку отладочной информации» — а почему вы это сделали, отладочная информация ведь не бывает лишней.
советую сразу добавить в отрисовку Antialiasing — гораздо приятнее смотрится

Спасибо, за совет.
все это рисование схем не имеет смысла

Почему же — иногда когда у тебя есть схемы и планы — чувствуешь себя генералом на поле битвы,
ты стоишь на возвышенности и наблюдешь за всей картиной боя.
Основной жизненный цикл игры такой:
image
Про загрузку ресурсов и проседание фпс, опишем чуть позже.
Также мы столкнулись еще с множеством проблем, к примеру:
— Нехватка опыта, и информации
— Проблема с тенями.
— Проблема с Blur эффектом.
— Что лучше вращать мир или вектор гравитации.
— Проблема с загрузкой моделей
— Проблема с очисткой ресурсов
— Проблема с константными буферами.
О который мы напишем позже.

«убрать полностью отрисовку отладочной информации» — а почему вы это сделали,

Отрисовка была написана под XNA, надо было ее переписать под нашу платформу, что тянуло за собой затраты по времени. Так как не было еще уверености в данном решении, код был просто удален, острой необходимости пока не возникало в отрисовке.
«Система ресурсов» != «загрузка ресурсов» :)
Я почему спрашивал об этом, потому что:
— Проблема с загрузкой моделей
— Проблема с очисткой ресурсов

части этой системы.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации