Система геометрии населения: начало [закрыто]

10

Я хочу разработать игру наподобие Populous: The Beginning с моим другом. Но мы не могли выяснить, какой тип геометрии они использовали для мира.

Мы знаем, что - все плитки имеют одинаковый размер - все плитки являются квадратами

Итак ... Это не может быть икосаэдр, потому что есть треугольники, и не может быть стандартной геометрией сферы, потому что не все плитки имеют одинаковый размер.

Кто-нибудь может мне помочь?

FlashFan
источник
1
Поскольку ребята из Uber сейчас создают игру моей мечты под названием «Планетарное уничтожение», они также поделились своими мыслями и методами решения проблем. Этот блог Mavor действительно гениален: mavorsrants.com/2013/02/planetary-annihilation-engine.html
FlashFan
Это не прямой ответ на ваш вопрос, но вы можете найти здесь полезную информацию: gamedev.stackexchange.com/questions/56231/…
DaleyPaley
Я голосую, чтобы закрыть этот вопрос как не по теме, потому что речь идет о том, как конкретная игра выполнила определенную задачу.

Ответы:

6

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

Я предлагаю вам сделать это: поиск в Google (изображения) для "сферы тесселяции". Вы получите представление о многих, многих способах сделать это. Ваша игра не нуждается в тесселяции точно так же, как Populous: The Beginning (что, кстати, отличная игра, которую я люблю). Это означает, что вам даже не нужно использовать квадратные плитки, если вы не хотите; Вы можете использовать любые шестиугольники, треугольники, пятиугольники, произвольные четырехугольники, такие как воздушные змеи, или даже тесселяцию вороной (неправильные, неповторяющиеся многоугольники).

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

РЕДАКТИРОВАТЬ: Вероятно, то, что они сделали, что-то вроде рукопашного боя StarControl - у них на самом деле есть оберточная 2D сетка (по модулю x и y) Затем, когда вы смотрите на сферу, вы можете видеть только одно полушарие за один раз, что позволяет отображать плитки без особых заметных искажений. И при более близком увеличении все будет выглядеть идеально.

инженер
источник
Проблема с неквадратными плитками - текстурирование. Действительно трудно создать текстурное изображение, а затем рассчитать его ультрафиолетовое излучение, чтобы отобразить его в мире. Если бы у меня были квадраты, это было бы максимально просто. Я знаю, что использование A * позволяет легко находить пути для любого вида плиток.
FlashFan
Проблема с двумерным перспективным проектом сферы (как используется на картах мира Земли) состоит в том, что в то время как вы получаете квадратные плитки, вы также получаете искривление: все более маленькие плитки к полюсам. Что для вас важнее: легко справиться с трудностями УФ-картографирования или обеспечить правильное распределение ваших плиток в игровых логических целях? Если вы узнаете, что использует P: TB, мне было бы интересно узнать.
инженер
Я думаю, что оба способа не возможны для меня ... Есть редактор карт для P: TB, где вы можете включить сетку. Определенно используются квадраты в качестве плиток. Но странная вещь на P: TB в том, что вы можете либо увидеть всю планету, либо увидеть ее часть. Там нет ничего между. Я думаю, что они могли бы подделать это, так что в конечном итоге это выглядит как Сфера. Но я не уверен ...
FlashFan
Я просто думал об этом. Вероятно, то, что они сделали, чем-то напоминает рукопашную схватку StarControl - у них на самом деле есть двумерная сетка (по модулю x и y). Затем, когда вы смотрите на сферу, вы можете видеть только одно полушарие за один раз, что позволяет отображать плитки без особых заметных искажений. И при более близком увеличении все будет выглядеть идеально.
инженер
^^ хорошо, тогда я думаю, что это действительно подделка. Тот факт, что планета полностью круглая (без холмов) при наблюдении за полной планетой, указывает на то, что для нее используется нормальная геометрия сферы. Мы можем видеть это здесь: s.uvlist.net/l/y2008/09/53528.jpg
FlashFan
14

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

Например:

введите описание изображения здесь

Игра ведется с трехмерной перспективы от третьего лица с камерой с переменной высотой, способной вращаться на 360 °, что позволяет игроку быстро перемещаться по поверхности планеты, которая на самом деле является реальной проекционной плоскостью, а не обычной сферой ; на картах, где нет тумана войны, игроки могут видеть, что делают противники в любое время. Расширенная поддержка 3D-ускорения позволяет игроку просматривать игру в 16-битном или 32-битном цвете. [10] Пейзаж и в реальном времени структура здания и движения последователей также показаны.

Также обратите внимание:

введите описание изображения здесь

Если обзор состоит из половины планеты, как миникарты, почему миникарта показывает гораздо больше воды? И почему текстура воды не отражает истинные пропорции сферы, показывая почти боковой вид по краям?

Также, как отмечено в комментариях к другому вопросу, обратите внимание, что на этом скриншоте планета совершенно круглая:

введите описание изображения здесь

Если бы это была настоящая сфера, мы бы увидели холмы и объекты, торчащие с края планеты. Например, вот Планетарная Аннигиляция, видишь деревья и скалы, выступающие за горизонт:

введите описание изображения здесь

Вместо этого для современной игры я бы посоветовал тесселяцию икосаэдра. На SO вы найдете много вопросов о том, как это сделать, на выбранном вами языке программирования.

Том Дж Новелл
источник