Undead Carnage: Redemption для Windows Phone
Взято с habrahabr.ru
Представляю вашему вниманию интервью с создателями игры Undead Carnage: Redemption для Windows Phone — Артемом Веселовском. Беседовал sashaeve.
[Александр] Привет, Артем. Расскажи немного о себе, свой команде и о том, как родилась идея создания игры Undead Carnage.
[Артем] Привет! Зовут меня Артем Веселовский, мне 25. Наша команда состоит из трёх человек: дизайнер Саша Сынява, программист и дизайнер уровней Орест Благодыр, ну и я, отвечаю за разработку ядра движка и 3D анимацию. Разработка игр проходит в свободное от работы время. Для кого-то из нас это мечта еще со школы, кто-то начал этим мечтать позже, но все мы в сперва стали геймерами 🙂 У всех из команды предпочтения в играх примерно одинаковое – любим экшн и футбол.
Еще с того момента, как мы собрались в отдельную команду, мы хотели сделать активную игру для смартфонов. Проб было много… Было много идей (и все еще есть), много начатых проектов, много вещей в стиле proof of concept.
Идея родилась в начале прошлого лета. Тогда у меня была первая рабочая сборка игры на телефоне. Мы использовали HTC HD2 для тестирования. Скажу чесно, она была кривой, некрасивой и скучной. Особенно скучной… Игра называлась «2D экшн про зомби». Много раз переделывали части движка, балансировали динамику, но ей всегда не хватало дизайнерского подхода. Мы мечтали о 3D игре и остановили разработку…
Делали 3D-шутеры, много учились програмированию 3D-графики, написали свой 3D-движок, написали демо игры на тему танковых сражений. Добавили туда искусственный интеллект и уперлись в производительность телефона.
Потом как-то увидели анонс конкурса по разработке для Windows Phone от Microsoft Украина и Nokia, где одной из категорий были игры. Решили принять участие. Времени было немного, с нуля ничего не успеть. И вспомнили, что у нас есть почти рабочая игра, инструменты, и появилась идея. Сели, подумали, накидали макет истории, поделили обязаности и взялись за работу.
Сперва программировали все трое, но нехватка дизайна сильно бросалась в глаза и никакими ухирениями в геймплее не перекрывалась. И тут на сцену вышел Саня. С Visual Studio он переключился полностью на Photoshop. И после первых наработок игра обрела класный дизайн и атмосферу. Посмотрели, что у нас получилось, и вот, наша перва игра Undead Carnage: Redemption.
[Александр] Почему Redemption?
[Артем] Redemption значит искупление. История игры расказывает о парне, потерявшем близкого человека за несколько лет до событий в игре, но ничего не говорит, что было на протяжении этих нескольких лет. Да и написана история таким образом, что продолжение напрашивается само по себе. Искупление за грехи в прошлом. Часть расказывет сама игра. Часть о «прошлом», возможно, раскажем позже. В общем, поиграйте 🙂
[Александр] Сколько понадобилось времени и ресурсов для создания?
[Артем] Разработку постоянно вели 3 человека. Времени ушло много. Спешили сделать на конкурс рабочую версию. Так у нас родилась демо версия игры. Показали там начало истории и не совсем готовый дизайн игры. В абсолютном отношении времени ушло примерно 5 месявец на саму игру и окола месяца – на разработку движка и инструментов.
[Александр] Расскажите о технических аспектах игры?
[Артем] С самого начала делали очень сильный упор на технологию. Выжимали максимум из железа (тогда это было только первое поколение устройств под управлением Windows Phone 7). Делали максимум красоты. Из основных аспектов – это, конечно, настроеный и сбалансированый параллакс скроллинг. Идея его в рисовании нескольких слоев графики с разным масштабом и скоростью прокрутки. Если это правильно настроить и сделать правильный дизайн, то простая 2D игра создает илюзию глубины и перспективы 3D игры. Также в нашей игре, реализован эффект Bloom, скорее всего, единственная реализация на сегодняшний момент под Windows Phone 7. Идея блума – это создание эффекта дефракции света. Если темного цвета персонаж стоит на светлом фоне, то его контуры так же высвечиваются и размываются с фоном. Позже добавили эффекты искривления пространства и Slow Motion. На деле получился достаточно сложный конвеер рисования. Рисуем всю сцену в картинку, размазываем и засвечиваем ее в нужных местах. Потом эту картинку используем как текстуру для полигональной сетки, которую мы можем гнуть, создавая этим искривление, которое дает, скажем, стеклянный шар. Позже добавили возможность поджигать противников. Файрбол, который мы показали в демо, теперь наносит очень много урона за счет поджигания. Красиво наблюдать как горящий и обугленый зомби идет в сторону главного персонажа 🙂
[Александр] А музыку кто вам пишет?
[Артем] Сами… Записывались гитарные партии (играли Максим Сынява – младший брат Саши, и Андрей Луцюк – наш сотрудник и друг). Потом это все дело Саша обрабатывал на компьютере. Некоторые треки не записывались вовсе. То есть, это электронное творение в чистом виде.
[Александр] В чем были самые большие технические проблемы при создании игры?
[Артем] Первая трудность – это ограниченость SDK и платформы. На телефоне не поддерживаются программируемые шейдеры. Намного меньшего размера можно использвать буферы (reach vs hi-def профили для XNA). Это очень сильно ограничивает возможности программистов. Странный шаг Microsoft, но я, в принципе, догадываюсь, в чем проблема. Заключается проблема в несовместимости апартной части телефона и XNA 4.0. Сам по себе фреймворк XNA – это просто оббертка вокруг DirectX 9.0 интерфейсов. А Windows Phone устройства построены на GPU с Shader Model 4.0 (DirectX 10). Хотя ребята из Microsoft и спасли немного ситуацию, написав свой шейдерный ход в пяти встроеных эффектах, этого в большинстве случаев мало. Для таких вещей как Windows Phone нужно создавать SDK с нуля. Тут я сделаю низкий поклон Sony за PS Suite SDK. Там все сделано на пять с плюсом. Язык C#, высокоуровневый фреймворк, работающий на Mono, NVidia CG в качестве шейдерного языка, возможность использования небезопасного кода. Там даже Sprite Batch нету. Все нужно писать самому, все хардкорно, все красиво.
Вторая трудность, а заодно и благо – это невозможность таргетить код на специфическое железо. То есть, вещи, которые отлично работают на телефонах второго поколения, в 90% случаев будут сильно тормозить на первом. Приходится отсекать красоты, что прискорбно. А на даный момент устройств первого поколения достаточно много, так что сбрасывать их со счетов нельзя.
Третья проблема – в Украине нет маркетплейса для разработчиков. И дело даже не в публикации программы в Windows Phone Marketplace своими силами, а в том, что на AppHub есть вещи, доступные только для зарегистрированных разработчиков. Это затрудняет процесс обучения.
Четвертая проблема – незаинтересованость самих Microsoft. Здесь я говорю об Xbox Live. Мы писали в Microsoft насчет Xbox Live для Undead Carnage. Мы просто хотели соглашение на использование возможностей для социального гейминга: достижения, доски лидеров на серверах МС. Нам сказали, что свяжутся, если заинтересует. Не связались… Будем что-то думать с Facebook (Alawar и Nokia тоже не дали утвердительного ответа — Александр).
Ну и самое главное – это постоянное стремление к идеалу. Но достичь его невозможно, игра все равно не может понравиться абсолютно всем пользователям. Ну и постоянный баланс между нужными вещами и новыми крутыми идеями, которые не очень подходят нужным вещам. Из-за этого пришлось несколько раз переписывать основные модули движка игры. Но это опыт, в любом случае.
[Александр] Игра Undead Carnage принимала участие в трех конкурсах от Microsoft, но смогла победить только в одном. И это в то время, когда она была лидером в российском и американском Marketplace. Как ты считаешь, в чем причина?
[Артем] Мы думаем, что это связано с несколькими вещами. Главный аспект – игра имеет свою целевую аудиторию и свой возрастной рейтинг. Как оказалось, далеко не все оценивают продукт по его качествам, невзирая на рейтинги и тематику. То есть, если игра сделана хорошо, она красиво выглядит, звучит и предоставляет хардкорный игровой процесс, то зачем проводить грань между ромашками и зомби? Возможно игра слишком сложна для мобильных устройств… Но все-таки это ж мобильная платформа Xbox, а значит и игры должны быть под стать платформе.
[Александр] Демо версию скачали в общей сложности более 120k раз. Как ты считаешь, это хороший результат?
[Артем] Я думаю (да и вся команда со мной согласится), что это отличный результат как для «пробы пера». Все-таки это наша первая игра, доведенная до конца. Для неопытной команды, никем не финансируемой, которая разрабатывала игру в 99% случаев дома по ночам, иногда оставалась на фирме на ночь и делала игру на ноутбуках, это отличный результат.
[Александр] Сейчас очень много разговоров по поводу будущего Windows Phone. Как ты считаешь, какие перспективы у Windows Phone 7 у нас и в мире?
[Артем] Опять-таки выскажусь от имени всей команды. Мы считаем, что платформа будет процветать. Самая главня проблема всегда кроется в людях. Они боятся чего-то нового. Боятся пробовать. Отбрасывают новое при малейших минусах и не дают шансов. Windows Phone многим нравится не с первого взгляда. И у меня с ней было такое же знакомство. Благо устройство я не покупал. У меня был HTC HD2 с Windows Mobile, потом я установил на него Android, потом WP7. Не понял, не признал, снес, вернул Android. Но оценил ее плавность и устойчивость. Через пару дней снес Android и вернул WP7. Это было зимой 2010-2011. И она там до сих пор 🙂 И ребятам она понравилась.
Сегодня в компании у нас насчитывается больше 10 устройств с WP7, о которых я знаю. Каждый новый пользователь просто влюбляется в WP7. Приятно смотреть на человека, вчера еще с телефоном на Android, хорошо отзывающегося про WP7. Считаем так же что WP8 будет новым витком развития и продолжением идей, заложеных в WP7. Хочется также верить в то, что Microsoft начнет ценить не только больших разработчиков, но и мелких. Примеров тому очень много. Даже с играми. Даже на WP7. Игры от больших и именитых разработчиков далеко не всегда лучше, а очень часто и хуже чем инди проекты. Если дадут возможность инди разработчикам – будет намного лучшей экосистема, и платформа будет развиватся лучше.
В Украине с этим немного сложней. Опять-таки это Marketplace, это нормальный мобильный интернет и наша жадность. Многие не понимают, как это за софт можно платить…
[Александр] Ну и последний вопрос, какие планы на будущее?
[Артем] Мы будем делать игры 🙂 Что именно? Время покажет. Скажу только, что постараемся задать планку качества для игр на WP7.
Я лично очень хочу доделать и выпустить Demon Smasher, 3D игру, которую я и Саша написали меньше чем за сутки на хакатоне во Львове (хакатон проводился командой wp7rocks — Александр). Задумок много, все интересны. Много наработок, много кода написано и ждет своей очереди поработать на телефонах пользователей.
Разработка Undead Carnage нас многому научила. Теперь будем знать, где могут появиться проблемы во время разработки, как их решать, или даже не попадать в них. Также было желание портировать Undead Carnage: Redemption для планшетов с Windows 8. Время покажет!
Другие новости по теме:
ReSharper 7 поддерживает Visual Studio 2012 и упрощает разработку Metro-приложений
Евросоюз предостерёг Nokia от превращения в патентного тролля
Trekkit Traveller для Windows Phone 8
Две новые модели от HTC: 8X и 8S представлены официально
Рекламные ролики Windows Phone со звездами
Samsung ATIV Q может не добраться до прилавков
Для роботи Windows Phone 8 можуть знадобитися нові смартфони