Начало разработки, первые трудности. Часть первая.
Привет, меня зовут Баранов Антон и я попробую коротко рассказать про то, как создавалась наша игры WitchCraft с технической точки зрения.
В процессе продумывания гейплея очень важным был вопрос выбора технологий реализации нашей игры, так как времени на изучение и разработку демо-версии мало, попробовать все оказалось невозможно. По требованиям конкурса Imagine Cup участники могут использовать программное обеспечение, которое доступно всем. Целевой платформой нашей игры является Windows Phone, поэтому выбор был только между XNA/C# и Html/Javascript, а так как к началу работы над игрой опыта программирования на C# было в разы больше, оставался только этот вариант. К тому моменту Unity 3D еще не поддерживало возможность портирования своих разработок на Windows Phone. Таким образом технология выбрана, необходимо было начать ее изучать и сразу же реализовывать все идеи.
Процесс изучения XNA начался с повторения и модификации примеров из курсов с сайта интернет университета Intuit, а также книги Петцольда «Программируем Windows Phone 7». Так как опыт разработки игр и мобильных приложений был минимальный, то новых знаний было много и прогресс шел быстро, большими шагами. Каждый день открывались новые возможности, которые мы могли использовать в своей игре: распознавание касаний и жестов, акселерометр, анимация, различные особенности связанные с платформой Windows Phone. Самой большой проблемой было внедрить в игру распознавание речи, это одна из главных фишек, но одновременно и большая головная боль.
На выяснение всех особенностей, подводных камней использования данной технологии было потрачено несколько недель. Сложность состояло в том, что мы хотели, чтобы:
1) игра запускалась как на 7, так и на 8 версии системы
2) в процессе распознавания не использовался интернет
3) возможно было распознать странные заклинания на русском языке.
Последнее сразу было под большим сомнением, а в дальнейшем и первые два пункта не получилось реализовать, во-первых, потому что Windows Phone 7 поддерживает распознавание речи, но не дает таких средств разработчику, во-вторых, даже используя сторонние библиотеки для распознавания речи, мы не смогли найти такую технологию, которая легко интегрируется в программу для данной платформы, бесплатна и не использует постоянное подключение к интернету. В итоге, чтобы фишка с распознаванием заклинаний все таки была, мы ограничились платформой восьмой версии, требовали постоянного подключения к интернету и распознавали только английские выражения, которые по звучанию могли быть похожи на магические заклинания.
Таким образом изучение и разработка шла полным ходом, сроки поджимали, но мы знали, что все успеем. Для демо-версии игры необходимо было реализовать один игровой эпизод, который включал в себя несколько видов игровых механик, кроме того необходимо было разработать меню, режим аркад, диалоги и прочее. Подробнее о получившейся архитектуре приложения и игровом движке в следующей части блога.
Продолжение находится ЗДЕСЬ.