Как сделать свою игру кликер

PIXI.js создание кликера

Большинство тех, кто начинает изучать программирование, начали это из-за желания сделать свою игру. Нууу… я не исключение, но судьба меня занесла в веб разработку.

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер

Ладно, давай ближе к делу. Создать кликер при помощи pixi.js.

Задача тривиальная, но т.к. в разработке игр я мало разбираюсь, то пришлось изучить чуть лучше эту тему.

Почему Js? Почему pixi.js? Почему вообще кликер?!

— Я решил показать лишь свою реализацию задачи. Не хочу учить кого-то какими технологиями пользоваться, как писать код. Просто мое решение задачи.

Перед началом написания кода:

Во-вторых весь код я вставлю картинкой, но в конце статьи будет ссылка на github с исходниками проекта, чтобы вы могли сами потыкать.

В коде я оставил поясняющие комментарии для вас, надеюсь понятно будет.

Для начала мы объявляем алиасы и инициализируем само приложение.

Создаем нужные переменные под все элементы игры и загружаем картинки.

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер

Для картинок я выбрал формат атласа.

Если не знаком с атласом, то это json формат для загрузки большого количества картинок за один раз.

Вот так это выглядит в коде

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер

Я создавал это с помощью TexturePacker. Делать такое вручную, на мой взгляд, не целесообразно.

С помощью функции setup я разбираю атлас, задаю расположение элементов, стили для текста, добавляю начальное значение очков.

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер

Это стандартные действия для всего(расположение). Самое интересное это три свойства у target. interactive, buttonMode и on(«pointerdown», handlerClick). Первые два нужны для взаимодействия клика и элемента target. on — это обычный обработчик событий.

Теперь нам нужно написать все необходимые функции для работы игры.

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер

Игровой цикл — gameLoop
Состояние игры — play
Обработка клика — handlerClick

gameLoop просто вызывает функцию state.

В play я проверяю значение timer(он равен 10) и разрешаю клик по кнопке, так же обновляю размеры target.

handlerClick идет проверка на возможность клика и производится клик.

Из недостатка, который я вижу, это изменение размеров у target элемента. Он изменяется с 0.9 до 1. Сразу. Без анимации. Но когда ты играешь это не заметить, оставил как есть.

Как и обещал, ниже ссылка на github проект.

Если вы не сталкивались с pixi, но хотите развернуть игру у себя, то вам потребуется сервер. Я использовал openserver. Это нужно для ajax запросов.

Источник

Создание простой кликер-игры с нуля

В последние несколько лет набирают большую популярность игры такого жанра, как «кликеры». Мне самому очень интересно играть в них, но не менее интересно создавать игру — кликер самому. Благодаря такому движку как Unity, создать свой шедевр не составит труда даже простому новичку. Давайте перейдем к делу.

Что нужно сделать?

О чем будет игра?

Игроку нужно вовремя выбрать либо меч, либо щит, в зависимости от того, что будет падать сверху. То есть, падает меч — выбираем меч, падает щит — выбираем щит. При неправильном выборе игрок просто проиграет. На словах всё довольно просто, а в реализации еще проще.

Откуда мне новичку брать красивый спрайт и фон? Ответ: нарисовать самому.

Тут нет ничего сложного, так как мы рисуем в Adobe Illustrator. Даже если у вас нет опыта в рисовании, то опять же не расстраиваемся, так как я покажу вам всё по деталям.

Техника проста и покажу на примере меча:

И всё, наш меч готов!

Также проделываем и с другими. Не пугайтесь, если в начале одно ваше творение покажется вам далек от идеала, ведь в совокупности они будут смотреться, как картина Ван Гога. Шутка. А может и нет.

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер

Задний фон сделаем еще хитрее.

Нарисуем зеленый прямоугольник и используем градиент. Выглядит вот так:

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер

Можно сказать, что уроки художества на этом закончены и мы наконец идем в Unity.

В первую очередь закинем наши спрайты, а меч и щит перетащим в окно иерархии, так как нам нужно будет создать из них префабы и не только.

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер

Далее украсим игру спрайтами, нарисованными ранее. Первым делом кидаем фон.

Основной секрет дизайна такой: сверху и снизу разместим ветки, а у лесенки уменьшим значение прозрачности. Зачем это делать?

Дело в том, что таким образом мы создаем некую иллюзию пространства. Игроку будет казаться, что есть передний объект, задний и горизонт. И это классно!

Таким же путем создаем текст, чтобы показывать наш текущий счет и рекорд.

И наконец, мы дошли и до программирования.

Что творится в этих методах?

Start (). Он запускается каждый раз, когда мы запускаем игру или же перезапускаем сцену. Всё что прописано внутри этого метода выполняется только один раз. Поэтому мы туда записываем: счет равный нулю, запуск корутины (то, что отвечает за создание префабов), значение времени.

Update (). Выполняется раз за кадр. Сюда удобно записать то, что постоянно должно обновляться. В нашем случае: показатель счета и рекорда, рандомное значение n от которого зависит что создастся – меч или щит.

BtnClick (). Вы спросите, почему перед этим методом стоит «public»? Нам необходимо, чтобы он отражался в самом Unity и мы могли прописать слово «Click», чтобы отследить, на какую именно кнопку мы нажимаем, хотя и кнопка всего одна, знать чуточку больше никому не помешает.

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер

Сюда запишем то, что должно произойти после нажатия на кнопку. При нажатии должно меняться с меча на щит и наоборот, устанавливать значение времени «1», так как при проигрыше она обнуляется.

OnTriggerEnter2D (). Проверяет столкновение объекта. Если теги обеих объектов совпадает, то счет увеличивается на единицу, а префаб уничтожается. Если теги разные, то проигрыш – останавливается время и обнуляется счет.

Осталось добавить эти самые теги. И тут всё очень просто:

После создания также нажимаем на Tag и выбираем нужный.

Осталось перенести скрипты нужным объектам и заполнить некоторые поля. Создадим пустой объект и добавим скрипт «Main Script», а «Player Script» добавим в наш меч и щит.

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер

С полной уверенностью могу сказать, что игра готова. Запускаем и наслаждаемся своим первым творением.

Источник

Пишем бота-кликера на Python для Lineage 2

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер

Предисловие

Как можно развлечься в новогодние праздники? Поиграть в компьютерные игры? Нет! Лучше написать бота, который это будет делать за тебя, а самому пойти лепить снеговика и пить глинтвейн.

Когда-то в школьные годы был увлечен одной из популярных MMORPG — Lineage 2. В игре можно объединяться в кланы, группы, заводить друзей и сражаться с соперниками, но в общем игра наполнена однообразными действиями: выполнением квестов и фармом (сбор ресурсов, получение опыта).

В итоге решил, что бот должен решать одну задачу: фарм. Для управления будут использоваться эмулированные клики мыши и нажатия клавиш клавиатуры, а для ориентирования в пространстве — компьютерное зрение, язык программирования — Python.

Вообще, создание бота для L2 дело не новое и их готовых есть довольно много. Делятся они на 2 основные группы: те, которые внедряются в работу клиента и кликеры.

Первые — это жёсткий чит, в плане игры пользоваться ими слишком уж неспортивно. Второй вариант интереснее, учитывая, что его можно будет с некоторыми доработками применить к любой другой игре, да и реализация будет интереснее. Те кликеры, которых я находил, по разным причинам не работали, либо работали нестабильно.

Внимание: вся информация здесь изложена только в познавательных целях. Особенно для разработчиков игр, чтобы помочь им лучше бороться с ботами.

Работа с окном

Тут все просто. Будем работать со скриншотами из окна с игрой.
Для этого определим координаты окна. С окном работаем с помощью модуля win32gui. Нужное окно определим по заголовку — “Lineage 2”.

Получаем картинку нужного окна с помощью ImageGrab:

Теперь будем работать с содержимым.

Поиск монстра

Самое интересное. Те реализации, которые я находил, мне не подошли. Например, в одном из популярных и даже платном это сделано через игровой макрос. И “игрок” должен для каждого типа монстра прописывать в макросе типа “/target Monster Name Bla Bla”.

В нашем случае мы последуем такой логике: в первую очередь найдём все тексты белого цвета на экране. Белый текст может быть не только названием монстра, но и именем самого персонажа, именем NPC или других игроков. Поэтому надо навести курсор на объект и если появится подсветка с нужным нам паттерном, то можно атаковать цель.

Вот исходная картинка, с который будем работать:

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер

Закрасим черным своё имя, чтобы не мешало и переведем картинку в ч/б. Исходная картинка в RGB — каждый пиксель это массив из трёх значений от 0 до 255, когда ч/б — это одно значение. Так мы значительно уменьшим объем данных:

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер

Найдем все объекты белого цвета (это белый текст с названиями монстров)

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер

Находим середины получившихся пятен

Работает, но можно сделать прикольнее (например, для монстров, имена которых не видны, т.к. находятся далеко) — с помощью TensorFlow Object Detection, как тут, но когда-нибудь в следующей жизни.

Теперь наводим курсор на найденного монстра и смотрим, появилась ли подсветка с помощью метода cv2.matchTemplate. Осталось нажать ЛКМ и кнопку атаки.

С поиском монстра разобрались, бот уже может найти цели на экране и навести на них мышь. Чтобы атаковать цель, нужно кликнуть левой кнопкой мыши и нажать «атаковать» (на кнопку «1» можно забиндить атаку). Клик правой кнопкой мыши нужен для того, чтобы вращать камеру.

На сервере, где я тестировал бота, я вызвал клик через AutoIt, но он почему-то не сработал.

Как оказалось, игры защищаются от автокликеров разными способами:

А некоторые приложения, как клиент этого сервера, могут определять источник клика на уровне ОС. (будет здорово, если кто-нибудь подскажет как именно).

Были перепробованы некоторые фреймворки, которые могут кликать (в т.ч. pyautogui, robot framework и что-то еще), но ни один из вариантов не сработал. Проскользнула мысль соорудить устройство, которое будет нажимать кнопку (кто-то даже так делал). Похоже, что нужен клик максимально хардварный. В итоге стал смотреть в сторону написания своего драйвера.

На просторах интернета был найден способ решения проблемы: usb-устройство, которое можно запрограммировать на подачу нужного сигнала — Digispark.
Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер

Ждать несколько недель с Алиэкспресса не хочется, поэтому поиски продолжились.

Библиотека у меня не завелась на питоне 3.6 — вываливалась ошибка Access violation что-то там. Поэтому пришлось соскочить на питон 2.7, там всё заработало like a charm.

Движение курсора

Библиотека может посылать любые команды, в том числе, куда переместить мышь. Но выглядит это как телепортация курсора. Нужно сделать движение курсора плавным, чтобы нас не забанили.

По сути задача сводится к тому, чтобы перемещать курсор из точки A в точку B с помощью обертки AutoHotPy. Неужели придется вспоминать математику?

Немного поразмыслив, всё-таки решил погуглить. Оказалось, что ничего придумывать не надо — задачу решает алгоритм Брезенхэма, один из старейших алгоритмов в компьютерной графике:
Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер

Прямо с Википедии можно взять и реализацию

Логика работы

Все инструменты есть, осталось самое простое — написать сценарий.

Из более-менее интересного опишу, как я получал статус здоровья жертвы. В общих чертах: находим по паттерну с помощью OpenCV элемент управления, показывающий статус здоровья цели, берём полоску высотой в один пиксель и считаем в процентах, сколько закрашено красным.

Теперь бот понимает, сколько HP у жертвы и жива ли она еще.

Основная логика готова, вот как теперь он выглядит в действии:
Для занятых я ускорил на 1.30

Остановка работы

Вся работа с курсором и клавиатурой ведется через объект autohotpy, работу которого в любой момент можно остановить нажатием кнопки ESC.

Проблема в том, что всё время бот занят выполнением цикла, отвечающим за логику действий персонажа и обработчики событий объекта и autohotpy не начинают слушать события, пока цикл не закончится. Работу программы не остановить и с помощью мыши, т.к. бот управляет ей и уводит курсор куда ему нужно.

Нам это не подходит, поэтому пришлось разделить бота на 2 потока: слушание событий и выполнение логики действий персонажа.

и теперь вешаем обработчик на ESC:

при нажатии ESC устанавливаем событие

и в цикле логики персонажа проверяем, установлено ли событие:

Теперь спокойно останавливаем бота по кнопке ESC.

Заключение

Казалось бы, зачем тратить время на продукт, который не приносит никакой практической пользы?

