Форум - "Аллоды Онлайн" - Рандомная генерация островов. Или как сделать астрал разнообразным
Показано с 1 по 19 из 19
  1. #1
    Аватар для Kizilus
    Banned Kizilus на пути к лучшему
    Регистрация
    14.11.2011
    Сообщений
    1,302
    Репутация
    10

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

    Имеюющиеся проблемы
    - Астрал скучен. Не, ну серьезно, 10 +/- 2 острова в сезоне и 4-5 из старых сезонов?
    - Астрал - типа изменичивая субстанция и т.п., но с завидной регулярностью создает нам идентичные до песчинки острова.
    - Аргументы вроде:
    Цитата Сообщение от Velranni
    Что лучше? Острова, сделанные с любовью, там, где каждая мелочь что-то обозначает, где есть запоминающиеся лендмарки, различные референсы, где места схваток с боссами западают в память...
    Или бездушные чудовища, созданные генератором случайных карт, где отсутствует какой-либо вменяемый баланс прохождения?
    имеют вес при овер100 островах, т.е. примерно 1 остров 4 раза в год!!!!!


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

    Как реализовать

    !!!ВНИМАНИЕ!!! Ниже написанное является мнением автора, может быть вполне дилетантской писаниной и должно быть подвергнуто КОНСТРУКТИВНОЙ критике. А так же может не учитывать какие-то детали.

    0. Расстановка босов и паков

    Конечно, многие могут подумать "куда ставить мобов, если нет еще карты", но тут скорее мобы определяют рельеы, а не наоборот. Это чтобы избежать:
    Цитата Сообщение от Velranni
    Так вот, генераторы с легкостью создают недоступные зоны, непроходимые места. Либо же наоборот - площадки, где легко можно обойти все что угодно и попасть сразу к финальной цели.
    Играть в такое не интересно.
    0.1. Итак, первый запуск генератора случайных чисел.

    Скажем так, у расстановки боссов есть определенные шаблоны, которые можно выразить графами или подобными схемами:


    [IMG]//i66.fastpic.ru/big/2014/0911/d9/d982071cc0399d64db5477ee426495d9.png[/IMG] [IMG]//i66.fastpic.ru/big/2014/0911/46/a7500b05f2e10cf5e9cb3045a6054946.png[/IMG]


    [IMG]//i66.fastpic.ru/big/2014/0911/86/9638d627c561414de140611d0897f286.png[/IMG] [IMG]//i66.fastpic.ru/big/2014/0911/17/e5e2a11ec45b1fadead41f04e4b31f17.png[/IMG]


    [IMG]//i66.fastpic.ru/big/2014/0911/07/24403893d1807829279f0105b3f39a07.png[/IMG] [IMG]//i66.fastpic.ru/big/2014/0911/01/4de43552ae7dbaab860d2757ba987001.png[/IMG]


    [IMG]//i66.fastpic.ru/big/2014/0911/45/dacdbd765b797dde5108b6968ddccd45.png[/IMG]

    Синий кружок - вход, прыжковый механизм.Зеленый - босс.
    Вариаций много(здесь не все). Например, шестая схема имеет варианты не 2-2, а 1-3 или 3-1. В общем много их, даже при условии, что боссов всего 4 на острове.

    После того как выбрали основную схему расстановки, приступаем к расчету положения Боссов и промежуточных паков.

    0.2 Мой вариант расстановки(первое что в голову пришло)

    Положим точку входа в центр окружности. И возьмем сектор <180 градусов для островов, где начало-начал находится с краю, или возьмем всю окружность для островов а-ля "Прибежище еретиков"(или оно "пристанище"?).
    Далее проведем саму окружность, или несколько, в зависимости от максимальной удаленности босса от входа(в числе стрелочек на схеме расстановки).

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

    Далее выделяем в первой "большой" окружности(секторе) сектора. Величина их должна быть не больше (360(угол сектора) / число боссов в 1 прееходе) и они не должны накладываться друг на друга.
    После выделения секторов выставляем на "большой" окружности точку с боссом, лежащую в выделенном под нее секторе. Все это, естественно, при помощи любимого нами рандома.

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

    Повторить для 2-4 "большой" окружности, с небольшими изменениями(надеюсь на примере будет понятно):

    [IMG]//i63.fastpic.ru/big/2014/0911/31/040a1564a52df75d02ed98eaebb7c131.png[/IMG]
    Это примерная реализация для 4 схемы из п.0.1.

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


    1. Генерация рельефа

    Тут я конечно в виду нубасности не буду реально генерировать диаграмму Вороного, возьму ее "аналог" генерируемый графическим редактором. Да и алгоритм Diamond-square algorithm тоже заменю приблизительным "аналогом" оттуда же. Но суть покажу.

    1.1 Диаграмма Вороного
    Ее можно сгенерировать используя точки из пункта 0.3 или же сгенерировать на основе произвольного набора(пропустив п.0.3), и наложить точки из п.0.2 для определения расстановки боссов.
    Дальше не стоит забыть про такую умную штуку, как триангуляция Делоне, которая сбалансирует диаграмму Вороного(это чтобы цитату из п.0 избежать тоже).А вообще разрабы умные, они движки пишут, про такие штуки наверняка знают лучше моих познаний из Википедии.

    1.2 Диаграмма Вороного - раскрашка.

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

    [IMG]//i66.fastpic.ru/thumb/2014/0911/2b/5dc08ea0fff1dc060d966f23fb3dc42b.jpeg[/IMG]

    1.3 Diamond-square algorithm.
    Определив основную направленноть рельефа при помощи раскрашенной диаграмы Вороного, нам надо сделать более плавную и естественную температурную карту рельефа. Для этого мы создаем произвольную температурную карту рельефа на основе Diamond-square algorithm, но с малым изменениями высот.

    1.4 "Мыльцо" и наложение.

    Размываем диаграмму Вороного и накладываем на нее микрорельеф полученный при помощи Diamond-square algorithm.

    [IMG]//i66.fastpic.ru/thumb/2014/0911/2b/f178d6f665161e03397feeb2db93c52b.jpeg[/IMG]

    1.5 Генерируем модельку острова на основе получившейся температурной карты.



    2. Боссы и паки.

    2.1 Умения боссов.

    Босс явление замысловатое и умеющее всякие гадости. Чтобы эти гадости не складывались в непреодалимые наборы, надо создать наборы умений, которые нельзя использовать одновременно.
    Далее имея скажем 5 наборов, можно брать в зависимости от сложность слоя 2-4(+1 для ласта) наборов, выбирая случайным образом одно умение из набора.

    [IMG]//i64.fastpic.ru/thumb/2014/0911/a8/8d62764b03795164255c8e97aa07dca8.jpeg[/IMG]

    2.2 Паки

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



    3. Няшность

    3.1 Климат и растительность.

    Дизайнов "климата" много в игре. Выбираем рандомно и накладываем на модельку. Текстурки почвы зависят во многом от налона рельефа(ну не руками же их рисуют на таких здоровых локах). Деревья и прочую растительность(камни, энергокубы, тотемы и прочие руины) садить на ровных площадках, но не на тропинках. Для мелкой растительности можно воспользоваться Diamond-square algorithm, используя плотность "засева" травой равную температуре на температурной карте.

    3.2 Внешний вид мобов.

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

    Как-то так
    Истинностью в последней инстанции выше написанное не обладает. Не хватает деталей, НО это конкретика. А не "сделайте хорошо".

  2. #2
    Аватар для Kizilus
    Banned Kizilus на пути к лучшему
    Регистрация
    14.11.2011
    Сообщений
    1,302
    Репутация
    10
    А еще считаю правильным применить данный подход для карт Доминиона. Чтобы верх брал реальный скилл и способность адаптироваться, а не заученные тактики.

  3. #3
    Аватар для Maskerader
    Империя Отец Нации Maskerader имеет безупречную репутацию Maskerader имеет безупречную репутацию Maskerader имеет безупречную репутацию Maskerader имеет безупречную репутацию Maskerader имеет безупречную репутацию Maskerader имеет безупречную репутацию Maskerader имеет безупречную репутацию Maskerader имеет безупречную репутацию Maskerader имеет безупречную репутацию Maskerader имеет безупречную репутацию Maskerader имеет безупречную репутацию
    Регистрация
    12.10.2009
    Сообщений
    8,222
    Репутация
    5464
    Чтобы верх брал реальный скилл
    Или везение.

  4. #4
    Аватар для LionelAndres
    Горожанин LionelAndres на пути к лучшему
    Регистрация
    29.06.2013
    Сообщений
    45
    Репутация
    10
    прочитал до середины, проскролил в низ глянул гс автора, все понятно..
    игрокам которые весь сезон проходили астрал на макс сложности, и теперь активно фармящим 29 сектор в голову такое не прийдет, изучать остров каждый раз

  5. #5
    Аватар для Kizilus
    Banned Kizilus на пути к лучшему
    Регистрация
    14.11.2011
    Сообщений
    1,302
    Репутация
    10
    Цитата Сообщение от LionelAndres Посмотреть сообщение
    игрокам которые весь сезон проходили астрал на макс сложности, и теперь активно фармящим 29 сектор в голову такое не прийдет, изучать остров каждый раз
    Это просо разница в характерах. Кто-то в душе "китаец" и ему монотонность самый раз, а кто-то имеет низкий ГС из-за того что астра монотонна до тошноты(правда это не единственная причина).

    Кстати, "весь сезон" - вторая остростоящая проблема АО. Одевание до максимального обвеса должно занимать не более 40% времени сезона(у топов естественно). Остальное время должно быть наполнено контентом который нужно осваивать имея этот самый макс обвес. Но нельзя забывать и про дифференцированность контента по ГС.
    Последний раз редактировалось Kizilus; 14.09.2014 в 19:50.

  6. #6
    Аватар для Deomsqrt
    Империя Исполнительный Комитет Империи Deomsqrt имеет безупречную репутацию Deomsqrt имеет безупречную репутацию Deomsqrt имеет безупречную репутацию Deomsqrt имеет безупречную репутацию Deomsqrt имеет безупречную репутацию Deomsqrt имеет безупречную репутацию Deomsqrt имеет безупречную репутацию Deomsqrt имеет безупречную репутацию Deomsqrt имеет безупречную репутацию Deomsqrt имеет безупречную репутацию Deomsqrt имеет безупречную репутацию
    Регистрация
    30.04.2009
    Адрес
    संस्कृता वाक्
    Сообщений
    3,765
    Репутация
    2424
    Цитата Сообщение от Kizilus Посмотреть сообщение
    Имеюющиеся проблемы
    - Астрал скучен. Не, ну серьезно, 10 +/- 2 острова в сезоне и 4-5 из старых сезонов?
    - Астрал - типа изменичивая субстанция и т.п., но с завидной регулярностью создает нам идентичные до песчинки острова.
    ...
    А как быть с боссами? Если на рандомные острова ставить стандартных боссов с островов старых, то теряется почти весь смысл предложенного. Если же случайно генерировать и внеший вид и способности боссов, то попадание каждый раз на новый остров при отсутствии информации о тактике боёв - вряд ли хорошая идея.

  7. #7
    Аватар для Kizilus
    Banned Kizilus на пути к лучшему
    Регистрация
    14.11.2011
    Сообщений
    1,302
    Репутация
    10
    Цитата Сообщение от Deomsqrt Посмотреть сообщение
    А как быть с боссами? Если на рандомные острова ставить стандартных боссов с островов старых, то теряется почти весь смысл предложенного. Если же случайно генерировать и внеший вид и способности боссов, то попадание каждый раз на новый остров при отсутствии информации о тактике боёв - вряд ли хорошая идея.
    Если знать тактику, то где разнообразие?

  8. #8
    Аватар для Maskerader
    Империя Отец Нации Maskerader имеет безупречную репутацию Maskerader имеет безупречную репутацию Maskerader имеет безупречную репутацию Maskerader имеет безупречную репутацию Maskerader имеет безупречную репутацию Maskerader имеет безупречную репутацию Maskerader имеет безупречную репутацию Maskerader имеет безупречную репутацию Maskerader имеет безупречную репутацию Maskerader имеет безупречную репутацию Maskerader имеет безупречную репутацию
    Регистрация
    12.10.2009
    Сообщений
    8,222
    Репутация
    5464
    Цитата Сообщение от Deomsqrt Посмотреть сообщение
    Если на рандомные острова ставить стандартных боссов с островов старых, то теряется почти весь смысл предложенного.
    А по-моему, нет.

  9. #9
    Аватар для Deomsqrt
    Империя Исполнительный Комитет Империи Deomsqrt имеет безупречную репутацию Deomsqrt имеет безупречную репутацию Deomsqrt имеет безупречную репутацию Deomsqrt имеет безупречную репутацию Deomsqrt имеет безупречную репутацию Deomsqrt имеет безупречную репутацию Deomsqrt имеет безупречную репутацию Deomsqrt имеет безупречную репутацию Deomsqrt имеет безупречную репутацию Deomsqrt имеет безупречную репутацию Deomsqrt имеет безупречную репутацию
    Регистрация
    30.04.2009
    Адрес
    संस्कृता वाक्
    Сообщений
    3,765
    Репутация
    2424
    Цитата Сообщение от Kizilus Посмотреть сообщение
    Если знать тактику, то где разнообразие?
    А какой смысл в подобном разнообразии? На протяжении сезона идёт гонка в одевании, в таких условиях вайпаться на каждом острове - непозволительная роскошь.

  10. #10
    Аватар для Kizilus
    Banned Kizilus на пути к лучшему
    Регистрация
    14.11.2011
    Сообщений
    1,302
    Репутация
    10
    Цитата Сообщение от Deomsqrt Посмотреть сообщение
    А какой смысл в подобном разнообразии? На протяжении сезона идёт гонка в одевании, в таких условиях вайпаться на каждом острове - непозволительная роскошь.
    Я уже писал выше: "Гонка одевание - маразм, и она существует только потому что разрабам лень делать другой контент". Если бы разрабы делали разнообразный дифференцированный по ГС контент, то одевание было бы лишь инструментом получения того контента, который нельзя освоить на низком ГС. Но тупиковая ветвь развития "одевание ради одевания" преследует АО.
    Последний раз редактировалось Kizilus; 17.09.2014 в 19:09.

  11. #11
    Аватар для Maskerader
    Империя Отец Нации Maskerader имеет безупречную репутацию Maskerader имеет безупречную репутацию Maskerader имеет безупречную репутацию Maskerader имеет безупречную репутацию Maskerader имеет безупречную репутацию Maskerader имеет безупречную репутацию Maskerader имеет безупречную репутацию Maskerader имеет безупречную репутацию Maskerader имеет безупречную репутацию Maskerader имеет безупречную репутацию Maskerader имеет безупречную репутацию
    Регистрация
    12.10.2009
    Сообщений
    8,222
    Репутация
    5464
    Цитата Сообщение от Deomsqrt Посмотреть сообщение
    А какой смысл в подобном разнообразии? На протяжении сезона идёт гонка в одевании, в таких условиях вайпаться на каждом острове - непозволительная роскошь.
    Видимо, какой-то смысл есть, раз разрабы ввели рандомные бафы.

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

  12. #12
    Аватар для GDDpakoH
    Новобранец GDDpakoH на пути к лучшему
    Регистрация
    04.12.2009
    Сообщений
    81
    Репутация
    10
    Мне эти острова не нужны вообще, кстати говоря. Рандомные, не рандомные. Никакие не нужны. Мне нужен конечный результат - шмотки с боссов. Потом что как бы разработчики не изворачивались и какие бы кренделя не выделывали, прохождение острова сводиться к нажиманию одних и тех же кнопочек, убийству одних и тех же монстриков и так далее. Даже если островов будет 1000 и все они будут ужас какими разнообразными - что с того? Везде будет одна и та же схема пак-пак-пак-босс. Везде придется травить мобов трупным ядом, кидать вирусы и приказывать Душегубке (о, прекрасны груди её) лечить всех своей темной мошью. Правильно?
    Ах да, еще придется выписывать кренделя вокруг способностей и особенностей монстров. А так же дико злиться, когда особенно плохой баф попался в ротацию счетчика. Я лично все еще никак не могу заставить себя летать в астрал и тратить на это время, потому что в диких землях, как не крути, шмотки добываются гораздо быстрее, плюс в зеленых зонах нет такого понятия, как "плохая пати" (дополненная "в плохом бафе"). А сверх того, нет в Диких Землях еще и долгого путешествия до островов.

    Рандомные острова никак не изменят ситуацию. Потому что корневая ситуация заключается в том, что сам путь корабль/остров/прохождение острова мне, как игроку, который провел в этой игре года четыре, уже весьма и весьма осточертел. Но более всего, разумеется, осточертел ВАШ, дорогие разработчики, Генератор Случайных Чисел, который постоянно, собака, подкидывает яростные шмотки при мастерском облачении. Спасибо! Очень разнообразно! Очень, знаете ли, по "Чувство достижения! Чувство победы", о котором, кажется, упоминал Вельрани. Так?

    А по мне так этот самый рандом можно истолковать, как очередной путь к уменьшению времени прокачки шмоток игроков, нет? Мы же не знаем, какими числами он там, внутри оперирует? Быть может, рандом сам собой изменяет процент выпадывания шмоток, чтобы игроки не одевались слишком быстро? Это бы объяснило, почему я 2 недели собирал себе фиолетовый жезл. Ох, как круто бы объяснило. И вполне бы вписалось в философию разработчиков о том, что мы должны донатить-донатить и донатить. Правильно? Все равно же код игры мне не покажут.

    PS: Ладно-ладно. У меня просто ломка из-за профы. Идея, в-принципе, хорошая. А никаких рандомных заговоров в игре нету.

    PS2: Зэмки секси.

  13. #13
    Аватар для Kizilus
    Banned Kizilus на пути к лучшему
    Регистрация
    14.11.2011
    Сообщений
    1,302
    Репутация
    10
    Вот что 6.0 нам принес:
    5 новых и 11 ремейков. 28 ключей в неделю. 28/16 = 1.75 раз в неделю. Это далеко не разнообразие.

  14. #14
    Аватар для AntoSh
    Лига Объединённая Рать Лиги AntoSh пока не определился
    Регистрация
    08.11.2009
    Адрес
    Новороссия
    Сообщений
    710
    Репутация
    7
    Рандомная генерация была бы интересной в теории. На практике же будет очень трудно тащить пати мешков, которые элементарно не могут увернуться от бафа "турель" или выйти из вихря.

  15. #15
    Аватар для oviflesa
    Вольный Аллодер oviflesa имеет безупречную репутацию oviflesa имеет безупречную репутацию oviflesa имеет безупречную репутацию oviflesa имеет безупречную репутацию oviflesa имеет безупречную репутацию oviflesa имеет безупречную репутацию oviflesa имеет безупречную репутацию oviflesa имеет безупречную репутацию oviflesa имеет безупречную репутацию oviflesa имеет безупречную репутацию oviflesa имеет безупречную репутацию
    Регистрация
    30.12.2010
    Адрес
    Москва
    Сообщений
    5,919
    Репутация
    3758
    Автор зря думает, что рандомные острова будут интереснее) Обычно РГК выдает безликую штамповку, проверено неоднократно.
    https://vk.com/eupraxia - мой блог. Храню подземелья, собираю костюмы, изучаю историю Сарнаута. Личных островов: 148 Рогов изобилия: 1604
    Используйте при регистрации реферальный код: 12414

  16. #16
    Аватар для Narigami
    Империя Деловой Союз Империи Narigami на пути к лучшему
    Регистрация
    18.01.2014
    Адрес
    Москва
    Сообщений
    520
    Репутация
    10
    По мне так лучше добавить больше островов (их правда ОООчень много), зачем убирать каждый сезон 2/3 и вводить новые, не давая возможности новым игрокам их посмотреть? Все что нужно - прикрутить такую функцию, с помощью которой шанс, что вы попадете на остров где вы были недавно резко падает. И все, норм астрал.
    Раскаявшийся форумный нытик.

  17. #17
    Аватар для Kizilus
    Banned Kizilus на пути к лучшему
    Регистрация
    14.11.2011
    Сообщений
    1,302
    Репутация
    10
    Цитата Сообщение от Narigami Посмотреть сообщение
    По мне так лучше добавить больше островов (их правда ОООчень много), зачем убирать каждый сезон 2/3 и вводить новые, не давая возможности новым игрокам их посмотреть? Все что нужно - прикрутить такую функцию, с помощью которой шанс, что вы попадете на остров где вы были недавно резко падает. И все, норм астрал.
    Этот вариант хоть и не дает такого разнообразия, но много лучше, чем 16 островов.

  18. #18
    Аватар для Deomsqrt
    Империя Исполнительный Комитет Империи Deomsqrt имеет безупречную репутацию Deomsqrt имеет безупречную репутацию Deomsqrt имеет безупречную репутацию Deomsqrt имеет безупречную репутацию Deomsqrt имеет безупречную репутацию Deomsqrt имеет безупречную репутацию Deomsqrt имеет безупречную репутацию Deomsqrt имеет безупречную репутацию Deomsqrt имеет безупречную репутацию Deomsqrt имеет безупречную репутацию Deomsqrt имеет безупречную репутацию
    Регистрация
    30.04.2009
    Адрес
    संस्कृता वाक्
    Сообщений
    3,765
    Репутация
    2424
    Цитата Сообщение от Maskerader Посмотреть сообщение
    Видимо, какой-то смысл есть, раз разрабы ввели рандомные бафы.

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

  19. #19
    Аватар для Velranni
    Маг Velranni может кое-чем гордиться Velranni может кое-чем гордиться Velranni может кое-чем гордиться Velranni может кое-чем гордиться Velranni может кое-чем гордиться Velranni может кое-чем гордиться Velranni может кое-чем гордиться Velranni может кое-чем гордиться
    Регистрация
    05.06.2013
    Сообщений
    4,743
    Репутация
    1070
    Что лучше? Острова, сделанные с любовью, там, где каждая мелочь что-то обозначает, где есть запоминающиеся лендмарки, различные референсы, где места схваток с боссами западают в память...
    Или бездушные чудовища, созданные генератором случайных карт
    В плане создания рандомно генерируемых территорий мы по-прежнему придерживаемся озвученной позиции и продолжим использовать острова/зоны, созданные вручную нашими дизайнерами уровней.


    А вот насчет рандомизации мобов мы решили поэкспериментировать, поэтому и появилось Безвременье https://allods.mail.ru/news.php?article=5143
    Senior Community Manager
    Ранее известный как ArcticalFire
    Allods Team в Instagram

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения