Студенты СПб НИУ ИТМО Иван Култышев, Эмиль Бахабиев и Никита Алексеев, объединившиеся в команду Krisha Community, начали разработку проекта Life Strategy (тогда еще безымянного) в рамках собственных разработок. Увлеченные кодированием, они организовали так называемый «Стартап выходного дня»: они собирались вместе во внеучебное время и экспериментировали с созданием приложений под популярные платформы, в том числе – мобильные.
«Мы обычно собираемся на выходные и реализовываем короткие проекты, – пояснил Эмиль Бахабиев. – Однажды мы решили поработать с различными алгоритмами написания приложений под Windows Phone, что было вполне естественным решением, ведь каждый из нас имеет обширный опыт написания кода на языке C Sharp. Игра «Жизнь», созданная Джоном Конвеем, изначально представляла собой действие в неограниченном пространстве, «бесконечной плоскости», и сама ее концепция хорошо подходила для изучения возможностей мобильной платформы. Нам было интересно проверить, насколько сложные схемы Windows Phone мог бы поддерживать без зависаний и ошибок. Также нам было интересно проследить максимальные отличия данной платформы в дизайне, коде и архитектуре от приложений, выпускаемых под Android».
Как известно многим, сущности игры «Жизнь» – в развитии событий, которые задаются изначальным размещением (местоположением) условных одноклеточных микроорганизмов («клеток») относительно друг друга. В зависимости от того, как игрок их размещает, зависят все возможные варианты развития событий в игровом пространстве (ограниченной либо бесконечной плоскости): размножение клеток, их миграция в пространстве или гибель.
«В классической игре Джона Конвея «клетки» перерождаются, исходя из предыдущего состояния, поэтому изучение возможных исходов каждой комбинации «клеток» представляет интерес с точки зрения математического аппарата, – рассказывает Иван Култышев. – В нашей игре вместо «клеток» присутствуют различные юниты, входящие в разные фракции, число которых может быть любым, а стратегия зависит от их размещения на местности».
Life Strategy, по словам разработчиков, на начальных уровнях несет в себе преимущественно тактические элементы, в то время как на последующих уровнях, когда соперников становится уже больше двух, игра начинает раскрывать свой стратегический потенциал.
Участники команды Krisha Community: Иван Култышев, Эмиль Бахабиев и Никита Алексеев
Каждый игрок начинает игру в башне, являющейся главным игровым элементом для фракции. С потерей башни игрок терпит поражение, а победа присуждается тому, чья башня остается единственным не захваченным объектом. А для того, чтобы обеспечить себе победу, необходимо сориентироваться на местности и сделать выбор между выжидательной, защитной либо атакующей позицией. Именно выбор стратегии позволяет юнитам развиваться дальше и побеждать соперников, выбравших менее удачный путь развития.
«К сожалению, у нас не было аппаратной реализации, чтобы писать под Windows Phone 8 и тестировать готовый код, – поясняет Эмиль Бахабиев. – Тем более, для нас особый интерес представляла разработка в рамках концепции учебного проекта, и мы отказались от готовых библиотек XNA Game Studio, все коды были написаны с нуля вручную на языке C Sharp, с использованием Microsoft Visual Studio».
«Большая работа была проведена с прорабатыванием логики юнитов, – добавляет Иван Култышев. – Чем дальше шла наша разработка, тем более сложной становилась эта логика. Например, юнитам приходится иметь дело и с искусственными препятствиями, расставленными на местности, например, с «нейронными сетями». Во многом разработки упираются в аппаратную реализацию, много сил брошено на оптимизацию алгоритмов и визуализацию. Кроме того, при большом наборе разноюнитовых отрядов с большой численностью игра начинает заметно подвисать даже на эмуляторе, где распределено 256 мегабайт оперативной памяти. Если число игровых фракций в игре будет больше десяти, трудно представить, как поведет себя игра, запущенная на мобильном устройстве. Именно ограничение возможностей мобильных платформ, с одной стороны, вынудило нас отказаться от реализации игры в 3D-пространстве, а с другой стороны, постоянно искать новые алгоритмы оптимизации программного кода».
Игра Life Strategy снабжена движком, разработанным специально под мобильные устройства с мультитач-скрином, через который и осуществляется управлением игровыми юнитами. Удобство и функционабельность движка еще предстоит оценить, когда будет заявлено о сроках появления альфа-версии игры.
«Наша главная цель – развить и показать возможности платформы Windows Phone 7, – говорит Никита Алексеев. – Мы не задумывались о появлении Life Strategy на рынке и о ее коммерческой привлекательности. Все-таки это учебный проект, и его цели лежат в рамках нашей деятельности в СПб НИУ ИТМО».