На самом деле компьютерная игра с точки зрения компьютерного зрения — почти то же самое, что и снятая на камеру реальность, а там возможности для применения огромны. Отличный пример описан в статье про подводных роботов, которые лазером стреляют по лососям. Также статья может помочь разработчикам игр в борьбе с ботоводами.

Ну а я ознакомился с Python, прикоснулся к компьютерному зрению, написал свой первый слабоумный искусственный интеллект и получил массу удовольствия.
Надеюсь, было интересно и вам.

Источник

Дизайн и математика игр-кликеров

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер

Инкрементные игры потрясающи и загадочны. Кажется, что они нарушают привычную логику хорошего геймдизайна, и тем не менее, им удаётся привлекать солидную базу игроков. Давайте изучим их более подробно, чтобы раскрыть их секрет.

Что такое инкрементная игра?

Игрок нажимает на кнопку, число увеличивается. Нажимает снова, число снова увеличивается. Игрок продолжает нажимать, и постепенно разблокирует функцию, увеличивающую число за игрока. Числа растут, даже когда вы не играете. И этот процесс повторяется вечно.

В сущности, такова общая структура «инкрементной» игры. Она кажется простой, даже примитивной, но в игровом процессе есть неожиданная глубина и привлекательность. Стили игры могут быть разными — от коммерчески успешных и казуальных Clicker Heroes и AdVenture Capitalist до более экспериментальных или хардкорных примеров, таких как Candy Box, Cookie Clicker и Sandcastle Builder.

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер
Cookie Clicker, самое начало.

Что же самое важное в инкрементной игре? Хотя в этом жанре есть множество вариаций и экспериментов, фундаментальными аспектами дизайна являются:

Психология растущих чисел

Что так сильно привлекает игроков в этих играх? Причин множество, но две самые важные заключаются в том, как инкрементные игры используют уникальные грани человеческой психологии.

Первая, часто упоминаемая в обсуждении инкрементных игр, известна под названием «ящик Скиннера». Эти экспериментальные камеры, названные (к его разочарованию) в честь бихевиориста Б.Ф. Скиннера, были созданы для изучения поведенческого обусловливания животных. В «камере оперантного обусловливания» обычно содержится животное, которое может получить награду (например, пищу) как реакцию на выполнение действия (например, нажатия на кнопку). Примечательно, что после освоения механизма реагирования наблюдаемые животные продолжали выполнять действия, даже если они давали награду только после длительных интервалов или случайным образом.

По аналогии, системы, периодически награждающие пользователей или игроков за повторяющиеся действия часто иронически называют «ящиками Скиннера», потому что создаваемый ими неврологический цикл обратной связи может быть невероятно аддиктивным. Эта структура наиболее очевидна в инкрементных играх: игрок выполняет действие (нажимает или ждёт), и периодически награждается за свои усилия растущими числами. Само по себе это не всегда плохо, и эта механика используется часто. Многим играм приходится обучать игроков выполнению определённых действий в системе игры и использовать положительные награды (очки, опыт) и отрицательные результаты (смерть), чтобы показать игроку правильный способ прохождения. В инкрементных играх использование этой механики просто гораздо очевиднее.

Вторая психологическая опора инкрементных игр — это наша страсть к накоплению и боязнь потерь. Наш мозг устроен так, что не любит терять, и наоборот, он даёт нам сильное желание накапливать.

В инкрементных играх используются обе эти стороны. Поскольку количество основной валюты всегда увеличивается, даже когда вы не играете, она снижает тревогу от боязни потерь: вы можете безопасно заниматься чем-то другим, не боясь, что потеряете «деньги». Кроме того, в сочетании со слабыми навыками счёта нашего мозга, мы получаем удовольствие от растущих чисел, даже если эти числа лишены внешнего значения. Поэтому, хоть это и выглядит смешно, просто увеличивающееся количество доставляет нам удовольствие.

Повторюсь, это свойство используется в инкрементной игре явным образом, но в разной степени оно применяется в большинстве игр: именно поэтому «очки» стали таким распространённым механизмом вознаграждения игроков.

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер
«Потолок» накопления в Clash of Clans эксплуатирует боязнь потери: вы «теряете» потенциальные прибыли, если не заходите в игру часто.

Истоки жанра

В этом механизме есть мощный цикл действия/вознаграждения. Критически важно то, что время, вкладываемое для получения каждой новой награды, становится всё больше и больше. Наиболее известен гриндинг уровней EverQuest, кривая повышения уровней этой игры настолько крутая, что чем больше игроки тратили времени, тем на самом деле становились относительно менее сильными. Несмотря на это, используемый игрой цикл подкрепления мог быть невероятно соблазнительным. EverQuest стала одной из первых игр, вызвавших широкое обсуждение игровой зависимости.

Сатирой на этот бесконечный гринд стала игра 2002 года Progress Quest, созданная Эриком Фредриксеном (Eric Fredricksen). Её можно считать первым примером настоящей инкрементной игры (в противовес используемой в качестве «крючка» инкрементной механики EverQuest). Также эта игра является одной из самых минималистичных, потому что она избавилась от всякого подобия взаимодействия с игроком. Это игра для нуля игроков: после создания персонажа игра убивает им мобов, выполняет квесты, повышает уровень, без каких-либо действий со стороны игрока. Несмотря на то, что она была почти буквальным воплощением принципа reductio ad absurdum, критики считали, что она «гораздо больше пугала тем, что была интересна».

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер
Часть линеек прогресса в ProgressQuest.

Несколько лет спустя новыми наследниками инкрементной механики стали социальные игры. Социальные игры (чаще всего в Facebook) тоже стремились к тому, чтобы в них играли как можно дольше (в них не было подписки, зато использовались зарождавшиеся тогда инструменты монетизации free-to-play). Примечательно, что инкрементная механика в таких играх была не только системой вознаграждения, но часто и всей игрой. Одним из наиболее успешных примеров стала игра 2009 года FarmVille. В сущности, это был симулятор фермы, но в нём очень мало управления ресурсами и стратегического планирования. Игрок просто покупает участки земли, на которых выращивает побеги (а позже и скот), собирает и продаёт урожай, покупает новые участки, и так далее, до бесконечности. На пике популярности в неё играло 80 миллионов людей.

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер

Очевидная простота подобных игр навлекла на себя критику, а профессор Иэн Богост создал сатирическую деконструкцию концепции в игре 2010 года Cow Clicker. Богост придумал эту игру, чтобы продемонстрировать бесцельность базового механизма игры (нажимай на корову, чтобы увеличить число), но был удивлён и удручён тем, что люди на самом деле играли в игру без всякой иронии. Несмотря на то, что это была попытка показать, насколько пусты и бессмысленны на самом деле такие игры, Cow Clicker случайно доказала обратное.

Инкрементные игры сегодня

В Hay Day, созданной той же компанией, использование этой механики ещё более очевидно. Базовый цикл игры заключается только в инкрементном росте и реинвестициях:

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер
Игровой цикл Hay Day. На основе схемы из статьи Game monetization design: Analysis of Hay Day Пита Коистила.

Одной из наиболее успешных современных инкрементных игр стала Cookie Clicker (2013 год), привлекшая больше массового внимания к играм, имеющим только инкрементную механику. В Cookie Clicker используется одна валюта (печеньки), которые игрок может медленно накапливать, нажимая на большое печенье, а затем тратить на апгрейды, производящие печенье автономно. Простой антураж, очаровательный стиль графики и постепенное погружение в абсурдность «сюжета» помогли игре и жанру получить широкую популярность. Она стала причиной возникновения массы подобных игр с новыми взглядами на концепцию, игр, выпускаемых и по сей день.

Игры ли это вообще?

Благодаря простоте базовой механики и ограниченным возможностям взаимодействия с системой инкрементные игры могут расширить наше определение того, что же такое «игра». Многие критики и комментаторы называли эти игры бездумными, тупыми и бессмысленными, в то же время признавая, что они могут быть аддиктивными или гипнотическими. Создатель Cow Clicker Иэн Богост, рассуждая о монотонности и повторяемости Cookie Clicker, дошёл до того, что назвал её одной из первых игр для компьютеров, а не людей. Но это заявление противоречит тому количеству людей, которые в них играют.

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер
Игра Number Тайлера Глэйела, особенно очевидный пример.

Чем бы они ни казались, инкрементные игры, на самом деле, являются играми. Можно на мгновение отвлечься от их потрясающей аддиктивности, потому что перечисление причин их привлекательности — это не то же самое, что анализ их с точки зрения игр. Игры большинства жанров используют инстинкты или подсознательные желания своих игроков, но всё это вторично по отношению к тому, что делает игры играми.

Во-первых, инкрементные игры содержат и не слишком очевидные на первый взгляд механики, самая важная из которых — исследование. В большинстве инкрементных игр игрок не знает весь список апгрейдов, которые он может купить, как не знает максимального предела основного числа и скорости, которой он может достичь. Исследование пределов интерактивной системы — одно из отличительных качеств игр, и инкрементные игры в этом не исключение. Даже если они кажутся простыми, часто в них есть широкие возможности для исследований. В частности, можно утверждать, что Candy Box в гораздо большей степени посвящена исследованиям и открытиям, чем инкрементному росту, несмотря на то, что эта функция наиболее очевидна.

Во-вторых, хоть инкрементные игры и обнажают бессодержательность своих предпосылок («сделай так, чтобы число было как можно больше»), они на самом деле только средства, которые могут сделать игру увлекательной. Например, Cookie Clicker позволяет использовать стратегию, потому что существует множество способов увеличения метрики «Количество печенья в секунду». То есть «игра» заключается в оптимизации системы для достижения этой цели. У большинства игр других жанров цели в действительности тоже бессмысленны («сделай так, чтобы числа росли»), но интересная часть заключается в преследовании этой цели. Инкрементные игры просто прямолинейно заявляют об этом. В своём основополагающем труде 1937 года Homo Ludens антрополог Йохан Хёйзинга рассматривает игру, которая «несерьёзна, но в то же время полностью поглощает игрока. Действие не связано с материальной заинтересованностью и из неё нельзя извлечь никакой выгоды». Эти качества очень легко заметить в инкрементных играх.

Красота в простоте

Инкрементные игры в последние годы испытывают всплеск популярности, и без всяких сомнений, мы увидим и новые примеры, дальнейшее исследование механики и инновации в предпосылках. Было бы ошибкой отбрасывать эти игры и считать их необъяснимо аддиктивными.

Надеюсь, что при их критическом исследовании и изучении их истории мы сможем оценить минималистичную красоту и изящество реализации таких игр. Так что относитесь к ним без предрассудков и изучите эту форму. Не удивляйтесь, что игра в процессе изучения увлечёт вас на несколько часов.

Итак, мы рассмотрели историю жанра и определили, что делает эти игры уникальными, но пока ещё не углублялись в их дизайн. Хоть инкрементные игры и выглядят простыми, их дизайн обнаруживает сложный и вдумчивый замысел их создателей. Изучив самые успешные примеры в жанре, мы сможем лучше оценить возможности этих игр и лучше понять, как создавать собственные проекты. Прежде чем погружаться в математику, давайте рассмотрим три важных фактора, которые легко упустить: качество исследований, разницу между «кликером» и idle-игрой и важность целостности темы и графики.

Радость открытия

Одним из самых важных векторов «интересности» инкрементной игры является исследование. Многие из таких игр начинаются с очень простой схемы, но с течением времени сложность увеличивается по спирали. Процесс исследования этой сложности затрагивает нашу природную страсть к изучению новых и скрытых особенностей. Candy Box, например, можно считать игрой, в основном нацеленной на исследование её системы. Увеличение количества конфет — это просто механизм разблокирования нового контента.

То есть большинство инкрементных игр не раскрывает всю свою систему с самого начала, а ограничивает доступ к новым функциям уровнями первичной валюты. Этот контент может быть «известным неизвестным», как в Idling to Rule the Gods, в которой некоторые части игры явно оставлены пустыми и игра объясняет, как и когда их можно разблокировать. Или он может быть «неизвестным неизвестным», когда игрок не знает о существовании функций, пока не достигнет определённого уровня, как бо́льшая часть контента в Cookie Clicker. В некоторых играх содержатся оба элемента: AdVenture Capitalist сообщает игроку о количестве контента, который он может открыть, но при этом содержит множество скрытых функций, возникающих в процессе игры.

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер
Похоже, дорога предстоит долгая.

