Масштаб игровой карты | Genshin Impact
Пожалуй, не для кого не секрет, что игровая карта в Genshin Impact масштабирована. И сразу объясню, что понимается под масштабированием: игровая карта уменьшена относительно Лорной (то есть игровой Тейват меньше, скажем так, реалистичного Тейвата, я его называю Лорным). И если в игре ГГ бежит от Монштадта до Ли Юэ какие-нибудь 3 км, то по сюжету он(-а) проходит, скажем километров 50. И в принципе понятно почему карта так уменьшена: никто бы не хотел просто бежать несколько часов от одного города к другому. А что уж говорить про исследование мира на 100%
И сразу в начале скажу, что все расчеты и измерения - просто интересное применение математики. И, возможно, кому-то будет интересен результат расчетов, как небольшой фактик об игровом мире. Естественно авторами игры не задумывалось, какой будет масштаб у карт (игровой и лорной)
Для самых нетерпеливых или тех, кто не хочет погружаться в математику, результаты всех расчетов в конце поста
И так, с чего начнем? С положений конечно же:
1. Мир масштабирован неоднородно
2. Масштабируется карта в разных местах по разному
Что это значит?
1. На неоднородность намекает в первую очередь то, что на карте очень много антропогенных (созданных человеком) строений на квадратный метр. Действительно, немалую часть карты занимают различные деревни, города или заброшенные постройки. Природные объекты уменьшены сильнее, чем антропогенные.
2. Разные объекты масштабируются разными способами: какие-то просто уменьшаются в n раз (например, различные плоскогорья, равнины и пики), а какие-то уменьшаются путем превращения нескольких объектов в один (например, из горного массива мы получаем просто одну гору). Причина этого станет понятна, если обратить внимание на разного рода возвышенности (горы): при умножении их размеров в, допустим, 15 раз они окажутся слишком высокими (а Драконий хребет окажется вообще непригодным для нахождения на его вершине, где ГГ вообще-то не просто прогуливался(-алась), а еще и со всякими монстрами бился(-лась) (если считать его высоту в игре в 1 км, цифры определены очень приближенно, на глаз))
Что нам это дает? Ну второе положение - просто интересное дополнение к посту, а вот первое говорит о том, что вычислять масштаб природных и рукотворных объектов нужно отдельно друг от друга
Что ж, а теперь нужно найти какие-то зацепки
Можно попытаться посчитать масштаб исходя из реальных аналогов стан в игре (Германия, Китай, Япония), но тут возникает две серьезные проблемы: в разные времена размеры стран сильно менялись, за какое из них зацепиться мы не знаем (все таки средневековье - достаточно продолжительный период истории), а также слишком маленькие различия между странами в игре (Япония вообще нифига не такая же по площади как Китай или Германия, хотя в игре Инадзума несильно меньше остальных стран). Также не получится посчитать масштаб городов, например, через соотношение реального населения Берлина к населению Мондштадта, так как посчитать последнее будет сложно, не зная сколько человек может поместиться в одном доме (увы, такой инфы я не нашел)
Значит нужны какие-то другие локации, через которые можно уже что-то посчитать. И такие локации к счастью есть - подземелья (данжи). Но и тут все довольно плачевно, ибо из них не виден сам Тейват, а также на игровой карте нет ничего, что мы видим в данжах. Что же это получается, посчитать не получится? А вот и нет. Есть один данж, который поможет с зацепками - подземелье с Двалином (тут будет пониматься и локация с еженедельным боссом, и битва с Ужасом бури в воздухе, по идее это тоже считается за данж). Причем поможет он с масштабом и природных объектов и антропогенных.
Начнем с масштаба природных объектов. Для этого нам понадобится битва с Двалином в воздухе, а, соответственно и новый аккаунт. А еще несколько вагонов терпения. Запускаем битву и после этого начинаем искать все крупные объекты, которые мы можем увидеть на игровой карте. Разглядеть где там какие границы у Мондштадта (имеется ввиду города) я не смог, ибо его в принципе плохо видно, зато нашел пару других мест и точек
Естественно картинка очень мыльная и тусклая, поэтому найти еще что-то у меня не получилось. Единственное, что еще я нашел, это горный массив, расположенный в стороне Драконьего хребта, но увидеть какие-то более менее четки границы у него у меня не вышло. Ну и еще можно было обратить внимание на большое озеро (2 картинка), но оно уж сильно непохоже на озеро возле винокурни, поэтому обойдемся без него (ибо мне же еще нужно на игровой карте найти аналогичные точки). И кстати, цифры и точки рядом с ними обозначают точки замера, но о них позже
Итак, можно приступать к расчетам. И для начала найдем, на какой высоте находится Итэр. Для этого обратим внимание на облака, не на эти мыльные и прозрачные, что под нами, а на те, что находятся довольно далеко от нас. Судя по их виду это средние и мощные кучевые облака. Из интернета можно узнать, на каких высотах они расположены и какие имеют размеры, а потому через них мы можем посчитать и высоту полета ГГ
Начнем с углового размера облаков и углового расстояния от условного горизонта до основания облака
Красная линия - это горизонт, черный отрезок - угловое расстояние от горизонта до основания облака, а серый отрезок - угловой размер облака (выбран как наиболее усредненный для средних кучевых облаков на картинке)
В этом нам поможет линейка и немного геометрии
Построим прямоугольный треугольник ABC, в котором AB - половина размера монитора (не длины или ширины, так как линейка и изображение находятся под углом), AC - половина длины монитора (если непонятно, почему так, то справа снизу поясняющая картинка, где бОльшая гипотенуза - длина монитора), а также проведем отрезки CD и CE. В данном случае точки D и E - точки, между которыми мы считаем угловое расстояние
Затем линейкой измеряем все значения, что изображены на чертеже (l1, l2, lм). И после этого довольно простыми действиями вычисляем значение угла DCE
Теперь построим три треугольника: прямоугольные ABC и CBF (F на картинке не указана) и равнобедренный CDE. В данном случае: B - положение Итэра, F- точка, под которой находится облако, AD - само облако, DE - облако, каким его видит игрок (и Итэр). Пояснять чему равны обозначенные буквами углы, я думаю, не нужно, это и так понятно
В данной фигуре нам известны обозначенные буквами углы, а также длины h и hо. Найти нужно hи. Для этого мы сперва рассмотри треугольник BDE
Здесь довольно легко можно определить значение l через теорему синусов. Составляем формулу, упрощаем и переходим к треугольнику BDC
Так как нам уже известна l, то также легко мы можем найти значение CD, умножив гипотенузу на синус угла CBD
И теперь вернемся к нашему большому треугольнику. Можно заметить, что искомая величина не что иное, как разность h и CD. Поэтому мы можем вывести формулу этой самой hи. Почему формулу, а не число? Так будет проще, ибо мы не знаем точные значение h и hо, а знаем лишь на каких промежутках они лежат. Поэтому искомую величину проще выразить как функцию от двух переменных
Для дальнейших расчетов я решил взять 4 значения высоты: при усредненных значениях переменных, при максимальных, а также экстремумы (минимум и максимум) функции на заданном отрезке. Но получилось 3 значения, так как на глубине 450 м дракон летать не смог бы) Да и Итэр, он же все свои силы порастерял 500 лет назад на стартовом меню)
Теперь перейдем к расчету расстояния от ГГ до точек замера. Делать мы это будем довольно простым способом: высоту, которую мы нашли только что мы будем делить на тангенс углового расстояния от горизонта до точки замера. Чтоб было понятнее построим треугольник, где точки при острых углах - положения точки замера и Итэра
Остается дело за малым: посчитать углы ф для каждой точки замера. Делать мы это будем по такому же принципу, как и в случае с облаками. И вот что у меня получилось:
Теперь считаем расстояния до точек замера (стоит заметить, что под расстоянием понимается катет длиной hи/tgф (см. треугольник выше), а не гипотенуза, так как затем нам нужно будет их сравнивать с расстояниями до этих объектов внутри игры, а последние мы не можем посчитать с учетом высоты полета ГГ (да и незачем, ибо это либо усложнит расчеты, либо сделает их некорректными)). Считаем для всех вариантов высоты, а затем записываем в табличку (так удобнее)
Затем нужно вычислить расстояния до точек замера в игре. Для этого опять понадобится линейка: замеряем расстояние от примерного положения Итэра над землей до всех объектов (важно чтоб масштаб карты не менялся, ну речь про приближение/отдаление). А теперь... Надо найти от чего перевести эти сантиметры с монитора в метры в Тейвате. Заданий, в которых показывается расстояние до них у меня нет, зато осталась метка с прошлогоднего поста, ну и расстояние до нее. Измеряем линейкой сколько сантиметров от метки до положения ГГ из того поста и затем находим искомые значения
Точками и кругом обозначены точки замера, бордовой точкой в центре Монда - примерное положение Итэра в битве с Двалином, бордово-черной точкой (возле собора) - положение персонажа из прошлого поста, серый отрезок соединяет метку и положение персонажа из прошлого поста
Ну и теперь можем уже составить полноценную табличку со всеми данными:
Делим расстояния в столбцах (1), (2) и (3) на расстояния в игре и получаем уже таблицу масштабов:
Жёлтым выделены наибольшие значения масштаба для каждого случая, синим - наименьшие, зеленым - средние значения для каждого из случаев
Можно заметить, что полученные значения максимальные и минимальные значения различаются примерно в 1,3 раза. Почему так? Да потому что то изображение (скайбокс), которое мы видим в битве с Ужасом бури не перерисовывалось с доскональным соблюдением всех пропорций (из-за чего кстати некоторые объекты в игре и на скайбоксе отличаются внешне)
Каким данным верить? Тут уже выбор за вами, лично я придерживаюсь значения в ~27, что примерно равно значению масштаба в 3 случае (когда высота полета ГГ соответствует максимуму функции высоты на заданных отрезках). Почему так? Да во-первых, такое значение масштаба мне кажется более-менее правдоподобным; а во вторых при таком значении масштаба Итэр сражается с Двалином на максимально возможной высоте, думаю авторами игры задумано, что бой должен происходить довольно высоко
Ну а теперь перейдем к расчету масштаба рукотворных объектов. В этом нам опять поможет Двалин, а точнее его данж, который еженедельный. Честно говоря, я без понятия, что это за башня, на которой мы с ним сражаемся (да и игра сама нам этого не говорит), поэтому предположу, что действо происходит возле его логова (башня похожа на кольца (или что это, хз как еще назвать), по которым мы ходим возле входа в данжа). Ну и также предположу, что башня и кольца имеют одинаковый диаметр (например, потому что все подобные кольца и для центральной башни, и для остальных производились по одной схеме, чтобы сэкономить деньги). Ну а наличие пробелов между платформами - экономия цемента/камня, короче говоря так задумано (все же производство колец и с пробелами и без не слишком дорого, просто при заливке первых нужно устанавливать бортики внутри, чтоб цемент не вытек в эти пробелы, а если они их из камней собирали то тогда еще проще все, просто не выкладывать камень в пробелы).
Короче говоря, у нас есть один и тот же (по габаритам) объект и масштабированный и немасштабированный. Значение масштаба (простите за тавтологию) можно вычислить как соотношение длин этих колец (радиус зависит линейно от масштаба, а длина окружности зависит линейно от радиуса, проще говоря: M~R; L~R => L~M). Измерить длину будет сложновато, зато можно посчитать за какое время персонаж пробежит оба кольца, и так как скорость бега и в данже и вне одинакова, то соотношение времени будет равно масштабу
Кольцо в данже у меня персонаж пробежал за 1:41,27 или за 101,27 с, а в центральной башне за 19,31 с. Итого получаем: M = 101,27 / 19,31 ≈ 5,244
Подведем итог. Для городов, деревень, а также любых других достаточно крупных объектов, созданных людьми масштаб составляет ~5,2-5,3. Для всего Тейвата в целом масштаб находится в пределах от ~8,5 до ~31,5 (связано это с достаточно широким диапазоном входных данных), при этом лично мне его значение видится равным ~27
Также попрошу вас написать в комментарии, какие еще зацепки, через которые можно выйти на масштаб карты, вы знаете? Ими можно было бы дополнить информацию из поста
А каким вам видится масштаба карты?