Был еще один вопрос о том, что такое ориентированный на данные дизайн, и там статью, на которую часто ссылаются (и я читал ее как 5 или 6 раз). Я понимаю общую концепцию этого, особенно когда речь идет, например, о 3D-моделях, где вы хотите сохранить все вершины вместе, а не загрязнять ваши лица нормалями и т.д.
Однако мне трудно представить, как ориентированный на данные дизайн может работать ни на что, кроме самых тривиальных случаев (3d-модели, частицы, BSP-деревья и т.д.). Есть ли хорошие примеры, которые действительно охватывают ориентированный на данные дизайн и показывают, как это может работать на практике? Я могу пахать через большие кодовые базы, если это необходимо.
То, что меня особенно интересует, - это мантра, "там, где ее много", и я не могу, по-видимому, связаться с остальными здесь. Да, всегда есть не один враг, но вам все равно нужно обновлять каждого врага индивидуально, потому что они не двигаются одинаково, не так ли? То же самое касается примера "шаров" в принятом ответе на вопрос выше (я действительно спросил об этом в комментарии к этому ответу, но еще не получил ответа). Просто ли для рендеринга нужны только позиции, а не скорости, тогда как для имитации игры нужны оба, но не материалы? Или я чего-то не хватает? Возможно, я уже понял это, и это гораздо более понятная концепция, чем я думал.
Любые указатели будут очень благодарны!