Вопрос

Я хотел бы написать стратегическую игру, в которой карта будет 3D-плиткой. Я прочитал несколько статей о gamedev, но большинство из них пытаются реализовать 3D в 2D пространстве. Интересно, как в наше время это реализовано с использованием 3D-карт? Интересно, будет ли использование Irrlich излишним (у него есть хороший узел сцены карты высот).

Заранее спасибо, ternyk

Это было полезно?

Решение

3D-карта имеет мало общего с представлением о мире. Наблюдение «3D в 2D пространстве» является правильным, потому что именно этим и занимается большинство этих игр. Фрагменты все еще могут храниться таким же образом, как они всегда делали (то есть некоторый вид двумерного массива, возможно, подразделяемого на более управляемые фрагменты), и все, что нужно изменить, - это графическое представление каждой плитки. Вместо растрового изображения они могут ссылаться на трехмерную модель или один или несколько материалов в случае рельефа. Рендеринг во многом такой же, как и раньше - для каждой плитки на экране нарисуйте представление этой плитки (какой бы она ни была) в данной позиции. 3D-рендеринг визуализирует плитки в 3-х измерениях, а не в 2-х, и требует полного преобразования из пространства модели в мировое пространство и в пространство камеры, но это касается всех игр, плиточных или нет.

Irrlicht определенно не излишен для такой игры, особенно если вы хотите иметь возможность рендерить 3D-модели поверх ваших плиток. Написание собственного простого трехмерного движка не очень сложно, но это много усилий для получения небольшой выгоды или вообще никакой выгоды по сравнению со свободно доступными. Трудно сказать, точно ли он соответствует вашим требованиям, поскольку вы не вдавались в подробности, но, вообще говоря, бесплатные библиотеки, такие как Irrlicht и OGRE, являются хорошим выбором для создания игр, если вы настроены на использование C ++.

Другие советы

На большинство уже ответил Килотан, и я согласен.

Добавление к нему:

Использование такого движка, как Irrlicht, не является чрезмерным, оно фактически облегчит вашу работу, поскольку освобождает вас от скучных и подверженных ошибкам стандартных задач, связанных с использованием Direct3D / OpenGL.

Как правило, важно различать представление игрового мира и его визуализацию. Тот факт, что в игре используются 3d-модели и 3d-рельеф, не означает, что для внутреннего представления игрового мира используются те же данные. Чаще всего упрощенная модель лежит ниже. Kylotan выстроился в одну сторону, но у вас также может быть ландшафт на основе карты высот с более простой моделью внизу. Двухмерный массив, каждый элемент которого представляет плитку вашей сцены со своими специфическими для игры свойствами (матрица того, какой тип юнита может войти в эту плитку, затраты на движение, можно строить здания и т. Д.). Визуальная местность может быть полностью отделена от этих данных.

Что касается функции ландшафта, OGRE обеспечивает гораздо лучшую реализацию ландшафта, чем Irrlicht, с точки зрения гибкости, производительности и визуального качества. Является ли это актуальным для вашей игры, я не знаю. См. http://www.ogre3d.org/forums/viewtopic.php ? F = 11 & амп; т = 50674

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top