Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Поднимайтесь как можно выше по дереву, собирайте цветы и дарите их близким.
Вас ждут уникальные награды и 22 выгодных промокода!

Пикаджамп

Аркады, Казуальные, На ловкость

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

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

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

Gamedev + Космос

С этим тегом используют

Инди Разработка Инди игра Игры Unity Компьютерные игры YouTube Астрономия Космонавтика Наука NASA Вселенная Планета Луна Все
100 постов сначала свежее
12
HumanPlanet
HumanPlanet
4 года назад

PATRIA NOVA. Настольная игра про освоение космоса⁠⁠

Привет, друзья геймеры!

Хочу рассказать вам о новой настольной игре. Разработка игры начата в сентябре 2020 года.
В данный момент она существует в виде прототипа, который неоднократно тестировался
и видоизменялся.


PATRIA NOVA


Игра для 1-4 капитанов межзвёздного корабля.

PATRIA NOVA. Настольная игра про освоение космоса Gamedev, Космос, Научная фантастика, Настольные игры, Будущее, Интерстеллар, Длиннопост

Game parents

Студия "Планета Людей".

Алексей Борисов-Гагаринский – гейм-дизайнер, сценарист, разработчик основного дизайн-концепта.

Анастасия Борисова-Гагаринская - художник и графический дизайнер, джуниор гейм-дизайнер.

Эксперт-консультант по графическому дизайну: Сергей Буткин.

Идея игры

Идея игры возникла после прочтения книги Элизабет Таскер «Фабрика планет». Сюжет игры отчасти пересекается с фабулой романа Александра Казанцева «Сильнее времени» темой фильма Interstellar. Идея игры отчасти перекликается с компьютерными играми Outpost (1994), Outpost 2 (1997), Alpha Centauri (1999) и Civilization: Beyond Earth (2014). Среди настольных игр некоторыми аналогами можно назвать Terraforming Mars (2016) и Cassiopeia (2019).

История

В XXIV веке миры у Солнца освоены и назревает проблема перенаселения. Четыре фракции космических первопроходцев едины в стремлении открыть дорогу к звёздам, но стремятся достичь цели разными путями. В своём стремлении они объединили силы и создали межзвёздый корабль Patria Nova (на латыни это значит “Новая Родина”). Лучше специалисты Солнечной системы готовы подняться на борт, погрузиться в гипобиоз на столетия и пробудиться по прибытии к далёким звёздам, чтобы посвятить свою жизнь исследованиям и подготовке далёких миров к масштабной миграции с Земли.

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

1. Термоядерная энергия доступна, термоядерные двигатели доступны, Солнечная система освоена вдоль и поперёк.


2. Несколько звёзд в радиусе 40 св. л. осмотрены (на предмет экзопланет) в новейшие телескопы, но данные, полученные с отправленных туда автоматических зондов, противоречивы.


3. Во избежание риска «прилететь и найти не то, что нужно», принято решение выбрать 8 наиболее перспективных миров, собрать максимально лёгкий корабль-разведчик, способный за несколько столетий облететь целевые миры и оставить возле каждого исследовательский форпост с космонавтами (которые на месте всё детально изучат, составят план миграции исходя из всех доступных им знаний).


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


5. Системы корабля по большей части автоматизированы, почти всё время космонавты-исследователи проводят в гипобиозе.


6. Корабль разгоняется в Солнечной системе, затем тормозит в системе каждого целевого мира для восполнения запаса рабочего тела. Оставляет на орбите целевого мира исследовательскую станцию, после чего перенацеливается и летит дальше. В итоге в каждом из 8 миров остаётся форпост с исследователями, вышедшими из сна. После завершения научной программы остаются в гипобиозе до прибытия новых кораблей.


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


8. Во время всего этого мероприятия в системе Сатурна строится Главный миграционный флот, рассчитанный на десятки или даже сотни тысяч мигрантов. Флот будет отправлен к целевому миру, выбранному по итогам разведочной экспедиции.


9. Примерная схема корабля.

PATRIA NOVA. Настольная игра про освоение космоса Gamedev, Космос, Научная фантастика, Настольные игры, Будущее, Интерстеллар, Длиннопост

В описании миров (экзопланет и экзолун) консультативную поддержку нам оказывает астрофизик Владимир Сурдин.


Как начинается игра.


В начале игроки выбирают (случайно) 8 карт-миров из комплекта (всего в комплекте 24 мира, для вариативности и реиграбельности). Карты открываются в игре в случайном порядке. По игровой логике это означает, что время идёт, люди узнают новые данные о далёких мирах и в соответствии с этим меняется курс корабля.


Первоначальный дизайн карт планет


Лицо

PATRIA NOVA. Настольная игра про освоение космоса Gamedev, Космос, Научная фантастика, Настольные игры, Будущее, Интерстеллар, Длиннопост

Оборот

PATRIA NOVA. Настольная игра про освоение космоса Gamedev, Космос, Научная фантастика, Настольные игры, Будущее, Интерстеллар, Длиннопост

Текущая версия дизайна


Лицо и оборот карт миров.

PATRIA NOVA. Настольная игра про освоение космоса Gamedev, Космос, Научная фантастика, Настольные игры, Будущее, Интерстеллар, Длиннопост

Как видно на картах, у планет есть параметры.


Расстояние от Земли и значения Диапазона Комфорта по четырём параметрам.


Планетология


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


Миграционика


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


Термодинамика


В зависимости от положения мира относительно звезды и от её яркости на поверхности экзомиров ожидается вулканическое пекло или ледяной холод.


Астробиология


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


Во время открытия карт в процессе игры них размещаются фишки-маркеры (начальное положение показано на карте мира).


Основная цель игры


Нужно исследовать 8 миров и привести положение маркеров в положение, максимально близкое к среднему (оптимальному). Мир, наиболее близкий к оптимуму в конце игры (и наименее удалённый от Земли) выбирается итогом игры, он становится Новой Родиной (Patria Nova).


Основной челлендж


Снижение морали экипажа в процессе экспедиции.

В комплекте игры абак-каунтер, который фиксирует уровень морали. При снижении морали до 0 игра считается проигранной. Несколько факторов влияют на снижение морали.


Карточки космонавтов-исследователей


В распоряжении игрока (или игроков) 32 космонавта, принадлежащих 4 разным фракциям.

У каждого космонавта есть навык и черта характера. Навыки связаны с происхождением, они помогают нивелировать снижение морали из-за некомфортных параметров ДК миров. Черты характера влияют на результаты, количество и качество игровых событий.


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


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

PATRIA NOVA. Настольная игра про освоение космоса Gamedev, Космос, Научная фантастика, Настольные игры, Будущее, Интерстеллар, Длиннопост

Первоначальный дизайн карт космонавтов-исследователей.

PATRIA NOVA. Настольная игра про освоение космоса Gamedev, Космос, Научная фантастика, Настольные игры, Будущее, Интерстеллар, Длиннопост

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

PATRIA NOVA. Настольная игра про освоение космоса Gamedev, Космос, Научная фантастика, Настольные игры, Будущее, Интерстеллар, Длиннопост
PATRIA NOVA. Настольная игра про освоение космоса Gamedev, Космос, Научная фантастика, Настольные игры, Будущее, Интерстеллар, Длиннопост

Дополнительная информация, например, биографии космонавтов, будет доступна на сайте, а в дальнейшем в AR-компоненте.


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


Дизайн карт фракций

PATRIA NOVA. Настольная игра про освоение космоса Gamedev, Космос, Научная фантастика, Настольные игры, Будущее, Интерстеллар, Длиннопост
PATRIA NOVA. Настольная игра про освоение космоса Gamedev, Космос, Научная фантастика, Настольные игры, Будущее, Интерстеллар, Длиннопост

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

PATRIA NOVA. Настольная игра про освоение космоса Gamedev, Космос, Научная фантастика, Настольные игры, Будущее, Интерстеллар, Длиннопост

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


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

PATRIA NOVA. Настольная игра про освоение космоса Gamedev, Космос, Научная фантастика, Настольные игры, Будущее, Интерстеллар, Длиннопост

Дизайн карточек событий «Вести из дома» и «Астрофизические события»


Лицо и оборот карточек.

PATRIA NOVA. Настольная игра про освоение космоса Gamedev, Космос, Научная фантастика, Настольные игры, Будущее, Интерстеллар, Длиннопост
PATRIA NOVA. Настольная игра про освоение космоса Gamedev, Космос, Научная фантастика, Настольные игры, Будущее, Интерстеллар, Длиннопост

Для значений снижения морали в скобках указана цифра, соответствующая максимальному уровню сложности.


Дополнительный модификатор морали – «События в десантном отряде» действуют по броску кубика d20 и модифицируются чертами характера космонавтов (Например, Историк добавляет бросок, а Супер-селебрити увеличивает модификатор морали).


Карточки технологий


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


Первоначальный дизайн карточек технологий


Лицо и оборот карточек.
PATRIA NOVA. Настольная игра про освоение космоса Gamedev, Космос, Научная фантастика, Настольные игры, Будущее, Интерстеллар, Длиннопост
PATRIA NOVA. Настольная игра про освоение космоса Gamedev, Космос, Научная фантастика, Настольные игры, Будущее, Интерстеллар, Длиннопост

Текущий дизайн карт технологий


Лицо и оборот карточек.

PATRIA NOVA. Настольная игра про освоение космоса Gamedev, Космос, Научная фантастика, Настольные игры, Будущее, Интерстеллар, Длиннопост
PATRIA NOVA. Настольная игра про освоение космоса Gamedev, Космос, Научная фантастика, Настольные игры, Будущее, Интерстеллар, Длиннопост

Для значений снижения морали в скобках указана цифра, соответствующая максимальному уровню сложности.


Космонавты-квеллеры


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


Итог игры


Игра считается успешной, если удаётся исследовать все 8 миров до того, как мораль снизится до 0. В игровом комплекте есть набор карточек с описанием результатов игры для значений от 99 до 0 (11 карточек) и с описанием будущего каждого из 24 миров (в итоге игры один будет выбран Patria Nova, что характерно это случится, даже если игра будет формально проиграна).


Таким образом, в базовом комплекте игры подразумевается 264 варианта концовки игры (без учёта соревнования фракций).


Карточки итого игры (по очкам)

PATRIA NOVA. Настольная игра про освоение космоса Gamedev, Космос, Научная фантастика, Настольные игры, Будущее, Интерстеллар, Длиннопост

Карточки итогов игры – Patria Nova (будущее выбранных миров). На примере ближайшего к Земле мира у Проксимы Кентавра b.

PATRIA NOVA. Настольная игра про освоение космоса Gamedev, Космос, Научная фантастика, Настольные игры, Будущее, Интерстеллар, Длиннопост

Комплект игры


24 карты экзомиров + 24 карты Patria Nova (миры по окончании игры)

32 маркера Диапазона Комфорта (ДК)

32 карты Космонавтов

50 карт Перспективных технологий

48 карт «Вести из дома»

16 маркеров Трансдрима

16 маркеров разделения команд

140 звёзд престижа

4 карточки - Эмблемы и описания Фракций

1 кубик d20

11 карт - результаты игры в зависимости от значения морали

Абак - индикатор морали

Коробка

Книга правил с таблицей “Сообщения из десантного отряда”

Фигурка ковчега Patria Nova + игровое поле (опциональный коллекционный контент).


Игровое поле


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

PATRIA NOVA. Настольная игра про освоение космоса Gamedev, Космос, Научная фантастика, Настольные игры, Будущее, Интерстеллар, Длиннопост

Опциональные правила


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


4 уровня сложности игры


Зелёный


Полёт межзвёздного корабля Patria Nova в штатном режиме. Игра согласно стандартной книге правил.


Жёлтый


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


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


Оранжевый


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


Все негативные модификаторы морали от событий «Вести из дома», «Сообщения из экспедиционного десанта» и от применения карт «Перспективных технологий» удваиваются.

На этом уровне сложности применяются все модификации правил по коду «Жёлтый».


Красный – Путь в бездну


Межзвёздный корабль Patria Nova стартовал в штатном режиме, но во время полёта космонавтов поджидают сложнейшие испытания, и лидеры Фракций ревностно следят за тем, чтобы оппоненты не получали значимых преимуществ. Идеальный вариант, который всех устроит – по космонавту каждой фракции в десанте. Если в десантном отряде представлены 3 фракции, мораль снижается на 4. Если 2, то на 8. Отправка десанта, в котором космонавты одной фракции, снижает мораль на 16.


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


В на этом уровне сложности применяются все модификации правил по кодам «Жёлтый» и «Оранжевый», а каждое действие трансдрим дополнительно ко всем последствиям, описанным в правилах, снижает мораль на 2.


Анонс


В следующем посте мы расскажем о планируемых расширениях игры (новых фракциях и сценариях), а так же покажем тестовую игру в виде слайдшоу с комментариями.


Резюме


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


Приветствуем идеи и предложения, в том числе мы не откажемся от поддержки в организации тестовых игр на платформе Tabletop Simulator.


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

Показать полностью 22
[моё] Gamedev Космос Научная фантастика Настольные игры Будущее Интерстеллар Длиннопост
13
54
BeardGamesStudio
BeardGamesStudio
4 года назад
Лига Разработчиков Видеоигр

«Last Man In Space» — игра не про космос, а про космонавтику⁠⁠

На вопрос «Почему действия игры разворачиваются не в космосе?» мы обычно коротко отвечаем «Потому что вот так задумано. Всё узнаете».

«Last Man In Space» — игра не про космос, а про космонавтику Инди, Игры, Gamedev, Инди игра, Devlog, Видео, Длиннопост, Космонавтика, Космос

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


Но сейчас речь пойдёт именно про космонавтику. Почему же именно она? На этот вопрос у нас есть 2 ответа.

Нам нравятся ракеты


Человека уже давно тянет в космос, а с учётом, что мы живём в стране наследников космической империи, то желание полёта у нас в крови. И на удивление (сарказм) как-то так вышло, что полёты на исполинских машинах всегда занимали в наших сердцах особое место.


Можно долго говорить о красотах космоса: прекрасных галактиках, невиданных мирах или выходящих за рамки сознания чёрных дырах. Но даже если не брать в расчёт реальность, то можно фантазировать и представлять ответ на вопрос «А как могло бы быть в том мире?».

«Last Man In Space» — игра не про космос, а про космонавтику Инди, Игры, Gamedev, Инди игра, Devlog, Видео, Длиннопост, Космонавтика, Космос
«Last Man In Space» — игра не про космос, а про космонавтику Инди, Игры, Gamedev, Инди игра, Devlog, Видео, Длиннопост, Космонавтика, Космос
«Last Man In Space» — игра не про космос, а про космонавтику Инди, Игры, Gamedev, Инди игра, Devlog, Видео, Длиннопост, Космонавтика, Космос

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


Посмотрите, какие есть и были удивительные экземпляры:

«Last Man In Space» — игра не про космос, а про космонавтику Инди, Игры, Gamedev, Инди игра, Devlog, Видео, Длиннопост, Космонавтика, Космос
«Last Man In Space» — игра не про космос, а про космонавтику Инди, Игры, Gamedev, Инди игра, Devlog, Видео, Длиннопост, Космонавтика, Космос
«Last Man In Space» — игра не про космос, а про космонавтику Инди, Игры, Gamedev, Инди игра, Devlog, Видео, Длиннопост, Космонавтика, Космос
«Last Man In Space» — игра не про космос, а про космонавтику Инди, Игры, Gamedev, Инди игра, Devlog, Видео, Длиннопост, Космонавтика, Космос

Так же некоторые ребята из нашей команды прикасались к космонавтике в реальной жизни.


Например, геймдизайнер/программист Олег был в «Центре подготовки космонавтов имени Ю.А. Гагарина» в рамках участия в «Летней Космической Школе 2015», а сценарист Виктор жил недалеко от города Плесецк, откуда производятся запуски непилотируемых ракет (на фото просто памятники).

«Last Man In Space» — игра не про космос, а про космонавтику Инди, Игры, Gamedev, Инди игра, Devlog, Видео, Длиннопост, Космонавтика, Космос
«Last Man In Space» — игра не про космос, а про космонавтику Инди, Игры, Gamedev, Инди игра, Devlog, Видео, Длиннопост, Космонавтика, Космос
«Last Man In Space» — игра не про космос, а про космонавтику Инди, Игры, Gamedev, Инди игра, Devlog, Видео, Длиннопост, Космонавтика, Космос
«Last Man In Space» — игра не про космос, а про космонавтику Инди, Игры, Gamedev, Инди игра, Devlog, Видео, Длиннопост, Космонавтика, Космос
«Last Man In Space» — игра не про космос, а про космонавтику Инди, Игры, Gamedev, Инди игра, Devlog, Видео, Длиннопост, Космонавтика, Космос

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

«Last Man In Space» — игра не про космос, а про космонавтику Инди, Игры, Gamedev, Инди игра, Devlog, Видео, Длиннопост, Космонавтика, Космос

Легче выделиться среди прочих игр


Космонавтика привлекает ещё и тем, что игр на данную тематику не так уж и много. Вот топ Steam по метке «Космос».

«Last Man In Space» — игра не про космос, а про космонавтику Инди, Игры, Gamedev, Инди игра, Devlog, Видео, Длиннопост, Космонавтика, Космос

Как видим, в основном это игры связанные с далёкими планетами, полётами в бесконечном пространстве или космические баталии.


При упоминании слов «Космонавтика» или «Ракеты» в контексте игр нам приходит на ум игра «Kerbal Space Program». И всё.

«Last Man In Space» — игра не про космос, а про космонавтику Инди, Игры, Gamedev, Инди игра, Devlog, Видео, Длиннопост, Космонавтика, Космос

Да, эта игра очень классная и оправданно популярная. Но она немного о другом. И потому наша игра, где мы совмещаем «Firewatch» и тематику ракет, выделяется на общем фоне.


А про использование именно русской космонавтики и нами горячо-любимого «Бурана» можно вообще ничего не говорить — не даром «Буран» был центром внимания в нашем «Демо №1».


На этом наши доводы заканчиваются. Если вы знаете какие-то игры (желательно крутые) на тему космонавтики — пишите в комментарии!


Спасибо за внимание.

Показать полностью 16
[моё] Инди Игры Gamedev Инди игра Devlog Видео Длиннопост Космонавтика Космос
8
77
soloyes
4 года назад
Лига Разработчиков Видеоигр

Сделал инди-игру на одном энтузиазме⁠⁠

Сделал инди-игру на одном энтузиазме Своя игра, Indiedev, Gamedev, Космос, Java, Разработка, Видео, Длиннопост

Меня зовут Виталий. Я внимательно изучил правила сообщества. Попробую изложить материал сначала в коротком стиле в виде резюме. А ниже добавлю больше деталей о проекте, процессах, переживаниях. Не судите строго, как и сам проект, пост здесь пишу впервые.


Итак, резюме, оно короткое, для тех, кому важна суть.


Идея!

"Buran-19"— игра-аркада.

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


История

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


Технология

libGDX - фреймворк для разработки. Особенности: минимум шейдеров, своя система частиц и прочие эффекты. Engineless, вся физика придумана и описана.


Механика

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

1) игроку открывается весь экран (так как персонаж большую часть времени находится в середине экрана), при нажатии одним пальцем

2) управление может быть перехвачено другим (допустим надо подрулить, не меняя основного курса движения).


Эстетика

@Графика

Ближе к мультипликационной графике, но в целом реалистичная. Возраст целевой аудитории 3-35 лет. В общем случае, анимация покадровая.


@Музыка

Минималистичный стиль, электроника стиля 80х-90х, конечно же с упором на космос. Музыка и графика успешно сочетаются, и представляют единую картину игрового мира.


Особенности

@Игровая сессия в минутах

20-30 минут


@Цель

Сбор астронавтов, второстепенная цель - зарабатывание очков и игра с самим собой. Турнирная таблица показывает разницу с предыдущим плей сетом


@Количество уровней в игре

19 уровней, затем режим смерти (Death Mode) с постоянно повышающейся сложностью


Детали разработки

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

Сейчас в игре накопилось около 20 000 строк кода, порядка 160 уникальных спрайтов и где-то 80 разных звуков — их создал профессиональный звукорежиссёр, 20 лет опыта. Готова механика, эстетика, реализована и логика. Здесь используется полный engineless - все движения программировались независимо, и ничто не дает отсылки ни на какой игровой фреймворк, что может дать игре особенности и отличия от заезженных реалий. Мир в игре достаточно простой, но в нём скрыто очень много интересного и сложного, что не подвластно пользователю, но оно тем не менее есть и работает. Слишком сложно собрать воедино большой список правил, по сути представляющих из себя бесконечные if-elsе, поэтому мы просто решили дать время игроку на исследования и эксперименты.

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

Мы пытались работать с каждым пикселем, провели сотни часов над обсуждениями.


Самая что ни на есть подробная история проекта описана здесь. Сегодня была публикация. Очень волнительно.

https://geekbrains.ru/posts/kak-3-goda-delat-igru-na-odnom-ehntuziazme-istoriya-buran-19

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


А пока, можете насладиться игрой.


Страница игры в Google Play в платном варианте: https://play.google.com/store/apps/details?id=com.buran.game.pack

Страница игры в Google Play в бесплатном варианте. К сожалению, игрока будут доставить рекламные баннеры: https://play.google.com/store/apps/details?id=com.buran.game.free.pack

Видео с демонстрацией механики вот тут:

Теперь попробую рассказать, что же такое случилось.


Особенности

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


Инди с головы до ног

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


Атмосфера и эстетика

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

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

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

Вот такой мудборд, например, у Buran-19 для графики:

Сделал инди-игру на одном энтузиазме Своя игра, Indiedev, Gamedev, Космос, Java, Разработка, Видео, Длиннопост

Вот такой для эстетики и передачи атмосферы:

Сделал инди-игру на одном энтузиазме Своя игра, Indiedev, Gamedev, Космос, Java, Разработка, Видео, Длиннопост

Дальше команда (художник, звукорежиссёр) тебя спрашивает, что чувствуешь, что видишь в этом. Какие-то одиночество, непоколебимость, пространство. Объясняешь, что тебе нужно. Например, говоришь звукорежиссёру, что нужна основная музыка, музыка в режиме паузы, в таком-то и таком-то стиле. Даёшь примеры. Буквально словами говоришь: «бдыж», «бдаамс». Или описываешь какую-то ситуацию, мол надо представить, как происходит вот это, с каким звуком бы это произошло.

Потом работа над ошибками, прослушивание-переслушивание — где-то высокие частоты убрать, где-то уйти в глубину басами. Попробуйте, в общем, поиграть с наушниками.


Death Mode

В режиме смерти на карте появляется намного больше объектов и они ведут себя иначе. У игрока есть 8 инструментов борьбы с ними. Например, оружие, которое позволяет очищать всю карту разом. Всё лопается, вжикает. Это вызывает приятные ощущения очищения, лёгкости, почти катарсиса. Залипательно. Помните, как в игре, где собираешь в ряд одинаковые шарики и они взрываются, и затем выкатываются новые? Это очень похоже.

Этот режим появился в самом конце разработки. Буквально за месяц до конца проекта. Он пришёл спонтанно, вместе с новым названием (до этого было выбрано название Shuttle). Я читал несколько книг о том, как правильно делать игры, и какие 100 правил стоит соблюдать при разработке, чтобы игра была годной.

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


Child mode

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


Возможность создания профайлов

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


Кому игра может зайти

Я не занимался исследованием целевой аудитории и не играл в игры последние 7 лет. Нонсенс. По результату опросника IARC, знаю, что Buran-19 рассчитана на детей от трёх лет. И надеюсь, что она обладает достаточным уровнем эстетики, чтобы понравиться и взрослым.

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