Исследование — важная функция в дизайне инкрементной игры, потому что она создаёт для игрока систему вознаграждений за исследование базовой механики игры. Если показать всё заранее, вы не только повысите входной барьер обучения игре, но и потеряете удовольствие, получаемое от постепенного знакомства с системой.

Ожидание или клики?

Инкрементные игры обычно сосредоточены на двух пересекающихся, но чётко разделяемых базовых механиках:

Выбор подхода в основном зависит от предпочтений и фокусировки на целях игры. Игра, требующая активного управления, может быть более интересной для игрока в течение короткого промежутка времени, но если она реализована таким образом, что требует слишком сильного и частого вмешательства игрока, то может нарушать принципы этического и гуманного геймдизайна. Аналогично, более автономный подход с «ожиданием» может быть менее интересным для игрока в текущей игровой сессии, но способен создавать более длительную привязанность к игре. Это объясняет, почему idle-игры на Kongregate имеют такие высокие показатели удержания. AdVenture Capitalist даже сообщает игроку о том, что произошло в его отсутствие, подчёркивая тот факт, что игра не требует его постоянного внимания:

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер

Графический стиль и тематика

Для инкрементных игр часто полезна нарративная тема, на основе которой строится механика (хоть это и очень легко упустить из-за минимализма механики). Интересная тема может добавить контекста абстрактному процессу увеличения чисел. Кроме того, все игры выигрывают от выбора хорошего графического стиля и дизайна, и инкрементные игры — не исключение. Единая эстетика помогает игре создавать ощущение целостного игрового процесса, а понятный интерфейс снижает мыслительную нагрузку при навигации в игре, позволяя игроку сосредоточиться на самой игре, вместо того, чтобы разбираться с некачественными элементами интерфейса пользователя.

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер

Этот пример из AdVenture Capitalist — хорошая тому иллюстрация. Тема игры — управление бизнесом и капиталистический рост (она хорошо подходит к геймплею с постоянно растущими числами). В ней используется графический стиль эстетики гуги 1950-х годов. Она используется повсеместно (и реализована с юмором), даже меню и туториалы выполнены «в стиле» и поддерживают визуальную и нарративную тему.

По сравнению с играми других жанров, инкрементные игры требуют гораздо меньшего от графики и сценария, но важно не перепутать меньшие требования с отсутствием требований.

Числа растут

Самая важная механика инкрементных игр — увеличение чисел. В прошлый раз мы определили её следующим образом:

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер

Когда игра начинается, «скорость прироста» числа равна 0,1 в секунду. Сумму накопленного «числа» можно тратить на увеличение скорости. Вот пример первых пяти покупок. В первом столбце указана стоимость, во втором — новая скорость «числа в секунду»:

ЦенаСкорость прироста
1,00,2
1,20,4
1,40,7
1,71,2
2,21,8

Даже с таким небольшим объёмом данных мы можем заметить некоторые из особенностей дизайна инкрементной игры. Первая — это нелинейное увеличение цены и выгоды: нужно всё больше и больше чисел для получения относительно меньшего прироста инкремента.

Это логично с точки зрения практичности: если бы цена/выгода оставались теми же (например, если бы увеличение скорости прироста на 0,2 всегда бы стоило 1), то никакой вариативности в результатах не было, а скорость прироста увеличивалась бы стабильным и предсказуемым темпом. Это бы очень быстро надоело!

Однако вот как выглядят цена (синяя) и скорость прироста (оранжевая) для первых двадцати покупок:

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер
Синее: цена n-ного апгрейда. Оранжевое: скорость прироста в секунду, сгенерированное после n покупок. Например, десятая покупка стоит 7 единиц, и она даёт скорость прироста 7,6 единиц в секунду.

(Можете скачать XLSX с данными, использованными для создания этих графиков из репозитория GitHub или просмотреть его аналог в Google Sheets.)

Мы чётко видим здесь, что эти функции нелинейны (даже если проигнорировать скачок формулы цены на двенадцатой итерации), и что рост цены быстро обгоняет увеличение скорости прироста. Это важный аспект дизайна, потому что это значит, что время, потраченное на ожидание возможности покупки следующего апгрейда в течение процесса игры, растёт экспоненциально. То есть в начале игра развивается очень быстро, игроку нужно всего лишь время от времени ждать, чтобы накопить достаточно для следующей покупки, но постепенно скорость снижается.

В большинстве инкрементных игр есть несколько источников апгрейдов увеличения скорости прироста, а не один, как в Number. И это основной источник исследований и стратегий инкрементных игр, потому что наличие нескольких векторов усовершенствований, цена которых растёт нелинейно, добавляет интересные способы оптимизации. Если игрок решает активно инвестировать в одно здание или апгрейд, то экпоненциально увеличивающаяся цена означает, что в какой-то момент другие варианты развития становятся относительно дешевле, даже если изначально их цена была очень высока. Это значит, что у игрока есть варианты выбора, но их необходимо постоянно оценивать заново, потому что относительная выгода для игрока постоянно изменяется.

Линейные усовершенствования с экспоненциальными ценами

Экспоненциальное масштабирование цены выигрышно для постоянно растущих вложений ресурсов и времени, которых оно требует, но в большинстве игр не используется экспоненциальное увеличение скорости прироста. Почему же?

На графике из предыдущего раздела постоянное увеличение соотношения цены к выгоде даёт нам разрыв между двумя линиями. Чтобы достичь его, нам нужно чтобы экспоненциально (или полиномиально) росла только цена (оранжевая); скорость прироста может увеличиваться линейно, а разрыв между линиями всё равно будет расширяться.

Например, в Clicker Heroes одного из первых источников автоматизированного прироста числа является «герой» по имени Treebeard. Изначально он стоит 50 монет и даёт скорость прироста 5 в секунду. Следующий его уровень стоит 53,5, но всё равно даёт дополнительную скорость 5. Первые пятьдесят покупок выглядят вот так (цена — синяя, скорость прироста — оранжевая):

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер
Учтите, что для упрощения мы игнорируем стоимость других механик цены/скорости Clicker Heroes.

Функция «скорости прироста» здесь является обычной прямой линией, потому что каждая покупка увеличивает её на заданное значение 5, то есть формула очень проста: общая скорость в секунду — это просто количество купленных апгрейдов, умноженное на 5 (то есть Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер).

Однако цена увеличивается с постоянным коэффициентом. Инкрементная цена каждого дополнительного уровня сначала минимальна; на графике мы видим, что для первых двадцати покупок разрыв между линиями примерно одинаков. Но потом он значительно увеличивается, требуя всё больше и больше за каждый последующий апгрейд.

Формула функции цены на самом деле широко используется во многих инкрементных играх:

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер

В нашем примере с Treebeard базовая цена равна 50, переменная «Multiplier» — 1,07, поэтому цены второго уровня равны Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер, третьего уровня Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликери так далее. Значение Multiplier определяет кривизну линии: чем выше значения, тем круче кривые цен. (При значении 1 мы получим линейную кривую цены.)

В Clicker Heroes используется 1,07 как множитель прироста для всех 35 улучшаемых героев, а для всех зданий Cookie Clicker используется значение 1,15. Интересно, что у всех бизнесов в AdVenture Capitalist используются разные множители, но все они находятся в интервале от 1,07 до 1,15. Частое использование одинакового множителя в разных играх означает, что получаемые в этих границах кривые сбалансированы и удобны.

Однако некоторые игры отклоняются от этих значений. В многопользовательской инкрементной игре со Steam Monster, использовался множитель 2,5, который увеличивался очень круто.

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер

Как сказано выше, экспоненциальное масштабирование цены позволяет сбалансировать несколько способов апгрейдов, обеспечив для каждого способа путь минимизации возврата средств. Благодаря этому часть тактического балансирования становится неотъемлемой элементом самой формулы цены, а не просто явным ограничением, придуманным дизайнером. Потому что даже если определённый ресурс иногда или даже почти всегда «лучше», его возрастающая по экспоненте цена означает, что невозможно будет использовать только его.

Давайте рассмотрим в качестве примера список улучшаемых зданий из Cookie Clicker :

ЗданиеБазовая ценаБазовая скорость прироста
Cursor150,1
Grandma1000,5
Farm5004
Factory3 00010
Mine10 00040
Shipment40 000100
Alchemy Lab200 000400
Portal1 666 6666 666
Time Machine123 456 78998 765
Antimatter Condenser3 999 999 999999 999
Prism75 000 000 00010 000 000

Уже в этой таблице можно заметить несколько очевидных шаблонов.

Первый — базовая цена каждого последующего апгрейда почти в пять раз выше, чем предыдущего (за исключением нескольких последних). Такие увеличения на половину порядка гарантируют, что у игрока будет достаточно времени получить удовольствие от каждого новооткрытого ресурса; если бы увеличения цены были ниже, то разблокировать их можно было бы слишком быстро, если бы были выше — существовал бы риск, что игроку надоест ждать следующей разблокировки.

В то же время скорость прироста (в этой игре — печенек в секунду) увеличивается только примерно на треть для каждого дополнительного уровня. Это значит, что хотя здания приносят больший доход в числах, они на самом деле всё менее и менее эффективны относительно своей стоимости.

Однако поскольку каждое здание следует одной и той же формуле увеличения цены Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер, то каждое здание на самом деле следует очень похожему шаблону. На графике ниже показана линия для каждого из 11 зданий с их первыми 200 апгрейдами. По оси Y отложена логарифмическая цена, по оси X — логарифмическая скорость прироста. (Поскольку это экспоненциальные функции, логарифмическая шкала раскрывает их похожесть лучше, чем линейная.)

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер
Каждая из линий представляет отдельное здание с ценой на оси Y и скоростью прироста на оси X (обе имеют логарифмическую шкалу). Это визуализация кривизны цены к прибыли, которую мы обсуждали ранее.

Поэтому даже несмотря на то, что эти здания кажутся очень разными, так как номинально каждая из них производит и стоит гораздо больше предыдущего, их формулы экспоненциальных цен создают кривые, которые относительно схожи. При этом образуется система, которую игрок может оптимизировать.

Расчёт эффективности

Хотя на первый взгляд инкрементные игры посвящены увеличению чисел, на самом деле цель в них — увеличивать числа как можно быстрее, что создаёт глубину игрового процесса для любителей жанра. Игрок всегда имеет множество вариантов развития и выбора из нескольких улучшаемых ресурсов (обычно вместе с дополнительными характеристиками, которые мы обсудим позже), то есть сложность игры заключается в оценке этих вариантов. Стоит ли покупать более дешёвый апгрейд, который игрок может позволить себе уже сейчас, или подождать, пока он сможет накопить на следующий уровень?

Поскольку мы хотим в результате купить все апгрейды, то наиболее оптимальным подходом будет оценка оптимального порядка покупки. Представим ситуацию, в которой мы производим 5 единиц числа в секунду (Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер), и у нас есть выбор между двумя апгрейдами. Первый стоит 20 (Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер), и увеличит скорость прироста на 1 (Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер). Второй имеет цену Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер, но его скорость прироста Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер. Первый вариант дешевле, но он и менее эффективен по цене.

Ну, давайте попробуем купить A, а потом B:

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер

Но она полезна только для сравнений между двумя возможными апгрейдами, и не так полезна, когда у нас есть множество вариантов. Нам нужно упростить формулу, чтобы изолировать переменные для только одного апгрейда (выведение которых подробно описано в этой потрясающей статье Адама Бэбкока). В результате мы получим следующее:

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер

Теперь мы можем применить эту формулу к любому возможному апгрейду, и из-за транзитивности неравенств наименьший результат даст нам то, что нужно покупать следующим (за некоторыми исключениями, которые не стоит рассматривать на этом уровне анализа). Это значительно упрощает процесс поиска наиболее эффективного пути оптимизации.

Очевидно, это пригодится игроку, но и полезно для дизайнера. Знание о наиболее эффективном использовании различных элементов игры позволяет обнаружить существование нежелательных пиков во временных затратах и обеспечить оптимальную скорость игрового процесса, выбранную автором.

Вычисление оптимальных сценариев игры позволяет нам также сравнивать разные инкрементные игры: мы можем ограничить несравнимые переменные до времени, которое требуется для достижения нужного уровня прироста числа в секунду. На графике ниже показано время, необходимое для достижения заданной скорости прироста числа в секунду для игр AdVenture Capitalist (зелёный график) и Cookie Clicker (коричневый) при покупке зданий наиболее эффективным способом (для упрощения мы игнорируем другие аспекты игр):

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер
Ось X: время, ось Y: скорость прироста (логарифмическая шкала); зелёный график: AdVenture Capitalist, коричневый график: Cookie Clicker.

