Сохранен 14
https://2ch.hk/gd/res/781478.html
24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Разрабатываю сейчас движок для своего будущего

 Аноним 19/12/21 Вск 14:47:04 #1 №781478 
image.png
image.png
Разрабатываю сейчас движок для своего будущего шедевра и столкнулся с проблемой. Нужно запилить какой-то триггер который вызывает функцию если игрок при перемещении попал в какую-то маленькую зону. Например подошел к каким-то дверям и на экран вылезла подсказка - нажмите Е чтобы открыть двери. И нажимаешь Е - двери открываются. Так вот, не проверять же позицию игрока в каком-то бесконечном цикле, или просто когда он передвигается? Если таких зон будет сотня на уровне, то это нехуёво понизит ФПС. Еще была мысль разбить весь уровень на маленькие ячейки и в двумерном массиве хранить указатель на функцию для каждой из этих ячеек. А при передвижении игрока вызывать функцию которая находится под соответствующим индексом в этом массиве; а если указатель ни на что не указывает то собственно нихуя не и происходит. Но пять же, это будет неплохо занимать память, в зависимости от размера ячеек и карты это может занимать до нескольких мегабайт. Вот собственно и вопрос - а как реализовать это без костылей и чтоб было оптимизировано на уровне? Или может господа двачеры знают примеры как умные дяди реализовывали это в других играх. Потому что я сам уже долго ебусь и ничего толкового придумать не могу.
Аноним 19/12/21 Вск 14:48:01 #2 №781479 
image.png
бамп
Аноним 19/12/21 Вск 14:48:34 #3 №781480 
image.png
бамп
Аноним 19/12/21 Вск 14:49:14 #4 №781481 
image.png
Аноним 19/12/21 Вск 14:50:21 #5 №781482 
image.png
бамп
Аноним 19/12/21 Вск 14:51:39 #6 №781483 
image.png
Аноним 19/12/21 Вск 14:52:36 #7 №781484 
image.png
Аноним 19/12/21 Вск 14:54:09 #8 №781485 
Бамп
Аноним 19/12/21 Вск 14:54:36 #9 №781486 
Бамп
Аноним 19/12/21 Вск 14:54:59 #10 №781487 
Бамп последний
Аноним 19/12/21 Вск 15:10:22 #11 №781490 
Хуй
Аноним 19/12/21 Вск 17:18:10 #12 №781495 
>>781478 (OP)
>Разрабатываю сейчас движок для
ИНСТАЛЛ ГОДОТ и прекрати маяться дурью.
Получишь примерно то же самое, что делаешь сам, только из будущего.
По желанию можешь присоединиться к разработке, ведь опенсорс.
Аноним 19/12/21 Вск 17:41:58 #13 №781498 
>>781478 (OP)
В чём проблема? Делаешь коллбек обработки объекта. В цикле проверяются все объекты и если есть коллбек обработки, то вызываешь его. Проверяет расстояние от игрока до предмета и если есть, то показывает гуишку твою, меняет состояние.
Хочешь меньше обработки, так обрабатывай далёкие объекты 5 раз в секунду, а не 60.
sage[mailto:sage] Аноним 29/12/21 Срд 06:06:08 #14 №782538 
>>781478 (OP)
AABB intersection
/thread
comments powered by Disqus

Отзывы и предложения