Size: a a a

2021 March 27

J

Jabberwock in Doom 2D
проглядел. 12к элементов
источник

J

Jabberwock in Doom 2D
элемент - это тайл, непись, прожектайл, итем, триггер или игрок, верно?
источник

W🦊

Wohlstand 🦊🇷🇺... in Doom 2D
Jabberwock
элемент - это тайл, непись, прожектайл, итем, триггер или игрок, верно?
Любой объект на сцене - кирпич-блок, картинка-декорация (фоновый объект), непись, точки проходов, физические среды
источник

W🦊

Wohlstand 🦊🇷🇺... in Doom 2D
Ну и, сами игровые персонажи
источник

W🦊

Wohlstand 🦊🇷🇺... in Doom 2D
Jabberwock
коллизии ищутся в пределах клетки грида
По правильному надо искать в дереве ближайшие, а потом проверять коллизии между ними, но тут Редиджит сделал подложку, что если вдруг какой-то слой будет двигаться, то он полностью отключает индексный поиск, провоцируя обыск по всему массиву блоков, чтобы проверить эти чёртовы коллизии
источник

W🦊

Wohlstand 🦊🇷🇺... in Doom 2D
Wohlstand 🦊🇷🇺
Вот как игра работает на Апельсинке (32битный ARM-процессор), нормально ещё, но вот на другом уровне - жопа
Там сетка для блоков была только, и она и используется на ЭТОМ образце, в итоге нашлось 146 блоков для проверки коллизий. А вот на ДокторПеппере скан шёл по всем двенадцати тысячам блоков
источник

J

Jabberwock in Doom 2D
кетмар пробовал дерево и грид, мы тестили на слабом пека
источник

J

Jabberwock in Doom 2D
сетка uhbl jrfpfkcz 'aatrnbdytt d hfps
источник

J

Jabberwock in Doom 2D
тьфу.
источник

J

Jabberwock in Doom 2D
грид оказался эффективнее в разы
источник

J

Jabberwock in Doom 2D
тестили на атоме и на огромной карте
источник

W🦊

Wohlstand 🦊🇷🇺... in Doom 2D
Однако, требуется сортировка всего массива, чтобы гарантировать работу
источник

W🦊

Wohlstand 🦊🇷🇺... in Doom 2D
Либо?
источник

W🦊

Wohlstand 🦊🇷🇺... in Doom 2D
(сетка с ячейками-указателями, содержащими списки видимых элементов?)
источник

J

Jabberwock in Doom 2D
прикол в том, что невидимые тоже работают
источник

J

Jabberwock in Doom 2D
я сам не программист и подробности слабо понимаю.
источник

W🦊

Wohlstand 🦊🇷🇺... in Doom 2D
Jabberwock
прикол в том, что невидимые тоже работают
Ага, невидимые должны взаимодействовать на уровне физики
источник

J

Jabberwock in Doom 2D
я понял так, что сетка каким-то образом обновляется динамически. т.е. сначала просто определяются участки, где что-то происходит,  а потом обсчитываются только панели, триггеры и монстры на этих участках
источник

W🦊

Wohlstand 🦊🇷🇺... in Doom 2D
Jabberwock
кетмар пробовал дерево и грид, мы тестили на слабом пека
У меня в качестве слабой пеки - ARM-овая плата :D
источник

J

Jabberwock in Doom 2D
ну она тоже слабая пека )
источник