Примечательно, что графики этих двух игр очень похожи в возврате больших скоростей nps относительно увеличивающегося количества времени. Обе растут невероятно быстро в первые 8-10 часов (примерно 500 минут), но потом скорость прироста становится значительно более маржинальной. С увеличением числа новых зданий графики постепенно становятся плоскими. Поэтому в большинстве инкрементных игр вместе с основными улучшаемыми зданиями присутствуют другие покупаемые ресурсы. Один из наиболее важных из них — функция сброса игры, которая позволяет игроку проделать весь путь по кривой с самого начала.

Спирально увеличивающаяся сложность апгрейдов в инкрементных играх может сделать их разработку пугающей. Но дизайнеру не обязательно точно калибровать каждый элемент. Красота сложных нелинейных систем означает, что для создания увлекательных цепочек апгрейдов дизайнеру достаточно высокоуровневой балансировки. Для игрока задача исследования системы и поиска оптимальной последовательности интересна и сложна, задача же дизайнера заключается всего лишь в создании такой сложной системы.

«New Game +» и другие возможности

Функция «New Game +» позволяет игроку сбросить весь свой прогресс в обмен на какой-то постоянный бонус. То есть все купленные здания и другие ресурсы могут обнулиться, но после этого ко всем вычислениям чисел в секунду при перезапуске добавляется некий постоянный бонус. То есть все купленные здания и другие ресурсы могут обнулиться, но при игре заново ко всем расчётам чисел в секунду прибавляется умножение.

Это не меняет никакие фундаментальные формулы игры, это просто значит, что игрок будет достигать асимптотического «плато» всё быстрее и быстрее. В сущности, эта функция позволяет расширить базовый геймплей благодаря более быстрому его прохождению. Однако бесконечно так продолжаться не может, и со временем увлечённые игроки достигнут своего рода «конца игры».

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер
В Clicker Heroes подъём награждает игроков новой валютой, на которую можно покупать апгрейды.

Ещё одна распространённая функция для расширения игрового процесса — простое увеличение сложности улучшаемых зданий. Пока мы рассматривали только самый популярный способ инкрементного апгрейда, использующий экспоненциальную функцию цены. Вмести с ними существуют и другие апгрейды, которые обычно или дают одномоментное простое увеличение общего числа в секунду, или каким-то образом меняет переменные базовой цены и скорости прироста.

Например, в Clicker Heroes есть апгрейды, увеличивающие базовое число в секунду для «героя», а также другие, увеличивающие базовое число в секунду для всех «героев». Хоть эти похожие функции и не меняют базовую механику инкрементной игры, они могут расширить пространство возможностей для исследований игрока и добавить сложностей к процессу оптимизации игры. Кроме того, как и механика «New Game +», объём апгрейдов также можно использовать для продления игры, пока она не упрётся в неизбежное «плато» прогресса.

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер
В Conspiracy Clicker есть три отдельных дерева взаимосвязанных апгрейдов.

Умножаем (экспоненциально) дальше

Хоть это и не было исчерпывающее изучение дизайна инкрементных игр, мы внимательно рассмотрели их фундаментальные аспекты. Вкратце перечислим их для дизайнеров и разработчиков:

Дальнейший рост

Современный бум инкрементных игр начался в 2013 году с таких игр, как Cookie Clicker и Candy Box, за которыми последовала волна похожих проектов. В основном это были игры в «инди»-стиле, однако, обычно они были честными и игрались прямо в браузере. Они редко монетизировались другими способами, кроме как показом рекламы на платформах типа Kongregate.

Всё начало меняться в начале 2015 года, и теперь в самые популярные инкрементные игры играет огромное количество игроков с разных платформ. У AdVenture Capitalist и Clicker Heroes, для которых выпустили Steam-версии весной прошлого года, теперь больше 4,5 миллионов владельцев, а за две недели в них играют больше 100 тысяч человек. Поразительная статистика, и ведь это только для одной платфомы!

Хоть и сложно подсчитать конкретное количество игроков на всех платформах, рост популярности очевиден. Ещё один показатель — с начала 2015 года количество подписчиков subreddit об инкрементных играх почти удвоилось.

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер
Количество владельцев Sakura Clicker, ещё одной популярной инкрементной игры (данные из SteamSpy)

Я не думаю, что это должно нас удивлять. В дополнение к описанным выше качествам, инкрементные игры становятся всё более доступными. Это игры, в которые можно играть за очень короткие сессии (например, в дороге, на работе или в школе), их легко начать и закончить, и в них есть системы, постепенно разворачивающиеся в течение долгого времени.

Простота запуска в телефоне, во вкладке браузера и процесс выполнения без участия игрока создают низкие затраты на переход к игре, что привлекает множество игроков. Думаю, показательно то, что, например, на игровых консолях почти нет инкрементных игр, потому что они предназначены для «вдумчивого», неторопливого игрового процесса, а сила инкрементных игр — в том, что их можно запускать «время от времени».

Переход на мобильные платформы

Одним из самых больших изменений и источников роста стал рост мобильного гейминга. У большинства самых популярных инкрементных игр для PC и браузеров есть теперь версии под iOS и Android. У двух крупнейших инкрементных из Steam, о которых я упоминал, Clicker Heroes и AdVenture Capitalist, больше установок в iOS и Android, чем в Steam.

На обеих мобильных платформах существует избыток всевозможных инкрементных игр. Будет логично предположить, что высокие показатели удержания (retention) игроков в инкрементные игры, показанные Kongregate, сохранятся и на мобильных платформах. Инкрементные игры начинают привлекать всё большее внимание мейнстримных разработчиков мобильных игр. Bandai Namco выпустила игру Katamari для мобильных под названием Tap My Katamari. Это что-то вроде endless runner (roller?), соединённого с idle-кликером:

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер

Ещё одним хитом стала Neko Atsume: Kitty Collector, выпущенная осенью 2016 года на английском языке. Хотя в ней нет механики «кликера» или обычного накопления чисел, фундаментальный геймплейный цикл похож. Кошки постепенно и медленно разблокируются, почти независимо от игрока, которому остаётся только последовательно открывать милых кошечек.

Постоянные инновации и эксперименты

Я был удивлён разнообразием новых инкрементных игр, толчком к которым стали первые проекты. В то время как самые популярные инкрементные игры всё больше оттачивают свой дизайн, есть и постоянно растущее количество более экспериментальных игр, по-новому использующих инкрементную механику.

Например, Dreeps Alarm Playing Game — это idle RPG, в которую игрок вообще не играет. Изменив рамки того, что считается игровым процессом RPG, она стала серьёзной версией ироничного Progress Quest.

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер

Инкрементные игры показали невероятную способность полностью впитывать в себя особенности других жанров. В первую очередь это случилось с RPG, но кажется, что инкрементный игровой процесс может взять на себя роль игр любых других видов. Иногда это просто поверхностная замена, например, в случае с Time Clickers, которая позаимствовала визуальный стиль многопользовательских аренных FPS.

Другие оказываются более амбициозными, например, Roguathia, полностью автоматизированная roguelike, в которой игрок управляет и приключенцами, и самим подземельем, бесконечно усовершенствуя обе стороны. Или как Factory Idle, которая отсекает все возможности выбора и размещения зданий строительных игр, оставляя только дерево апгрейдов и развивающийся город:

Как сделать свою игру кликер. Смотреть фото Как сделать свою игру кликер. Смотреть картинку Как сделать свою игру кликер. Картинка про Как сделать свою игру кликер. Фото Как сделать свою игру кликер

Ещё одна область для экспериментов — это многопользовательские механики. В таких играх, как Clicker Heroes и Idle Online Universe есть необязательная механика многопользовательской игры, при которой общий прогресс достигается коллективным «кликаньем» (механика похожа на многопользовательский кликер Monster из Steam, выпущенный летом прошлого года). Это в какой-то мере напоминает игру-эксперимент/рекламу Питера Молиньё Curiosity — What’s in the Box 2012 года, в которой игроки совместно продвигались дальше, чтобы разблокировать приз (ну, или нет).

Невнимание критиков

Несмотря на жизнеспособность и растущую привлекательность, инкрементные игры редко обсуждаются критиками и игровыми СМИ. Когда в статьях обсуждаются инкрементные игры, их почти всегда описывают как бессмысленно-аддиктивными или объясняют их привлекательность тем, что они постоянно награждают игрока. Причин тому может быть много, и не маловажную роль здесь играет устоявшееся предубеждение против «казуальных» игр. Однако я подозреваю, что здесь есть невысказанное опасение пристрастия к таким голым примерам механики «гринда», являющейся основой других типов игрового процесса, которые мы часть любим признавать.

Всё это было справедливо и для 2015 года, но теперь дизайнеры всё больше начинают критически оценивать инкрементные игры. Появляются и более беспристрастные оценки, например, как в случае геймдизайнера Лиз Инглэнд, которая в обсуждении заброшенного прототипа инкрементной игры замечает:

«В этом пространстве очень много интересных возможностей для дизайнера. Хорошей стороной являются экономические системы, со временем открывающие новые возможности, что создаёт ощущение исследования».

Появляется даже и формальный научный интерес: в статье с конференции Digital Games Research Association & Foundations of Digital Games замечается, что инкрементные игры из пародий превратились в «воссоздание эстетики», что привело к расширению этого поджанра и рамок определения самого понятия игр.

Подозреваю, что в будущем мы увидим больше глубоких исследований инкрементных игр. Геймдизайнер Фрэнк Лэнтс в статье 2011 года об игре Cow Clicker Иэна Богоста заметил, что она является шуткой в меньшей мере, чем кажется, и я считаю, что сегодня это мнение можно считать провидческим:

Почему мы предполагаем, что должны испытывать снисхождение к тем, кто не воспринял сатирическую направленность игры? Возможно, они не поняли шутку такой, какой Иэн её задумывал, но разве они были обязаны её понять?

Он хотел показать, что игра настолько простая, настолько ограниченная, прозрачная и неглубокая не может быть играбельной, что в неё нельзя играть. А они не поняли этой части шутки.

Но может быть, так произошло, потому что шутка оказалась неверной. Они играли в неё. Им хотелось играть с этой смехотворной, примитивной системой. Некоторые из них бездумно кликали в такт основным часам. Другие обдуманно использовали подходящие циклы (как настоящие геймеры!), возникающие в любой системе, даже если система не имеет никаких функций.

Некоторые из них накапливали клики автоматизированными скриптами, другие яростно отрицали ересь автокликеров.

Инкрементное будущее

Хотя такие игры выглядят как reductio ad absurdum, пародии на игровые механики, но я думаю, что у инкрементных игр светлое будущее. В человеческой природе есть что-то, позволяющее нам получать удовольствие от оптимизации произвольных систем.

Меня, как геймдизайнера, это восхищает, потому что, как мне кажется, инкрементные игры смогли отбросить многое из того, что казалось необходимым для игры. Хоть для меня и сложно разглядеть привлекательность в чём-то вроде серверов-тюрем в Minecraft, это недоизученная область дизайна, и меня радует то, что количество таких игр становится только больше.

Послесловие

Пока я писал и публиковал эту статью, появилось ещё больше интересных новостей об инкрементных играх! Поэтому я хочу добавить послесловие и рассказать о них.

Стоит упомянуть о ещё двух интересных инкрементных играх, которые стоит посмотреть. Kittens Game — это «Dark Souls мира инкрементных игр», в которой есть интересный нарративный компонент и механизм разворачивающегося геймплея. Также оцените Spaceplan, которая, возможно, является одной из эстетически амбициозных инкрементных игр на данный момент. Ещё стоит прочитать статью в Wall Street Journal об игре-симуляторе работы из Южной Кореи, которая очень похожа на инкрементные игры. Также прочитайте эту критику No Man’s Sky, которую можно воспринимать как жалобу на механику игры, схожую с инкрементной (хоть в статье и ни используется этот термин).

Рекомендую также отличную статью с Gamasutra о классификации игроков в idle-игры. И в противовес тому, что я сказал о консолях, кажется, что инкрементные игры приходят и на консоли. И, наконец, Энтони Пекорелла (ссылку на исследование которого я привёл выше) сделал отличный доклад GDC Europe с анализом математики инкрементных игр. Его можно прочитать в GDC Vault.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *