Size: a a a

2021 February 04

ДК

Даниил Кондратьев... in GameDev for Web
Вся идея в том, чтобы разобраться как эти формулы работают, как работает канвас и прилегающее к нему)
источник

ДЗ

Даниил Зеликов... in GameDev for Web
Даниил Кондратьев
У меня еще проблема остаётся в том, что я не знаю, как правильно проверять не коллайдятся ли ближайшие объекты с моим персонажем, по-моему проверять всё объекты на экране каждый кадр не самая лучшая идея...
ну.. грубо говоря бежать придется один фиг по всем. Хотя смотря какая логика отсечения...
Вопрос в другом - всех ли будешь обрабатывать.
Есть разные подходы отсечения вычисляемых объектов. У меня не самая производительная, но для моих нужд хватает. У меня карта разделена на квадраты, которые разделены на квадраты). Каждый объект знает какие квадраты он занимает. Я бегу по всем объектам и смотрю есть ли у него нужные квадраты, если есть, то тогда я запускаю тяжелую логику коллизий.
источник

ДЗ

Даниил Зеликов... in GameDev for Web
Ну то есть тебе надо придумать (или вычитать) логику некоего отсечения, чтобы была меньше нагрузка на обход. А потом уже и сами вычисления
источник

ДК

Даниил Кондратьев... in GameDev for Web
Ага, значит всё в принципе правильно, понял)
источник

ДК

Даниил Кондратьев... in GameDev for Web
Даниил Зеликов
ну.. грубо говоря бежать придется один фиг по всем. Хотя смотря какая логика отсечения...
Вопрос в другом - всех ли будешь обрабатывать.
Есть разные подходы отсечения вычисляемых объектов. У меня не самая производительная, но для моих нужд хватает. У меня карта разделена на квадраты, которые разделены на квадраты). Каждый объект знает какие квадраты он занимает. Я бегу по всем объектам и смотрю есть ли у него нужные квадраты, если есть, то тогда я запускаю тяжелую логику коллизий.
То-же самое я думаю, карта - массив строк, который разбирается на объекты карты с фиксированными положениями в зависимости от положения в массиве)
источник

ДЗ

Даниил Зеликов... in GameDev for Web
У меня также карта генерится)
источник

ДЗ

Даниил Зеликов... in GameDev for Web
каждый символ в строке потом маленький кусочек карты. У каждого кусочка есть свой индекс складывающийся из индекса массива и индекса символа. Эти индексы знают объекты на которых находятся.
источник

ДК

Даниил Кондратьев... in GameDev for Web
Ага, а каким образом вычисляется то, в каком квадрате сейчас игрок?
источник

ДЗ

Даниил Зеликов... in GameDev for Web
только сравнением его координат с координатами плоскости. Ну или что-то подобное, смотря какая логика будет у вас. Но без элементарных сравнений с игровым пространством объект не будет знать где он
источник

ДК

Даниил Кондратьев... in GameDev for Web
Даниил Зеликов
только сравнением его координат с координатами плоскости. Ну или что-то подобное, смотря какая логика будет у вас. Но без элементарных сравнений с игровым пространством объект не будет знать где он
Происходит сравнение и из всех подбирается квадрат с подходящими координатами?
источник

ДЗ

Даниил Зеликов... in GameDev for Web
грубо говоря у меня каждый объект имеет иметод move. Если метод срабатывает, я после этого сравниваю предыдущие и новые его координаты. Если они изменились, то он заново смотрит где он.  Потом свои координаты конвертирует в квадраты и запоминает новые квадраты, которые он занимает, чтобы потом можно было их срванивать с другими. И так очень много и часто раз)) благо язык GO оч быстрый) если максимально упредить тяжелые вычисления более легкими - то проблем не будет
источник

ДК

Даниил Кондратьев... in GameDev for Web
Понятно, благодарю за разъяснения :)
источник

ДЗ

Даниил Зеликов... in GameDev for Web
На сколько могу) и я уточню, что я не профи) мои суждения и опыт могут быть далеко не везде верные) так что на 100% не полагайтесь на мои советы
источник

D

Dmitriy in GameDev for Web
Чтобы гуглить проще, это обычно зовется broad-phase
Про "простое" сечение пространства на квадраты - Quadtree, BSPTree, и более экзотичные штуки есть типа CircleTree
источник

D

Dmitriy in GameDev for Web
И потом ещё более сложные алгоритмы идут, которые умеют выделять произвольные группы и подобное
источник

ДК

Даниил Кондратьев... in GameDev for Web
Понятно, учту)
источник
2021 February 05

Г

Георгий in GameDev for Web
ад то даже не тут, а в моменте когда надо обработать несколько точек коллизий корректно, например 2 точки для 2д, в боксе видел что начинается какой-то ад с матрицами и так и не понял почему
источник

К

Константин in GameDev for Web
Георгий
ад то даже не тут, а в моменте когда надо обработать несколько точек коллизий корректно, например 2 точки для 2д, в боксе видел что начинается какой-то ад с матрицами и так и не понял почему
Где там ад? Ну просто там разложенные 'минимальное расстояние до прямой' и применения матрицы трансформации
источник

DN

Dima Nazdratenko in GameDev for Web
народ, а все покупают про версию TexturePacker или крякаете как-то?)
источник

К

Константин in GameDev for Web
Ой:) ну отдай ты уже 10кружек кофе в год
источник