Homeworld — тактическая космическая стратегия, в которой ведутся боевые действия. Я в неё, наверное, играл лет в 11. Она меня настолько впечатлила, что, можно сказать, «inspired me». Это было как раз то космические, что я никогда больше в жизни-то и не видел. Я до сих пор помню её!


Limbo — survival horror, где мальчик в мрачной атмосфере пытается найти сестру. Она меня поразила своей механикой и эстетикой, вдохновила меня тем, что использует просто движок Box2D, и на libGDX можно сделать более-менее то же самое.


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


Этапы разработки

Есть два пути в разработке: «беру и делаю» и условно правильный. Сначала я пошёл по первому.


Мой опыт «беру и делаю»

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


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


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


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


Писал и разбирался с фундаментальными вещами из модуля. Как работает asset-менеджер, система частиц, как передавать движения, как запускать игру в телефоне на различных разрешениях, как правильно работать с координатами OpenGL, мировыми координатами, матрицами перехода, детекцией коллизий, с объектами в игре. Самыми интересными моментами для меня оказались вещи описанные ниже.


Определение коллизий. Коллизия — столкновение предметов и производство результата столкновения. Там возможна факториальная сложность, потому что каждый объект может взаимодействовать с каждым. Классический пример, для понимания детекции коллизий — заставка на Windows с пузырями, которые меняют цвет от столкновений. Когда есть 1000 пузырей, которые могут взаимодействовать друг с другом, то, по сути, нужно каждый из них проверить на то, а нет ли сейчас взаимодействия с другими 999 пузырями. Для этого есть разные алгоритмы, с которыми мы не знакомились. Наш детектор коллизий — это бесконечный цикл fori по всем объектам :)


Asset-менеджеры. Есть целые классы, которые позволяют работать с ассетами: звуками, картинками, фонтами. В игре выходит, что всегда виртуально рисуется одна здоровенная картинка, обрезанная в нужных местах. Эту картинку — TextureAtlas, надо формировать из отдельных спрайтов. И тогда в графическом процессоре нет бесконечно переключения контекста, игра не тупит, ресурсы не тратятся. Как это организовать — задача интересная, особенно для 3D игр. В 2D достаточно соблюдать некоторые базовые принципы и их потом проверить в игровом режиме.


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

Обучаясь, я накидывал всё, что в голову взбредёт. Почувствовал на себе минусы разработки без фиксации фич:


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


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


Мой опыт «как правильно»

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

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

Первая документация, когда игра ещё называлась Shuttle, заняла 29 страниц. Накидали за вечер: замечания, игра, игрок, монстры, препятствия, список фичей, дизайн, GUI.

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

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

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


Как сделаю в следующий раз

Если ещё столкнусь с подобным проектом, то сразу буду делать правильно. На мой взгляд, этапы разработки должны быть такие:


Анализ рынка и идея. Что первично, наверное, зависит от типа игры. Если это коммерческая движуха, то сначала маркетинговое исследование, а потом идея.

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

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

Разделение на команды.

Реализация и тестирование.

Конечно, во время waterfall-а можно умереть, и не довести до конца даже дизайн. Но только так будет возможна работа в команде и достижение результата. Ведь в одиночку можно заниматься проектом хоть 6-8 часов в день, но внизу показать общий прогресс-бар, то он сдвинется всего на миллиметр. Команда делает гораздо больше.


Интересные (?) решения

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


Своя система частиц

Система частиц — инструмент, который позволяет делать эффекты. Например, взрыв интересной конфигурации, огонь, какие-то метаморфозы. Как это работает? У тебя в основании графики лежит частица — particle. И суть в том, что она рисуется бесконечное число раз и ты создаёшь законы, по которым её нужно рисовать.

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


Решения с эффектами

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


Использование MVC шаблона проектирования при разработке UI

Я использовал Model-View-Controller, который полностью соответствуют подходам в веб-разработке, при разработке почти всего GUI и для сохранения и работы с результатами и конфигурациями.

У меня все конфигурации и результаты хранятся в JSON, соответственно мои дата-классы работают с JSON сторонними библиотеками. Я использовал популярный Jackson.


Торможение кораблика по золотому сечению

Сначала я корпел над изображением ускорения корабля. Там есть специальный объект, ты нажимаешь, и он начинает дико разгоняться — из турбин валит пламя. Но ускорение — полбеды, ещё надо показать торможение. А как? Показать шлейф от кораблика в космосе.

Я долго думал, а потом вспомнил про принципы золотого сечения. Используя спрайты кораблика, которые блюрятся в различную степень, в зависимости от удаления от настоящего объекта корабля, сделал так, чтобы каждый след в шлейфе отставал от предыдущего на число пикселей, которое равно числу в ряде Фибоначчи.


Борьба с вибрацией

Недавно нашёл неприятную вещь. Когда играешь в Death mode и уничтожаешь более 30 объектов, то на каждое уничтожение телефон вибрирует. Вибрация и обращение libGDX к библиотеке, которая отвечает за вибрацию на телефоне, занимает время. Когда говоришь телефону «возьми в одну секунду повибрируй 30 раз 20 миллисекунд», моя Motorola уходит в раздумья. На 10 миллисекунд задерживает геймплей и сразу следующий кадр показывает. Графический процессор всё проиграл, но из буфера кадра ничего не предоставил на экран. Короче, артефакты возникают, когда появляется много объектов.

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

Такие решения принимаются, когда чуть поиграл и понял, что что-то не нравится. Я предположил, что игрок должен иметь возможность сделать себе удобно сам. Есть телефоны, которые не реагируют на вызов вибрации ниже 30 миллисекунд. Просто вибратор внутри не может меньше чем 50 миллисекунд работать. И я тоже пытался усреднять эти значения.

Эти вещи невозможно понять без 10 телефонов и компании, что тестит игру. Так что я решил это по-своему.


Шейдеры

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

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

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


Настройка игрового баланса

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

У меня несколько статических классов. Есть пакет configs, в нём класс Rules.java и в нём 418 строчек, из них 326 — конфигурации. Есть ещё отдельные классы для конфигурации звуков, картинок, вибрации телефона, цветов, файлов, куда складываются профайлы и результаты.

Есть два класса — Buffs.java и DeathMode.java, которые меняют начальные конфигурации игры. Эти два класса с течением времени меняют начальное состояние игры. То есть скорость аномалий, их сила, их прожорливость меняется при наступлении определённых триггеров.

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

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

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


Как я настраивал баланс

Чтобы не задерживать игрока слишком долго, я придумал искусственное ограничение — play session time. Это примерно 20 минут — стандартная поездка в метро. Исходя из этого я должен подавать игроку различное количество объектов, чтобы он успел поиграть за 20 минут от начала и до конца. Конечно, если не собирать космонавтов, то будешь играть и 100 минут, и 200, пока не умрёшь сам: будешь с астероидами сталкиваться, попадёшь в чёрную дыру, или тебя просто аномалии замочат. Можно играть долго, но я попытался сделать так, чтобы игроку стало понятно, что круто дойти до 19 уровня как можно скорее. И здесь скорее выбор за игроком: заниматься исследованием мира, или добиться результатов.

У меня есть формула, которая говорит, что каждый уровень игрок получает какое-то количество очков и ему нужно каждый уровень получать их всё больше, чтобы перейти на новый. Очки в основном даются за сбор космонавтов, но есть и другие способы. Я имею базовый уровень очков — в игре он может меняться динамически.

У меня предусмотрено три режима игры — low, middle, high. В зависимости от этого меняется разрешение экрана и «площадь космоса».


Если рассмотреть, например, вырожденный случай, то чтобы собрать 95 космонавтов в уровне low нужно пролететь 4 экрана вниз и 4 экрана вверх. На это потребуется 12 минут, потому что респаун космонавтов так настроен. Чтобы это время уменьшить я изменяю количество очков за одного космонавта — это раз, какой-то базовый набор пунктов в формуле — два, время респауна космонавтов — три.

Дальше я могу делать нормализацию: не будет же космонавт всегда появляться в самой крайней нижней точке, и в самой крайней верхней. У меня есть случайное распределение, и я примерно знаю, что космонавт появляется в одном из 16 участков космоса такое-то количество раз. Соответственно я в уме делю 20 минут на 4 (цифры сейчас беру из головы, всё немного сложнее) и понимаю, что в нормальных условиях игрок будет летать не 20 минут, а 5 минут. Это время до перехода в режим Death mode, где он играет примерно столько же, сколько в обычном режиме. Дальше игра его убивает.

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

В итоге у меня есть 2 цифры: play session time — это количество времени, которое игрок потратит, чтобы полностью закончить игру в двух режимах. А с другой стороны — базовый набор очков, которые ему даёт игра. Меняя эти 2 цифры, я могу полностью изменить ход игры. Конечно, надо руками всё остальные параметры подправить.


Плейтестинг

Тут просто надо смотреть, как играют другие люди. Я заметил, как писал выше, что детям заходит графика, сенсорика, без уклона в сюжет. Но взрослые уже настраивают геймплей под себя. Задают вопросы. Здесь важно посмотреть, есть ли удовольствие, трудно ли начать играть, трудно ли дойти до конца игры. И в этот момент ты видишь всякие баги. Баги, баги, баги. После плейтестинга я дописал порядка 300-400 строк кода, учёл некоторые пожелания игроков.

Я понял, что игрока надо учить играть, без этого никуда. Жалею, что не успел сделать адекватную обучалку — это может стать основной трудностью у игрока. С другой стороны, интерфейс игры позволяет ей наслаждаться и без знания нюансов. Поэтому здесь, скорее всего, будет поле для манёвров и задачи на будущие проекты.

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

Вот некоторые примеры того, что пришлось исправить и доделать:


Написать звуки на «keep going» на каждый важный уровень.

Космос всё равно вылез на планшете — видимо, спрайт не цикличен.

Звук лазера не выключился в один из моментов игры.

Подтверждение при выходе — новое меню.

Эффективность n/100, но не непонятное число.

DeathMode в одну строчку, а не в две — не читабельно.

Изменить стратегию сохранения профиля: каждый символ — добавить описание.

Больше больших букв и поощрений.

Больше ракет.

Больше оружия, чтобы брать и больше мочить. Оружия игрок должен получить вдоволь.

Баг с джойстиком.

Баг с кругляшом очков.


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


Buran-19 в цифрах

2 года 11 месяцев от идеи до релиза

20000 строчек кода

161 класс на Java

78 звуков — 5 полноценных треков, 9 звуковых атмосферных эффектов, 56 звуков игрового процесса, 10 звуков для UI

153 картинки/спрайта


От знакомства с теорией разработки игр до релиза прошло 3 года. За эти три года перерывов, когда ничего не делалось, было суммарно на год с небольшим. И наверное, ещё один год можно выделить на время, которое нужно было, чтобы чему-то учиться. Читать, разбираться, делать тесты, экспериментировать. То есть осознанная работа велась примерно год.

По загруженности — по-разному. Бывало, что все выходные пишу.


Планы

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

Короче, разработать и даже зарелизить игру — дело не последнее.

Если буду делать следующий проект (идеи уже есть), то хочу:


Изучить движок Box2D. Движок — набор правил, которые описывают мир. Это следующий шаг к пониманию того, как происходят коллизии, как устроена физика, как люди описывают это. Например, можно задать вектор свободного падения, создав притяжение как в реальном мире. Всё будет падать сверху вниз, у объектов будет масса, описанные взаимодействия по форме и размеру. В моей игре нет никакого движка — вся физика и всё взаимодействие прописано руками. Настоящий enginless.


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


«Ну штош...»

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


Буду благодарен за любую конструктивную обратную связь по игре.

Показать полностью 2 1
[моё] Своя игра Indiedev Gamedev Космос Java Разработка Видео Длиннопост
52
arsdor
arsdor
4 года назад
Лига Разработчиков Видеоигр

Ответ на пост «Первое письмо от издателя или как я окончательно выпал из жизни на 4 недели»⁠⁠1

Хотя мне далеко и до издательств, и до хоть какой-нибудь демки, почему-то зацепил пост и захотелось написать о своих пертурбациях.


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


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

Ответ на пост «Первое письмо от издателя или как я окончательно выпал из жизни на 4 недели» Gamedev, Unity, Инди, Indiedev, Игры, Компьютерные игры, Научная фантастика, RTS, Космический корабль, Космос, Видео, Ответ на пост, Длиннопост
Ответ на пост «Первое письмо от издателя или как я окончательно выпал из жизни на 4 недели» Gamedev, Unity, Инди, Indiedev, Игры, Компьютерные игры, Научная фантастика, RTS, Космический корабль, Космос, Видео, Ответ на пост, Длиннопост
Ответ на пост «Первое письмо от издателя или как я окончательно выпал из жизни на 4 недели» Gamedev, Unity, Инди, Indiedev, Игры, Компьютерные игры, Научная фантастика, RTS, Космический корабль, Космос, Видео, Ответ на пост, Длиннопост
Ответ на пост «Первое письмо от издателя или как я окончательно выпал из жизни на 4 недели» Gamedev, Unity, Инди, Indiedev, Игры, Компьютерные игры, Научная фантастика, RTS, Космический корабль, Космос, Видео, Ответ на пост, Длиннопост
Ответ на пост «Первое письмо от издателя или как я окончательно выпал из жизни на 4 недели» Gamedev, Unity, Инди, Indiedev, Игры, Компьютерные игры, Научная фантастика, RTS, Космический корабль, Космос, Видео, Ответ на пост, Длиннопост

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

Ответ на пост «Первое письмо от издателя или как я окончательно выпал из жизни на 4 недели» Gamedev, Unity, Инди, Indiedev, Игры, Компьютерные игры, Научная фантастика, RTS, Космический корабль, Космос, Видео, Ответ на пост, Длиннопост
Ответ на пост «Первое письмо от издателя или как я окончательно выпал из жизни на 4 недели» Gamedev, Unity, Инди, Indiedev, Игры, Компьютерные игры, Научная фантастика, RTS, Космический корабль, Космос, Видео, Ответ на пост, Длиннопост
Ответ на пост «Первое письмо от издателя или как я окончательно выпал из жизни на 4 недели» Gamedev, Unity, Инди, Indiedev, Игры, Компьютерные игры, Научная фантастика, RTS, Космический корабль, Космос, Видео, Ответ на пост, Длиннопост
Ответ на пост «Первое письмо от издателя или как я окончательно выпал из жизни на 4 недели» Gamedev, Unity, Инди, Indiedev, Игры, Компьютерные игры, Научная фантастика, RTS, Космический корабль, Космос, Видео, Ответ на пост, Длиннопост
Ответ на пост «Первое письмо от издателя или как я окончательно выпал из жизни на 4 недели» Gamedev, Unity, Инди, Indiedev, Игры, Компьютерные игры, Научная фантастика, RTS, Космический корабль, Космос, Видео, Ответ на пост, Длиннопост

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

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


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

Показать полностью 10 1
[моё] Gamedev Unity Инди Indiedev Игры Компьютерные игры Научная фантастика RTS Космический корабль Космос Видео Ответ на пост Длиннопост
3
4
ksh311x
ksh311x
4 года назад
Лига Разработчиков Видеоигр

Трейлер игры Martian Potato в озвучке КШ311-Х⁠⁠

Команда Шаттла 311-Х ни в коем случае не ограничивает себя только созданием комиксов и музыки. Мы ещё и команда озвучки, представьте себе) И давно хотим рвануть в игропром, но до недавнего времени все наши проекты срывались, пока наконец-то свет не увидела эта игра:

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


Но!


Есть одна фишка у этой игры, которую отметили критики и летсплееры (их ещё так называют ведь, да?)! Важный крутой момент: игра озвучена двумя актерами на русском и английском языке и позволяет игроку менять озвучку с женской на мужскую. ВАУ, ПРОФЕМИНИЗМ!


Олсо, смешной факт: до того, как мы написали все реплики к этой индюшатине, у автора не было придумано никакого лора. Однако после того, как мы поработали над озвучкой и трейлером, все абсолютно убеждены, что в Martian Potato действие происходит не просто так, а по заказу серьёзной конторы F Wings)

В качестве пранк-подарка фанатам космоса игрулька наверняка сойдёт;)

Показать полностью
[моё] Компьютерные игры Gamedev Картофель Трейлер Марс Озвучка Илон Маск Космос Видео
2
107
byfeme
byfeme
5 лет назад

Реалистичная планета земля в Unreal Engine 4 | обзор⁠⁠

Сделал реалистичную планету земля в игровом движке Unreal Engine 4 с текстурами высокого разрешения: 16к для поверхности и 16к для облаков. А также, 8к текстуры для ночного неба.

На видео полный немой обзор данного проекта.

Планета земля вращается, облака, также, вращаются, но чуть быстрее.

Реалистичная планета земля в Unreal Engine 4 | обзор Земля, Планета, Unreal Engine 4, Разработка, Gamedev, Реализм, Космос, Видео, Длиннопост
Реалистичная планета земля в Unreal Engine 4 | обзор Земля, Планета, Unreal Engine 4, Разработка, Gamedev, Реализм, Космос, Видео, Длиннопост
Реалистичная планета земля в Unreal Engine 4 | обзор Земля, Планета, Unreal Engine 4, Разработка, Gamedev, Реализм, Космос, Видео, Длиннопост
Реалистичная планета земля в Unreal Engine 4 | обзор Земля, Планета, Unreal Engine 4, Разработка, Gamedev, Реализм, Космос, Видео, Длиннопост
Показать полностью 4
[моё] Земля Планета Unreal Engine 4 Разработка Gamedev Реализм Космос Видео Длиннопост
33
48
NikitaBayduzha
5 лет назад
Лига Разработчиков Видеоигр

Ваша первая игра обречена на провал?⁠⁠

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

Ваша первая игра обречена на провал? Gamedev, Инди, Steam, Космос, Постмортем, Видео, Длиннопост

И так. Коротко о том, с чего все начиналось.

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


Как появилась идея.

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


Несколько слов о самой игре.

1000 days to escape - космический аркадный симулятор на время. Суть игры - исследовать на просторах вселенной планеты и отправлять на них землян (не группу) при помощи ракет. Также, существуют планеты, которые не имеют пригодных условий для жизни человека, либо уже заселены, их придется терраформировать или, послав толерантность подальше, начистить рожу зеленым. Чтобы добавить реиграбельности, мы сделали карту звездной системы рандомно генерируемой и добавили таблицу рекордов.

Ваша первая игра обречена на провал? Gamedev, Инди, Steam, Космос, Постмортем, Видео, Длиннопост

Скрытый смысл.

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


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


Стоит ли увольняться с работы.

Сразу скажу, в этом будет смысл только тогда, когда будете уверены на 101%, что вам хватит личных ресурсов, чтобы дожить до релиза и еще месяц после него. После, варианта останется два: 1) Дождаться поступления средств 2) Найти новую работу.


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


Каково это, быть НЕЗАВИСИМЫМ?

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


Разработка игр процесс не самый простой, особенно это касается микроменеджмента. Работа “на энтузиазме” это круто, но всегда есть предел. Мы это прекрасно понимали, поэтому приняли решение арендовать помещение. Вы скажите: “Но зачем? Можно работать дома, сэкономить кучу средств и времени”. Да, можно. Но чисто с психологической точки зрения, когда создана рабочая атмосфера, пускай в помещении вас всего двое, подход к делу меняется и “точка невозврата” (предел энтузиазма) немного отдаляется. В нашем случае, эта точка во времени оказалась чуть дальше от дня релиза.


Релиз, маркетинг, продажи.

25 июля 2019 года это наконец случилось. Игра оказалась на прилавках Steam. В этот знаменательный день, позвав друзей, мы даже заказали пиццу и открыли шампанское, Российское.., но, мне кажется всего чуть-чуть не дотянули до уровня корпоративов в Google.


Теперь серьезно. Про маркетинг для инди разработчиков написано множество статей.


У нас не было уникальной PR-стратегии. Игру мы выпускали своими силами, просто потому что она “не того поля ягода”, и в первую очередь хотелось получить опыт от разговоров в баре до нажатия кнопки “опубликовать”.


Из всех способов продвижения, чему мы были сильно удивлены, сработала рассылка писем с ключами YouTube-рам. Самым ярким стал обзор от DanTDM. Когда я увидел, что на его канале 22 млн. подписчиков, чуть не потерял сознание. Спасибо ему.


Что касается стримеров, мы не отправили ни одного письма, подумав, что это просто смешно. Наша игра у кого-то на стриме...Но, на второй день после релиза, мой друг скидывает ссылку на стрим, где Sodapoppin (своего рода Киркоров из мира Twitch) покупает 1000 days to escape, и даже играет, и даже сказал что игра “клевая”. Тогда я впервые испытал приступ кратковременной утраты сознания.


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


В итоге, в первую неделю количество продаж было зафиксировано на отметке около 7 тысяч копий.


iOS, Android.

Сегодня игра уже доступна на мобильных платформах, но ситуация отличается в корне. Здесь нет гарантированного трафика, в отличие от Steam. YouTube каналов по теме обзора мобильных игр мало, в основном это подборки вроде “Топ 10 игр 2019 на iOS и Android”. Также, на новостных сайтах пока нет ни одной статьи о нашей игре, возможно, мы слишком поздно отправили письма.


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

Итог.

Не мне давать кому-то советы, но я дам.


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


1) Выбрать для игры интересную идею. Желательно, чтобы сеттинг был не про Россию. Это значительно расширит количество потенциальных игроков.


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


3) Не делать платформер или top-down шутер.


4) Попытаться переосмыслить стандартные механики, нужен хотя бы один “крючок”, чтобы быть интересным для игроков, например: чтобы загрузить людей в ракету, нужно трясти над ней дом.


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


6) Старайтесь относиться к разработке серьезно. Еще серьезней, чем к работе по найму.


7) Изучайте рынок, тренды. Там много отличных игр, в которых можно подсмотреть интересные решения практически для всего.


8) Постарайтесь заранее сформировать комьюнити. Twitter, Vk, Reddit, Pikabu в этом помогут.


9) Любите то, чем занимаетесь.


Заключение.

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


Благодарю за внимание :)

Показать полностью 1 1
[моё] Gamedev Инди Steam Космос Постмортем Видео Длиннопост
51
RenardTheFox
RenardTheFox
5 лет назад
Лига Разработчиков Видеоигр
Серия НИР

Начинающий инди разработчик Ep.4 - Немного оптимизации⁠⁠

Доброго времени суток!


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


Попробовав пару вариантов, я пришел к полному переходу системы на "виртуальные пули", т.е. снаряды больше не являются отдельными объектами в сцене. Теперь они рендерятся отдельным компонентом камеры и не являются частью сцены. К слову, раньше количество отрисовок было около двух сотен, теперь же с новой системой это количество снизилось в 10(!) раз. Однако, все еще при слишком большом количестве активных снарядов(гораздо большем, чем раньше) есть проблемы, но я думаю даже так - это успех.


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


Почитав ваши комментарии и предложения, я стал думать о мире игры. Фракции, корабли, вооружение. Товарищ @xv16 напомнил мне про сериал "Экспансия"(или Пространство, в зависимости от локализации), ну и конечно же пошло-поехало. Земля, Марс, Астероидяне, пираты... караваны и их грабеж. Появились мысли о небольших изменениях геймплея. Например, ведение боя: что-то наподобие Crossout (наверное, самый популярный пример) в плане модульной системы орудий и их наведении на цель.

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


Спасибо за внимание и удачи в ваших начинаниях и продолжениях!

Показать полностью
[моё] Инди Indiedev Разработчики Gamedev Космос Шутер Аркадные игры Оптимизация Текст
2
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии