Добавьте щепотку рандома в вашу игру


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

    В любом случае, будет много интересных ресурсов.

    Виды рандома в играх

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

    Понятно, что делать это стоит без фанатизма. В пример можно привести No Man’s Sky, где разработчики возвели идею процедурной генерации в абсолют и до сих пор за это расплачиваются.

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

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

    Примеры используемой генерации


    Хотелось конечно дополнять примеры иллюстрациями, но, к сожалению, NDA не позволяет этого сделать.

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

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

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

    Осторожно, спойлеры!


    Ситуации, где хотелось бы вариативности
    • The Legend of Zelda: Breath of the Wild — лут в сундуках: я понимаю, что такие предметы, как легендарный меч и д.р., могут и должны выдаваться в конкретных местах, по квестам и т.д., но когда точно знаешь, что выпадет из сундука в который пришлось заглянуть несколько раз из-за смерти, — сильно надоедает.
    • The Legend of Zelda: Breath of the Wild — святилища: сама идея святилищ довольна интересна — головоломки на любой вкус и цвет. Но в определенный момент, когда я не смог сам пройти одно из хранилищ (название, к сожалению не запомнил), где необходимо было с помощью древних механизмов ввести количество звезд изображенных в каждом созвездии, я обратил внимание, что у меня все тоже самое, что и в видео, которое я смотрел. Добавив простую процедурную генерацию таких созвездий, можно легко создать уникальную ситуацию для каждого игрока. Даже если игрок и подсмотрит прохождение, ему все равно придется напрячься, чтобы выполнить задание.
    • Talos Principle — зашитые замкИ: ребята из Croteam постарались на славу, создав игру не уступающую Portal, поднимающей риторические вопросы, с отличными головоломками, кучей пасхалок и несколькими концовками. Но вот замкИ, открывающие двери и реализованные с помощью головоломок по типу «собери прямоугольник из фигурок», всегда будут одни и те же на одних и тех же местах. Почему нельзя было реализовать хотя бы несколько вариаций головоломки для одного замкА? Это существенно бы усложнило жизнь тем, кто решил заглянуть в гайды по прохождению.

      Видео, на тему создания головоломок
    • Control — респаун врагов по триггеру: не выполнив локальное задание, я решил вернуться обратно, откуда пришел. Как только, я перешагнул порог комнаты — враги зареспаунились. Т.е. игра тупо отработала по триггеру «Когда пойдет назад» и не важно, выполнил я задание или нет. Control с этой точки зрения сильно разочаровал. Вообще, очень странно, что такое существует в 2К19 в игре AAA класса. В той же самой L4D2 боссы появляются в разных местах. Понятно, что места эти зашиты и спустя столько лет уже заучены сообществом наизусть, но согласитесь, что так намного интереснее. А спаун мелких боссов так вообще реализован хитро, исходя из расчета нападения на самого слабого, отстающего или, наоборот, убежавшего вперед.

    Ситуации, где реализовано круто
    • Dishonored — приём Леди Бойл: в данной миссии необходимо устранить одну из 3 сестер, какую именно — выбирается игрой случайно. Этот трюк сильно усложнил жизнь спидраннерам.
    • Dishonored 2 — загадка Джиндоша: игра предоставит вам возможность срезать путь, решив адаптированную под лор игры классическую задачу Эйнштейна. Вот только у каждого игрока свой набор условий. Даже зная алгоритм решения, Вам, вероятнее всего, понадобится листок и ручка, чтобы пройти дальше.
    • Borderlandsгенерируемое оружие: наверное, все слышали про эту, одну из уникальных, особенность данной серии. Разработчики превратили оружие в фантики на любой вкус, цвет и ситуацию. Вам не имеет смысла привязываться и искать то самое, единственное орудие смерти, ведь через пару минут подвернется что-нибудь получше.


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

    Похожие публикации

    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 8

      +2
      Вспоминается Diablo, да ещё если старенькая 2-я часть с пиратским переводом и автоматическими именами лута вроде «Небрежности кровопролития алебарда гнева», будто с AliExpress заказал, а не с монстра выбил))
        0

        На фоне прочих рогулайковских Blessed Broken Rusty Iron Heavy Mace of Slaying Giants "Mighty Punch"(название временное) дяблы ещё умеренны!

        0
        Возможно напишу странную для многих вещь, но кроме призыва «давайте больше рандома», есть много нюансов по поводу реализации самого рандома в разных ситуациях. Часто получается так, что то что думает рандомизатор про рандомность и то, что хочет пользователь/разработчик получить в итоге далеко не всегда одно и то же. Бросая 10 раз кубик и получая 8 раз 6-ку, вполне в духе рандома, но результат даже при расстановке растений (не говоря уже о луте) часто удручает. Поэтому рандом — это хорошо, но нужно применять его с умом, как-то контролируя вселенские случайности.

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

          В видео описывается два вида рандома:


          1. Входящий — случайности до хода игрока. Сюда входит генерация уровня, либо выпавшие карты.
          2. Исходящий — случайности после хода игрока. Это шанс попадания(промаха).

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

            0
            можно реализовать критический урон. вроде бы не мешает игроку, а помогает)
            0
            Возможно часть ответов скрыты в видео-вставке
            — на все Ваши вопросы/замечания есть ответы в видео вставке, вплоть до описываемой Вами ситуации с кубиками
            но для меня они недоступны, поскольку видео я посмотреть не могу, да и воспринимаю такой контент с трудом
            — ¯\_(ツ)_/¯
            а в тексте автор привести их отказался
            — не счел нужным ибо материал в видео вставке хороший: все разложено по полочкам и с кучей примеров
              0
              Ваша позиция понятна, я просто выражаю недоумение скорее из своих странных ожиданий, что хабр это не совсем ютуб или там инстаграм, и ожидаю, что весь значимый контент статьи (раньше так назывались текстовый публикации) будет доступен в виде текста. Но администрация и большая часть сообщества хабра, возможно думает иначе. А я просто пытаюсь прояснить для себя этот вопрос.
            +1
            Ситуации, где реализовано круто:
            Borderlands — генерируемое оружие

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

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