PMG http://forum.pmg.org.ru/ |
|
Формат хранения данных об объектах в игровом проекте http://forum.pmg.org.ru/viewtopic.php?f=4&t=7931 |
Страница 1 из 1 |
Автор: | _Dok_ [ 15 мар 2010 14:47 ] |
Заголовок сообщения: | Формат хранения данных об объектах в игровом проекте |
Хочу посоветоваться: какой вариант хранения данных об объектах игры наиболее эффективен? Варианты хранения: - массив; - связанный список; - bsp-дерево; - ….. Это малый список того, что можно использовать. По моему мнению массив использовать не совсем удобно, так как при инициализации сразу придётся выделять память например под 100 объектов, а может получиться что понадобится лишь 45 например объектов – не экономно. Использование связанных списков решает выше упомянутую проблему в статье с gamedev.ru “Объекты в играх: организация игрового цикла” (http://www.gamedev.ru/code/articles/?id=4232) рассказывается, как создаём список всех объектов и проходим по ним, опять же любое лишнее прохождение по списку приводит к выполнению «большого перебора». Bsp-дерево используется для рендеринга и коллизий, в принципе можно и для хранения объектов использовать или вариант сделать иерархию в связанном списке. Какие ещё есть предложения для хранения, получения быстрого доступа, использования объектов в игровом проекте? |
Автор: | MagicWolf [ 15 мар 2010 16:28 ] |
Заголовок сообщения: | Re: Формат хранения данных об объектах в игровом проекте |
Каждый вид данных лучше хранить в своем виде. А так для обобщения что ли, можно использовать динамическое дерево, где в листах уже конкретные ссылки, на конкретные данные. |
Автор: | _Dok_ [ 15 мар 2010 16:34 ] |
Заголовок сообщения: | Re: Формат хранения данных об объектах в игровом проекте |
В принципе я предполагаю делать так: Создаём класс объект, заполняем необходимой информацией(позиция, описание необходимое, сетка и т.д.). Создаём связной список ссылок на объекты в виде дерева(при этом можно разделить на под категории объекты, кому удобнее и просто линейный). И используем как необходимо.... |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |