А вот свеженькое, интересное и, как ни странно, актуальное от Рафа Костера. Хотя и снова о SWG. Но на этот раз Раф рассказал о принципиальном подходе к генерации игрового окружения и о том, какие возможности такой подход открыл для разработчиков в начале двухтысячных годов. Очевидно, его рассказ и сегодня, во время явного расцвета технологий процедурной генерации, может быть вполне востребован. Текст, как обычно, весьма увесистый, поэтому переводить не решусь, но ключевые моменты, которые мне показались интересными, обозначу. Многое в словах Костера заставило меня по-новому взглянуть на возможности процедурной генерации.
Признаюсь, я смотрел на принципы процедурной генерации виртуального мира, возможно, в довольно упрощенном виде. Для меня это был божественный процесс сотворения виртуальной тверди, генерирующий непредсказуемый узор из алгоритмов и случайностей. Больше всего в процессе исследования таких территорий меня вдохновляло то, что я, возможно, первый, кто видит эту красоту. Что возникла она не после работы художника, а вследствие неких перемешанных закономерностей и случайностей. Но, грубо говоря, дальше этот мир если и будет изменяться, то под действием исключительно игрока.
Итак, перед разработчиками стояла амбициозная задача – создать не камерный фентезийный мир, как в других ММО, не декорацию планеты, как при съемках фильма серии Star Wars – а ощущение целой вселенной с планетами, по которым можно долго, почти бесконечно, путешествовать. Никто такие пространства не мог создать вручную. Что еще важнее – никто такие пространства не мог поместить на какой-то носитель. Смотрите простейшие расчеты Рафа в начале заметки.
Итак, сложная и, казалось бы, нерешаемая для своего времени проблема заставила разработчиков найти новые подходы. О них также подробно написано в тексте Рафа, как и об огромном количестве проблем, которые создал новый подход, и которых не было у других онлайновых проектов SOE, таких как Everquest 2 или Planetside, работавших на основе рукотворных и неизменных ландшафтов.
Тем не менее, новый принцип, который применили при создании локаций SWG «на лету» позволил разработчикам точно так же «на лету» изменять множество параметров. Что, в свою очередь, открыло совершенно потрясающие возможности:
Наши алгоритмы могли применяться к любому объекту в игровом мире. И это позволило нам ставить любое строение в любой части мира. Мы ограничили себя простой окружностью в качестве базиса, так как при таком подходе требовалось минимум вычислений (просто дистанция от центра). Грубо говоря, мы располагали в центре такой окружности все, что нам нужно, а дальше делали плавный переход к окружающему ландшафту и текстурам.
В результате они смогли сделать:
Дома. Игроки могли поставить свои дома в любом месте, где нет запрета на строительство.
Динамические достопримечательности. Были небольшие локации, которые «спавнились» сразу с сооружениями, определенным антуражем и противниками.
Логова. Вместо того чтобы «спавнить» отдельных монстров, разработчики придумали динамически располагать их логова, где были как беззащитные молодые особи, которых можно было приручить, так и матерые хищники, способные потрепать бывалого охотника. Причем они нападали на любого, кто пытался приблизиться к логову, что было естественной моделью поведения.
Временные лагеря. Игроки могли разбить свой временный лагерь, которые предоставлял многие из сервисов, доступных в городах. Это был один из очень важных центров социального взаимодействия посреди диких территорий.
Военные базы. На их основе в дальнейшем была основана механика «Гражданской Войны».
Что еще важно упомянуть – SWG обладало уникальной системой динамической генерации ресурсов. Свой собственный опыт ее использования я описывал в одной из давних заметок.
Важный вывод из всего описанного Рафом для меня – это неожиданная новая сторона процедурной генерации. И в Майнкрафте, и в Salem, и Haven and Hearth, вся территория после создания мира оставалась неизменной. В SWG, напротив – все окружение постоянно менялось. Возникали логова, достопримечательности, постоянно менялись залежи ресурсов. Это делало мир в восприятии игрока намного больше, чем он был на самом деле. Исследование такой территории становилось, фактически, бесконечным. Разработка ресурсов – тоже. Не было необходимости гнаться за «самым лучшим местом» или ждать «вайпа», то есть перегенерации мира, если мир постоянно преобразовывался сам. Достаточно было просто моргнуть.
35 комментариев
Давайте сравним с Shores of Hazeron, где потенциальное количество еще неисследованных планет в галактике оставляло постоянный шанс на нахождение области с наивысшим качеством ресурса. Или с Life is Feudal, где для каждого игрока ценность одной и той же собранной травы была индивидуальной. Salem продолжил идеи своего предшественника и в нем нельзя было сразу наткнуться на чистейшую руду. Для поиска высококачественных рудников того же цвета, необходимо было использовать предметы, созданные из аналогичного по цвету металла чистоты чуть ниже.
UPD: если вы невидите на горизонте ни одного игрока — это слишком далеко. А в салеме радиус обзора — один экран.
То есть кемпинг спотов это плохо?
Почему в Салеме игроки разбредались друг от друга, разве из-за недоступности ресусов?
Кемпинг спотов — может быть и нет, но лично я играл в свое время в игру про кемпинг спотов и — never again!
Почему разбредались игроки в Салеме я не знаю, но факт остается фактом — с областью видимости, если сравнивать с SWG, там печаль. Можно потерять друг друга, просто отойдя чуть в сторону за цветочком.
Способ добычи не имеет никакого отношения к описанной в статье системе генерации спотов.
Искать сами ресурсы было интересно? Никогда не возникало мысли о возможной автоматизации процесса поиска: запуск разведывательного дрона, сканирование планеты с орбиты?
Если вы с удовольствием занимались поиском, а завтра узнавали что лучшие споты уже истощены кем-то другим, потому что он нашел их раньше. И в ближайшее время только он сможет произвести лучшую экипировку на сервере. Такое событие будет восприниматься с легким огорчением?
И у нас были торговые связи с производителями и продавцами сырья.
Огорчения — да, были. Но тут несколько «но». О том, что ресурс — действительно раритетный, узнаешь не когда его копаешь, а сильно позже. Идеальные «эпические» ресурсы выпадали невообразимо редко. 1 раз за 3 года, например.
Нормальные характеристкими были просто «Нормальные».
За счет других материалов можно было подтянуть те, которых не хватает при крафте.
Хламоматериал так еж использовался в огромных количествах, так где его характеристики не влияли.
SWG в этом плане не отличается.
Значит, постоянный поиск спотов являлся интересным и не надоедающим времяпровождением для игроков, кому SWG со всем остальным геймплеем уже нравился.
В каком смысле «значит»? Мы же этого не выяснили. Вот есть два игрока — у одного возникает желание автоматизировать, а у другого — нет, его все устраивает. И если мы основываемся на возникновении желания, оно само по себе ни о чем не говорит, по-моему.
В конце игрок получает вознаграждение, цена которого все затраченные им усилия.
Не является ли такой поиск искусственным удлинением геймплея? Если никто не задавался таким вопросом, то нет, не является, а органично находится в мире на своем месте.
Меня возмущает только представление, что система случайной генерации спотов и вытекающий из этого вечный поиск ресурсов делали мир для игрока шире, а другие, приведенные в примере игры, этого не делали.
В MMO по определению будет куча неинтересных конкретному игроку частей. Завтра будет новая заметка по этому поводу. Тоже пересказ рассуждений Рафа, к слову. Так что пытаться сделать весь геймплей ММО интересным одному игроку — утопия.
Почему происходит такое, что части ММО объединяют игроков в одном мире до такой степени, когда мы можем характеризовать их не только по причастности к самой игре, но по виду деятельности в ней: производственники, торговцы, исследователи…
Взглянем на Elite: Dangerous. Исследование в игре самый скучный и монотонный процесс. Награда в кредитах за сканирование систем самая низкая. На данный момент не существует никакого геймплея после исследования, оно ни к чему не приводит. Так кто продолжает отправляться в дальние экспедиции и после составлять мемуары о своих скитаниях?
Но с другой стороны, при скучном процессе (объективно или субъективно) и получаемая потом за процесс награда, может легко его превратить в тупой и неинтересный гринд «за конфету». Которая с каждым разом будет становится все горше и горше.
понравилась. По моему идеально подходит к тем случаям, когда в игру все же пихают ботов.
Правда, при этом возможен вариант, когда геймплей то интересен, и даже приличному количеству игроков, но конфета слишком велика и этим приходится заниматься даже тем, кто этим заниматься не хочет. Появляются боты… они функционируют лучше людей… элемент геймплея погибает даже для тех, кому он был в кайф.
Считаю, что в таком случае виноваты не только ботоводы, но и те, кто сделал конфету слишком большой.
Боты для такой процедуры не очень подходили (я не знаю о возможности перехвата данных между клиентом и сервером — там, может быть, что-то и можно было сделать). Попытка пробежать из города с зажатой спичкой клавишей заканчивалась генерацией у тебя перед носом очередного логова, из которого выпрыгивало что-то, что откусывало тебе голову со второго укуса, вне зависимости от твоего уровня. Когда ввели транспорт — стало полегче — можн обыло пролететь логово насквозь. Но для сбора ресурсов надо останавливаться через каждые 50 м и сканить снова (не из транспорта) и менять направление — жила шла не по прямой. Да и из транспорта могли легко вышибить.
Скажем так, мы несколько проводили «гонки» из космопорта до города: 100% недоезд всех. Но это — Дантуин и до КУ/НГЕ. На центральных планетах можно было все же отбиться.
Половину из того, что я сегодня написал, я вспомнил уже в процессе.
Ну, и надо заметить, что далеко не все воспоминания о СВГ вызывают у меня положительные чувства.
Зато сегодня случайно откопал заметку в ЛКИ про празднование дня рождения нашего города :) И на одном из скринов, кажется, даже себя узрел 8)
www.lki.ru/text.php?id=2518
Прошу прощения, если ссылка не к месту.
Со случайной генерацией таких скриптов уже не будет. Нужны будут другие — поумнее, посложнее. И вот их уже будет тяжелее написать, тяжелее достать… Профи-ботоводы никуда не денутся, но вот игроки уже ими пользоваться не будут.
Не важно на сколько это сложно если необходимость использования бота для получения ощутимого преимущества существует.
Автоматизация выигрывает везде, где не требуются редкие навыки. Если существует потенциал получения преимущества в игре через автоматизацию, автоматизация имеет быть в этом месте.
На более обжитых планетах было попроще, но тоже не везде. Случайная генерация всяких смертоубийственных гадов на пути бота во время его «прогулки» (а без них — никак) оборвут еще быстрее, чем у игрока. Мы к себе в город «новичков» (тех, кто на центральных планетах освоил начальные уровни) возили, и то не всегда успешно.
Но… боты были 8) В СВГ был свой скриптовый язык, с циклами и условиями. Им качали крафтерские профессии и ТКА.
По какому-то принципу и таймеру карта ресурсов на планете обновляется (я не помню ни таймеры ни принципы. Помню, там были некоторые проблемы, но они не сильно влияли).
С помощью сканера необходимо найти наивысшую концентрацию — жилу. Каждый раз концентрация могла быть разной. И, в зависимости от качества реурса, добычу производили так же на разных уровнях концентрации: редкое копали там, где хоть что то можно выкопать, обычные ресурсы копали в местах наибольшего скопления.
В процессе сканирования показывает только концентрацию ресурса, который ты ищешь. При развитии навыка, как мне помнится, можно было еще узнать, какой группы ресурсы у тебя под ногами еще есть (металлы, полиэфиры, и т.п.), но не их семейство, не конкретный ресурс, и уж точно — не его характеристики.
Характеристики вообще можно было узнать, только взяв пробу (что на жилах с маленьким уровнем концентрации тоже не просто).
Найдя наивысшую концентрацию ресурса, взяв пробу (и убедившись, что копать это — выгодно), там можно было поставить копалку. Простые питались полиэфирами (нефтью :) ), навороченные жили на всяких ядерных реакторах. Копалки надо было заправлять. И освобождать их от уже ими накопанного. Ода-три копалки выкачивали 85% жилу за двое-трое суток. Получалось это… скажем так, не много. Жила «проседала» не равномерно. Посему, выкачав «сливки», копалку надо было переставлять, проведя дополнительное сканирование.
В общем, по добыче тут все и заканчивалось (бы), если бы не одно «но». На всякие топ-шмотки шли конкретные, именные ресурсы. Они могли просто не генерировать — месяцами. Они могли генерироваться, но с плохими характеристиками. Настолько плохими, что ты делал вещь, и она получалась полным хламом. Характеристики ресурсов влияли на параметры изделия не только напрямую, но и по совокупности. На все это накладывалось мастерство и удача в экспериментах мастера, которые делает предмет (или его схематику). Некоторые редкие ресурсы с высокими характеристиками хранились и если появлялись в продаже, то безумно дорого и редко. Ну и, например, снайперку Т21 можо было купить «обычную» — из средних ресурсов, какие-то мастерские варианты — из хороших ресурсов, с отточеной схематики, или — вообще — ручного производства, в единственном экземпляре на сервере. Это я о качественных изделиях, помимо того было все и совсем простое.
Это было интересно. Не больше, но и не меньше. Сам процесс поиска ресурса и «подсчет», куда, что и как. Поиск качественных ресурсов (исследование рынка) если не смог накопать — отдельная «Игра». Эксперименты с ресурсами в крафте — третья «игра», планирование производства на схематику.с учетом запасов — четвертая «игра». При том, сам процесс «копания» — был прост за счет «копалок» (но их менеджмент (там еще требовался их ремонт, кажется) — тоже немного увеличивал фан от «облетел, очистил хранилища». Но не сильно :)
Еще можно было поставить свою копалку (более мощную) рядом с чужой — жила то одна, и утянуть часть ресурсов. А это уже — политический конфликт с соседями.
Из плохого была абсолютная непредсказуемость ресауна ресурсов (по типам и видам) и их характеристики. У нас на сервере очень долго не было какого-то ресурса, так что и оружия из него не было (для БХ, как помнится) почти пол года.
Энергия — тоже добывалась.
Копалки под каждые ресурсы были разные.
Кажется, были не только минералы и полимеры под оружие/броню, но и что-то для биоинженеров и строителей. Просто я до этой части игры (профессий) не добирался 8))
И отдельно — система профессий: полезны и нужны были все. И мастерские, и начинающие. Любой кубик в ветке профессий что-то давал. И перераспределять кубики для отдельных, мастерских заморочек было очень не легко.
ЗЫ. но «Нужное» не значит «сбалансированное». косяков там была куча.
Для SWG такая система подходила как никакая другая.