Как начать с 3D-игры на основе плитки - PullRequest
1 голос
/ 23 июня 2009

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

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

Ответы [ 2 ]

2 голосов
/ 24 июня 2009

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

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

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

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

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

1 голос
/ 23 июня 2009

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

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

...