Я хочу разработать игру наподобие Populous: The Beginning с моим другом. Но мы не могли выяснить, какой тип геометрии они использовали для мира.
Мы знаем, что - все плитки имеют одинаковый размер - все плитки являются квадратами
Итак ... Это не может быть икосаэдр, потому что есть треугольники, и не может быть стандартной геометрией сферы, потому что не все плитки имеют одинаковый размер.
Кто-нибудь может мне помочь?
Ответы:
Треугольники, которые вы видите, скорее всего, являются продуктом системы рендеринга - в конце концов, все должно быть разбито на треугольники для рендеринга.
Я предлагаю вам сделать это: поиск в Google (изображения) для "сферы тесселяции". Вы получите представление о многих, многих способах сделать это. Ваша игра не нуждается в тесселяции точно так же, как Populous: The Beginning (что, кстати, отличная игра, которую я люблю). Это означает, что вам даже не нужно использовать квадратные плитки, если вы не хотите; Вы можете использовать любые шестиугольники, треугольники, пятиугольники, произвольные четырехугольники, такие как воздушные змеи, или даже тесселяцию вороной (неправильные, неповторяющиеся многоугольники).
В любой тесселяции, используемой для игровой логики, важно связность , то есть тот факт, что ваша «сетка» образует (несколько) связанный граф для целей движения.
РЕДАКТИРОВАТЬ: Вероятно, то, что они сделали, что-то вроде рукопашного боя StarControl - у них на самом деле есть оберточная 2D сетка (по модулю x и y) Затем, когда вы смотрите на сферу, вы можете видеть только одно полушарие за один раз, что позволяет отображать плитки без особых заметных искажений. И при более близком увеличении все будет выглядеть идеально.
источник
Проблема здесь в том, что многолюдные карты не являются сферами вообще. Они - Реальная Проективная плоскость , больше похожая на плоский тор, управляемый на экране, чтобы выглядеть как сфера, чем реальная сфера.
Например:
Также обратите внимание:
Если обзор состоит из половины планеты, как миникарты, почему миникарта показывает гораздо больше воды? И почему текстура воды не отражает истинные пропорции сферы, показывая почти боковой вид по краям?
Также, как отмечено в комментариях к другому вопросу, обратите внимание, что на этом скриншоте планета совершенно круглая:
Если бы это была настоящая сфера, мы бы увидели холмы и объекты, торчащие с края планеты. Например, вот Планетарная Аннигиляция, видишь деревья и скалы, выступающие за горизонт:
Вместо этого для современной игры я бы посоветовал тесселяцию икосаэдра. На SO вы найдете много вопросов о том, как это сделать, на выбранном вами языке программирования.
источник