Войти
ПрограммированиеФорумОбщее

Применение иерархии объектов в играх. (Комментарии к статье)

Страницы: 1 2 3 Следующая »
#0

Комментарий к Статье Применение иерархии объектов в играх.

23 ноя. 2005


#1

а если у меня не машинка с калесиками а предположим массив 100х100 и там есть и камни каторые валяться и обьекты агресивные каторые рыскают по доступному
пространству ... ну и соотвтественно наш перс .. как в таком случае мне производить цикл и проверку на столкновение ... :( а простой 2 мерный масив не выход ... но не хочеться ..
есть ли выход ??

23 ноя. 2005

#2

Тема интересная, но раскрыта не полно. дано по сути лишь описание паттерна Composite. Этого конечно же недостаточно. Как передавать сообщения по иерархии классов(не объектов)? нужно ли хранить в одном дереве и логическую и физическую и другие струкутуры? если их разделять, то как синхронизировать? почему именно дерево, а не другой вид графов? ну и т.д. и т.п.

23 ноя. 2005

Прошло более 2 лет
#3

Вообще тема scene - graph-ов в интернете освещена мало ( с точки зрения реализации) , следует лишь обратить внимание на то, что нам нужно чтобы быстрее всего выполнялся проход по дереву, поиск эл-та нам особенно не важен, а вот обновление узла и его потомков - это чтоб работало быстро.
Надо бы почитать про реализации АТД типа Дерево :)
ИМХО все упирается в организацию именно этой структуры. Думаю, что неплохим вариантом было бы ограничить число сыновей у одного узла, при этом можно (если число обьектов в игре известно или меняется незначительно) воспользоваться так называемым развернутым представлением дерева. Это означает что память под узлы выделяется сразу на все, независимо от того есть узел или нет.

29 окт. 2008

#4

Тема не раскрыта, то что тут есть следует назвать "реализация одного конректного дерева, для одной конкретной игры".
Кроме того автор почему-то отждествляет понятия "иерархия" и "наследование", что в общем случае неверно.

16 янв. 2009

Прошло более 9 месяцев
#5

Как получить указатель на объект дерева, (ищу перебором по ID, указанному при инициализации)? При обходе листа дочерних объектов возвращается указатель на базовый класс, а нужен его потомок со своими специфическими свойствами...

23 окт. 2009

#6

используй  dynamic_cast<>()...

23 окт. 2009

Прошло более 6 лет
#7

Рендеринг и апдейт объекта не должен реализовываться самим объектом. Этим должен заниматься кто нибудь другой. И вообще иерархия объектов эта тема обширная и она не существует отдельно от определённой архитектуры движка. Я сам искал по этой теме инфу, и не мог найти. Поэтому пришлось самому догонять

27 мая 2016

#8

Тема подсистем не раскрыта.

28 мая 2016

#9

ЛОПАТА

28 мая 2016

#10

Не лучший выбор. Куча виртуальных функций и много ООП. Прощай кэш.
Стоит блог движка bitsquid почитать.

28 мая 2016

#11

Я как раз с такого начинал делать свой движок.

HplusDiese
> Стоит блог движка bitsquid почитать.
И ещё molecular-matters.

28 мая 2016

#12
-Eugene-
> ЛОПАТА
Комментарии к статье - я бы не называл лопатой.

28 мая 2016

#13
MrShoor
Странно ожидать современных решений от статьи, написанной в доисторические времена.

28 мая 2016

#14

-Eugene-
> Странно ожидать современных решений от статьи, написанной в доисторические
> времена.
Но в доисторические времена как раз и следовало избегать виртуальных вызовов. Это сейчас в L2 можно пол-программы уместить (вторая половина обрабатывает случай, когда на клавиатуру садится кошка, а на Марсе - шторм); а тогда на них можно было действительно что-то потерять.
bretbas
> апдейт объекта не должен реализовываться самим объектом
А вот это, кстати, наркомания. Код обновления должен находиться рядом с тем, что он обновляет.

28 мая 2016

Страницы: 1 2 3 Следующая »
ПрограммированиеФорумОбщее