Пошаговая стратегия как хобби
Привет, хабралюди! Кто из вас не мечтал создать свою игру? А возможно ли написать браузерную стратегию, не имея при этом опыта и денег? Возможно, если очень этого хотеть.
Под катом моя история создания бесплатной пошаговой стратегии.
Что из себя представляет игра? В двух словах — сетевой аналог старого доброго «Panzer General».
Но обо всем по порядку.
Предыстория
Некоторое время назад я играл и модифицировал серию игр «В тылу врага». Серия отличная, а тамошние танковые бои считаю прародителями World of Tanks. Но за несколько лет сетевая игра жутко надоела, даже с модами. Причиной тому был однообразный геймплей: одни и те же карты, один и тот же поток юнитов,
все игроки всегда копили кредиты на более мощный танк или отряд пехоты, а юнит-лист каждого был строго фиксированным.
Таким образом некоторая техника полностью исчезла из боев, а последние были однообразны и предсказуемы. Искались способы в модах кастомизировать меню покупки, дабы игрок хотя бы рандомно получал свой юнит лист и им сражался, не говоря уже о специализациях. Но увы движок этого не позволял.
Тогда же в форумных дискуссиях и родилась идея — «а что, если к игре прикрутить глобальную карту с экономикой?».
Стратегия на глобальной карте, тактические бои в ВТВ. Юниты доступные сторонам диктует фронт. Не успел прислать подкрепления? — сражайся тем что есть! Круто! Конец однообразию!
Осталось только уговорить разработчиков. Но результат разговора с ними, я думаю, всем очевиден — неизвестно окупится ли.
Я немного знаком с коллективом BestWay, и мы пришли к выводу, что стратегию то можно и в браузере реализовать, тогда «В тылу врага» придется минимально дорабатывать, всего лишь дописав API.
Браузерную часть, без раздумий, гордо взял на себя. Договорились после каких-то моих наработок обсудить дальнейшую жизнь проекта, ведь «поболтать» все мастера.
Имея за душой скудный опыт программирования, в свободное от работы время я все же начал свой путь.
С тех пор прошло около двух лет.
Разработка
В качестве фреймворка был выбран Сodeigniter, на нем я правил несколько чужих проектов, и был некий опыт. Клиентскую часть было решено писать на JS, точнее на jQuery, ведь flash я еще больше не знал.
Далее нужно было понять как это все должно выглядеть. Из игр подобного жанра я видел лишь «Total war» и «Карибский кризис», но все они были standalone. Продолжительное гугление дало свой результат — weewar.com. Вот оно, то что нужно!
За основу была выбрана карта Европы и начал анализировать html. На виваре было несколько слоев. Нижний — картинки территорий, средний — юниты, самый верхний — теги area с точным контуром гексы. При этом, весь html код весил больше 500 кб.
Я решил упростить схему и ограничиться двумя слоями: территория и войска. Но в таком случая возникла проблема клика не на ту клетку. Ведь дивы наезжали друг на друга:
Как я решил эту проблему? Никак. Практика показала, что она совершенно несущественная. Все клики в 99% случая производятся в центр гексы или выше. Если в будущем будут жалобы, сделаю проверку координат клика.
Карта отрисована, в глазах счастье. Движемся дальше.
А дальше все пошло как по маслу, до того момента, когда нужно было реализовывать поиск путей. Причем нужно не просто найти путь, а отобразить всевозможные, куда юнит может двигаться.
Как обычно, сначала строился велосипед, затем внезапно обнаружен «волновой алгоритм», и на его основе все хорошо собралось до работоспособного состояния. Далее его нужно было портировать на php, т.к. любые расчеты js легко подделываются. Переписал, выбросил все лишнее, ведь на сервере необходимо всего-лишь проверить валидность движения из точки А в точку Б. Работает.
Очередная интересная задача — избавиться от перезагрузки страницы. Тут все оказалось достаточно просто. Запись всех игровых действий в лог, выборка аяксом свежих логов с помощью long polling, анимация на карте полученных данных. В итоге, в двух разных браузерах я видел одни и те же действия, совершаемые в третьем. И это было очень круто, учитывая, что даже на виваре не было никаких анимаций и практически невозможно было понять, что твой враг делает, кого куда передвинул и кем атаковал.
Когда данный прототип был показан, никакого внятного ответа от BestWay я не получил. Но совершенно не расстроился. За плечами был отличный опыт программирования и стремительное решение доделать игру как независимую. Как weewar, но лучше.
Так медленно и печально, спустя пол года, была рождена альфа версия, где уже можно было играть и даже местами было интересно. Потратились «кровные» на покупку домена и хостинга, проект выкачен в свет, и с друзьями начали играть первые партии. Выглядело это тогда так.
Жизнь проекта
В первые недели количество зарегистрированных пользователей было очень мало. Никто не понимал, куда он попал и что нужно делать. Нужен был хороший мануал, и я начал смотреть онлайн проекты на их наличие, дабы хоть примерно понять как они пишутся. Пролистав несколько, мне стало нудно. Если ты уже немного знаком с игрой, тогда документация читается легко. Но для новичка — это «лес». Пришел к выводу, что нужно интерактивное обучение. Минимум текста, максимум действий. После его реализации жизнь стала налаживаться.
День за днем игрались партии на затертой до дыр карте Европы, еще той, с weewar. Это быстро надоело. Было ясно, что без редактора карт не обойтись.
Примерно за месяц написал такой редактор, которому игроки были очень рады. В первые сутки его существования в проекте появились 5 новых карт. На сегодняшний день карт около 40.
Очень хотелось сделать красивую отрисовку возможный путей.
Но уперся в производительность браузеров. Для реализации необходимо JS-ом накладывать третий слой с полупрозрачной белой гексой. А на средней карте это около 1000 новых div. Файрфокс, опера — довольно быстро справлялись с задачей. Хрому нужно было несколько секунд. Ну а виновник «торжества» — IE. Даже девятая версия добавляла дивы секунд 5. Пришлось отказаться. Думаю над более производительной схемой.
Вот так, в течении нескольких месяцев, почти каждый день в проекте что-то делалось. Фиксились баги, прикручивались новые фичи. Добавлялись юниты. Буквально на днях был кардинально обновлен интерфейс, и добавлена новая нация — США. Полная история изменений доступна в разделе «Что нового?».
За 2 месяца жизни проекта зарегистрировалось почти 150 русскоязычных пользователей, было сыграно 300 игр, а в логе действий оказалось 75 тысяч записей.
Наверное неплохо, учитывая, что ни копейки не было потрачено на рекламу, а проект был представлен всего-лишь на нескольких русскоязычных форумах.
Что дальше?
Кто-то клеит модельки, кто-то играет в страйкбол, мое хобби — моя стратегия.
В данный момент собираю «кровные» на хорошего художника, ведь многие юниты и объекты в игре из других игр.
В будущем планирую реализовать еще несколько сеттингов, например, средневековье или современную войну, пока не решил. А может и орков с эльфами, с чем чёрт не шутит.
Также в планах нужные фичи, такие как туман войны или бронирование техники. Более подробно можно почитать на сайте в разделе «В разработке».
Проект пока крутится на обычном хостинге, поэтому даю ссылку сразу на обучение. Оно полностью на JS, не насилует MySql. Надеюсь, хабраэффект будет милостив.
Спасибо за внимание и удачи на виртуальных фронтах!
Разработка браузерной стратегии
Хочу поделиться с хабрасообществом своим опытом написания многопользовательской браузерной стратегии с нуля до рабочего проекта. С точки зрения непосредственно программирования, архитектуры и возникших проблем. Это мой первый опыт создания игры и возможно вы заметите множество недочетов или промахов, или посоветуете чего дельного. Но не суть важно — главное я довел дело до рабочего проекта и наверняка многим будет интересно узнать подробности.
Что представляет собой игра? Видимо наиболее коротким описанием будет «клон Цивилизации» =). Но это не значит что у меня не хватило фантазии придумать что-то свое. Просто сделать «Цивилизацию» было моей мечтой. Вряд ли бы я получил столько удовлетворения от написания другой игры. Ну а фанаты Цивилизации наоборот считают, что моя игра совсем не похожа на Цивилизацию, разве что только с виду. Может это и к лучшему.
Игра называется The Fate of Nation http://fatenation.com
Расписывать архитектуру и логику работы приложения можно до бесконечности поэтому придется видимо разделить на несколько частей статью, если к ней будет интерес. Кроме того не вижу большого смысла приводить много кода, так как реализовать написанное мной можно на любом языке и платформе.
Для создания игры я использовал php и MySQL на сервере, html и javascript на клиенте. Flash не используется. Из html5 есть только видео на сайте и несколько областей с канвасом в самой игре — включая поверхность карты и мини-карту. Объем кода клиентской части в несколько раз превышает серверную часть, поэтому в основном буду рассказывать о клиентской разработке, но начнем с сервера.
Общая архитектура
Общая архитектура приложения выглядит как полностью асинхронное веб приложение на JavaScript. Перезагрузок страниц не предусмотрено. Обмен данными с сервером исключительно через Ajax и JSON. В JSON’е передаются только данные, без html кода. Html разметка загружается отдельно в начале загрузки приложения и процессится с данными через клиентский шаблонизатор по мере загрузки данных с сервера.
На сервере никаких фреймворков не использовал — хотя начинал писать с использованием Zend Framework, который выкосил потом за ненадобностью. Вместо него создал свою простую архитектуру отдаленно напоминающую контроллеры и экшены из ZendFramework.
Как видно из рисунка, на сервере одна точка входа — файл index.php. В процессе игры на сервер идут запросы вроде такого: /Unit/Move. И посылается JSON с параметрами, в данном случае это id юнита и координаты перемещения. Сервер перенаправляет этот запрос на index.php, в котором последовательно выполняется подключение к БД, проверка текущего пользователя и парсинг строки запроса для определения контроллера (Unit) и действия (Move). Если контроллер не задан то сервер выдает индексную страницу с кодом для построения клиентского приложения, но об этом позже. Если же контроллер задан то ищется файл этого контроллера, подключается его код и запускается обработка запросов этого контроллера, где соответственно ищется необходимый экшн, а в нем производится проверка входных данных и дергается бизнес логика.
Для работы с БД написан специальный класс абстракции базы данных через который проходят все запросы к БД от бизнес логики и контроллеров, экранирование данных и прочие небольшие удобства. Собственно на сервере все довольно просто с архитектурой, а зона ответственности сервера заключается лишь в проверке входных данных и выдаче информации из БД. Все остальное делает клиент.
Теперь немного о самой игре.
Карта
Первое что было сделано это карта на которой происходят почти все игровые действия: строительство городов, улучшений (посевы, дороги), перемещение юнитов и исследование карты. Размер карты составил 1000 на 1000 клеток для каждой отдельная запись в БД. Я видел игры где карта сделана бесконечной и записи о клетках динамически вставлялись тогда, когда с клеткой производились какие-либо действия. Но меня такой подход немного пугал своей непредсказуемостью. Гораздо проще планировать игру, когда точно знаешь, что у тебя есть фиксированная карта. Можно запланировать расположение игроков их количество, количество городов и юнитов, приблизительно оценить нагрузку.
Итого получилось 1000 * 1000 = 1 000 000 записей в БД для карты. До этого я не работал с таким количеством записей и меня это насторожило. Думал что будет тормозить.
Я решил перехитрить MySql и разместить карту в 10-ти таблицах по 100 000 записей в каждой с надеждой, что станет быстрее работать. В итоге пришлось написать дурацкую логику по выборке клеток из нескольких таблиц сразу, а замеры показали что производительность только упала. Вернул все назад в 1-у таблицу.
Регионы
Клиент написан таким образом, что он не запрашивает с сервера определенные клетки, а запрашивает их партиями по 100 штук (10 на 10), которые я назвал регионами. То есть каждая клетка принадлежит какому-то региону и клиент запрашивает регионы и не конкретные клетки. Как только игрок перемещает карту так, что становится виден новый регион, мы посылаем запрос на сервер за этим регионом и граничащими с ним. Данные каждого загруженного регионакешируются на 30 секунд на клиенте. Это позволяет легко прокручивать карту без тормозов и лишних запросов на сервер и избавляет от задержки при появлении нового региона на карте — так как мы загружаем все соседние наперед.
Когда я делал эти «регионы» я не предполагал насколько они увеличат производительность. Оказалось выделить 100 клеток фильтруя по полю региона получается многократно быстрее чем фильтруя по координатам. Несмотря на то, что я объединил x и y координаты клетки в одно поле location = 1000*x + y. Сделал это прежде всего для удобства — чтобы легче было достать одну клетку.
Затем каждую сущность (города, юниты, ресурсы), которые располагаются на карте и имеют соответственно конкретные координаты, я также пометил регионом, что увеличило производительность выборок в сотни раз. Одно дело искать значения в таблице по ключу с миллионом уникальных значений и другое дело по ключу с 10 000 значений.
Таким образом получилась такая система: клиент запрашивает регионы — сервер достает из БД карту и все сущности на ней, быстро фильтруя по регионам — клиент отрисовывает это все в браузере на канвасе. У каждой сущности есть такие поля как время до окончания битвы или время до перемещения в следующую клетку — в этом случае по истечении этих таймаутов мы обновляем локально только то что требуется. Например если мы исследуем карту то догружаем только что открытые клетки и не более. Если вражеский юнит переместился — догружаем следующую точку его перемещения.
Исследование карты
Однако меня терзал еще один вопрос. Мне позарез хотелось сделать исследование карты — чтобы изначально она была не разведана и нужно было ходить по ней чтобы что-то увидеть.
Такого я не видел еще в браузерных играх (собственно как и юнитов передвигающихся по карте, а не по воздуху). Я принялся за расчеты. Стартовая позиция игрока расположена внутри региона. То есть максимальное количество игроков 10 000 как и регионов. Каждый игрок может разведать всю карту. Итого 10 000 * 1 000 000 = 10 миллиардов записей может быть в таблице пермишенов на клетки! Таблица карты показалась на фоне этого детским лепетом =). Конечно эта цифра завышена. Вряд ли кому-то удастся разведать всю карту — она очень большая. Но десятки и сотни миллионов записей в таблице пермишенов точно могут быть в конце игры.
И на эту таблицу нужно было джойнить все сущности включая саму карту каждый раз при выборке регионов. Здесь опять спас меня ключ по полю региона, который позволил делать эти джоины намного быстрее.
Провести нагрузочное тестирование чтобы определить на каком этапе сервер начнет тормозить не удалось еще. Максимум что я видел это чуть более 2-ух миллионов записей в таблице пермишенов.
Перемещение юнитов
Чтобы сделать перемещение юнитов пришлось тоже подумать и переписать логику несколько раз.
Первое что нам нужно, это точно отслеживать время открытия новых клеток чтобы можно было отфильтровывать клетки, юниты и города по этим данным. Сразу напрашивается использовать таблицу пермишенов на карту, но со спец-полем — означающим время когда эта запись станет активной. Так и было сделано. Клиент отправляет id юнита, и новую координату дислокации. Сервер просчитывает текущую позицию юнита, координаты клеток по которым он будет перемещаться, и в зависимости от территории этих клеток, типа юнита и других параметров высчитывает время когда этот юнит будет в каждой клетке. Затем дополнительно просчитываются таким же образом соседние клетки в зависимости от радиуса обзора юнита.
Все это вставляется в таблицу пермишенов на клетки и карта работает как часы. Юнит ходит по карте, при каждом его перемещении мы запрашиваем клетки вокруг него, стандартными методами, которые отфильтруют сущности уже по новым данным пермишенов учитывая время активации пермишена, где будут заветные открытые области.
Далее записи пермишенов, которые говорят о перемещении юнита мы помечаем еще 2 полями: id юнита и типом записи: ‘обзорные клетки‘ или ‘клетки по которым идет юнит‘. Первое поле нужно чтобы при остановке юнита или смене пункта назначения можно было их удалить, второе нужно чтобы при выборке юнита записать ему времена смены дислокации.
Затем коллеги по работе мне подсказали еще один довольно очевидный момент: ввести поле означающее время выхода юнита с данной клетки. Я назвал его out_timestamp. Это позволило легко выбирать текущие позиции всех юнитов и соответственно фильтровать вражеских юнитов по видимым нами клеткам.
Уверен, что мой пример не самая удачная архитектура для подобной игры, но вроде работает =) В следующих статьях могу рассказать о клиентской архитектуре, кешировании, используемом фреймворке и о том, как мне удалось сделать демонстрационную версию игры работающую без запросов к серверу, чисто на клиенте.
Да, кстати, часто после различных постов об игре народ начинает хвалить графику, а не геймплей. Так что скажу сразу — я ее не рисовал. Это все наш художник-дизайнер Максим Кудрицкий.
P. S. Спасибо TheShock за помощь и поддержку в написании топика! =)
50+ игр в жанре стратегия
Время чтения: 11 минут
В статье мы расскажем про создание игры в жанре стратегия. Напомним, что так называют один из популярных гейм жанров, в которых первостепенное значение имеют не быстрота реакции пользователя, а его способность логически мыслить, анализировать ситуацию и за счёт этого побеждать. Подробнее по теме можно узнать прочитав статьи о движке Unity, методах оптимизации локаций, оформлении документации по разработке. Значительная часть материала посвящена топу в разработке игры в жанре стратегия 20 для ОС Windows и 10 на Android.
Этапы разработки стратегий
Главные из них следующие:
Каков будет итог? Чего геймер должен достигнуть, чтобы победить? Чем ваша задумка будет оригинальнее, тем выше вероятность успеха.
Под последним понимается комплексное программное решение, которое позволяет не делать всё с самого нуля. Доступны два проверенных варианта: Unreal или Unity. Последний больше предпочитают новички, второй – более опытные.
Сначала делаются образы объектов (фонов, карт, второстепенных и главных героев). Затем проектируются 2D модели и 3D модели. Для движущихся объектов программируется 3D анимация. Далее идёт работа над спецэффектами, где таковые нужны.
Указание того, какое событие B должно произойти при наступлении события или условия A. Например, что будет если 5 персонажей с силой 3 атакуют 4 персонажа с защитой 7 или попытаются взять город. Всё это должно просчитываться программой, быть закодированным.
Это, пожалуй, главный способ сделать игру по-настоящему популярной. Когда в ней одновременно могут быть задействованы множество пользователей, связанных через интернет.
Делится на закрытое и открытое. Одно следует за другим. Главные цели первого – устранение критических багов, проблем с логикой и гейм-дизайнерских ошибок. Основные цели второго—оптимизация под большие нагрузки и приём значительного трафика, а также проверка эффективности монетизации.
Очень удачным примером разработки является стратегия Казаки, её подробное описание можно найти по ссылке казаки 4.
Топ 20 примеров создания стратегии на Windows
Опишем вкратце каждый из них.
20. StarCraft II
Продолжение Blizzard. Космос, сражения различных рас и т. п. Оригинальный сюжет, креативно проработанные миссии и компании, масса неожиданностей и сюрпризов для геймера.
19. Cities: Skylines
Самый известный и популярный градостроитель. Проектировать можно всё, включая метро и систему сточных вод. Предусмотрен максимальный контроль геймера над внешним видом каждой улицы и здания.
18. Ultimate General: Gettysburg
Простой в управлении и тактически продуманный симулятор Гражданской войны США. Геймер может выступать как за одну, так и за другую сторону. Хотя сюжет касается истории США, игра заслужила популярность во всём мире.
17. Stardew Valley
Фермерский симулятор. От геймера требуется решать в какой сезон, какие культуры сажать, планировать свою деятельность так, чтобы получить максимальную прибыль. Есть ролевые элементы.
16. FTL: Faster Than Light
Космический симулятор. Геймеру приходится постоянно решать массу сложных задач: находить ресурсы, одновременно сражаться с повстанцами и различными расами пришельцев, ремонтировать пробоины в корпусе корабля. Прохождение сильно различается в зависимости от выбора последнего.
15. WarCraft III
Проект далеко вышел за пределы эпической борьбы орков, людей и их союзников. Геймера ждёт масса увлекательных задач, непредсказуемых поворотов сюжета, появление новых героев и персонажей.
14. Warhammer 40,000: Dawn of War II
Сюжет сосредоточен на приключениях небольшой группы космодесантников, каждый из которых имеет ярко выраженные индивидуальные черты. Прохождение очень напоминает участие геймера в футуристическом военном фильме.
13. Age of Mythology
В игре охватывается греческая, египетская, скандинавская мифология. Различные цивилизации выглядят несколько карикатурно, но в целом пристойно. Тематика и механические элементы сделаны очень хорошо.
12. Master of Orion II
В отличие от многих других космических симуляторов, геймер в нём имеет возможность создать свою собственную космическую расу. В зависимости от списка выбранных черт, она участвует в тех или иных космических битвах.
11. Supreme Commander: Forged Alliance
В симуляторе очень большое внимание уделено контролю геймера над ресурсами, производствами, расчёту того, сколько войск понадобится в конкретный момент, чтобы победить соперника.
10. Rise of Nations
По сути усовершенствованная Age of Empires. Несколько по-другому сделаны укрепления, что требует иной тактики осуществления набегов и штурма, создаёт для геймера новые возможности и риски.
9. Company of Heroes 2: Ardennes Assault
Игра посвящена Второй мировой. Естественно американский взгляд. Но главное здесь не захватить вражескую базу, а контроль ресурсов, их распределение, грамотно проведённая разведка. Своеобразно выглядит пространство боя.
8. Mount & Blade: Warband
Симулятор средневековья. Сражения времён феодализма. Имеет значение всё, начиная от выбора войск и заканчивая династическими браками, вассалитетом и т. п. Чтобы победить, придётся очень хорошо подумать.
7. Total War: Warhammer II
Идеально подходит для всех, увлечённых фентези. Драконы, изрыгающие огонь, рыцари в сияющих доспехах, ужасные демонические существа. Карта колоссальных размеров, множество рас, сюжет, способный развиваться самым непредсказуемым образом.
6. Sid Meier’s Civilization V
В своё время была весьма популярна в нашей стране. Число борющихся за господство цивилизаций огромно. Участник может (пусть понарошку) изменить ход Мировой истории. Хорошо проработанны карта, персонажи, сюжет.
5. XCOM 2
По сравнению с предшественниками имеет более напряжённый сюжет. Ситуация для геймера может кардинально измениться буквально на ровном месте. Чтобы победить важно сохранять хладнокровие и быть постоянно готовым к неожиданностям.
4. Europa Universalis IV
Симулятор эпохи Великих географических открытий и начала Нового времени. Великолепный, интуитивно понятный интерфейс. Шикарная карта мира. Затрагиваются все аспекты, влияющие на силу той или иной державы, включая не только военную составляющую, но и торговлю, экономику и т. д.
3. Total War: Attila
Одна из самых увлекательных компаний, предложенных Total War. Охватывает период между падением Римской империи и подъёмом средневековой Европы. Изменения климата вынуждают варваров покинуть свои северные территории, к этому добавляется великое нашествие с Востока. Задача геймера отвоевать для своего персонажа место в этом жестоком мире.
2. StarCraft: Brood War
Сюжет носит научно-фантастический характер. Несколько фракций пытаются найти баланс в отношениях между собой, заключают союзы и, естественно, воюют. Симуляция очень сильно затягивает, не замечаешь, как быстро проходит время.
1. Crusader Kings II
Симулятор не для детей, по крайней мере, воспитывающихся в традиционной системе ценностей. Прошу обратить внимание, что мы пишем о мировом рейтинге, а не о российском. Поэтому инцест и королева-лесбиянка, не должны вас удивлять. Главное в симуляторе – не нации и армии, а люди, известные и не очень исторические персонажи.
Топ 10 примеров создания Пошаговых стратегий на Android
Их несколько меньше, чем для Windows, но всё равно заслуживают внимания.
10. Tropico
Геймеру отводится роль управляющего тропическим островам. Можно стать тираном или добрым руководителем. По любому придётся заниматься обустройством территории, строительством дорог, наймом иностранных рабочих и т. д.
9. Mindustry
Геймер управляет множеством вещей, добывает ресурсы для строительства, защищает конвейерные ленты и т. д. Всё простенько, но интересно.
8. Civilization Revolution 2
Упрощённая версия проекта со сходным названием. Не так совершенна, как для ПК, хотя многих увлекает.
7. XCOM: Enemy Within
Вышла давно, но до сих пор остаётся популярной. Улучшение XCOM: Enemy Unknown. Целью является противостояние инопланетянам, стремящимся захватить Землю.
6. Fire Emblem: Heroes
Первый подход Nintendo к разработке для Android. Все основные герои из серии участвуют в новой истории. Цель – спасение Империи Эмблиан.
5. Pandemic: The Board Game
Берёт своё начало от одноимённого настольного прототипа. Выбираете своего персонажа, наделённого определённым талантом и спасайте мир о глобальной пандемии.
4. Hearthstone
Вышла достаточно давно. Геймер вызывает карты существ и произносит заклинания, основанные на вселенной Warcraft. Предусмотрены рейтинговые матчи, еженедельные потасовки в таверне и т.д.
3. The Escapists 2: Pocket Breakout
Персонаж геймера должен сбежать из тюрьмы. Для этого ему можно зарабатывать деньги для подкупа охранников, красть припасы, устраивать тюремные бунты и т. д. Всего предусмотрено 5 тюрем.
2. Chess by AI Factory Limited
Всем известные шахматы. Всего 12 уровней, рассчитанных как на новичка, так и на профессионала.
1. ROME: Total War
Одноимённый проект, перенесённый на мобильную платформу. Цели и задачи у геймера те же. Всё несколько упрощено, тем не менее затягивает.
Стоимость разработки и создания стратегии варьируется в диапазоне от 2-5 млн. рублей за простую мобильную стратегию и до 20-45 млн. рублей за игру с ААА графикой.
Возможно, вас заинтересует, как сделать аркады, мобильные приложения, квесты. Читайте, учитесь, становитесь мудрее, опытнее и богаче.