Size: a a a

RU Rust GameDev — русскоговорящее сообщество

2020 April 23

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
Внутри джоин делает битовое И между битлистами сторейджей компонентов и итерирует по получившемуся битлисту.
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
Но мне показалось что ты говоришь о ссылках между энтитями, и там джоин не может помочь.
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
А даже если бы и был такой джоин, то он бы возвращал итератор с ровно нулем или одним элементом, что по сути тот же опционал.
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
Руслан Фадеев
И вот тогда ничего проверять на существование не надо
А, я еще раз перечитал то о чем ты говоришь. Надо, все еще надо. Потому что тебе ведь потребуется проверить, нашел твой джоин что-то или нет :)
источник

РФ

Руслан Фадеев in RU Rust GameDev — русскоговорящее сообщество
Mikola Summer Duck
А, я еще раз перечитал то о чем ты говоришь. Надо, все еще надо. Потому что тебе ведь потребуется проверить, нашел твой джоин что-то или нет :)
А, так ведь не всегда
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
Почему не всегда?
источник

РФ

Руслан Фадеев in RU Rust GameDev — русскоговорящее сообщество
Скажем, если у меня от монстра отклеился компонент с звуком, который нужен, чтобы стучать зубами при ходьбе, то и хрен с ним
источник

РФ

Руслан Фадеев in RU Rust GameDev — русскоговорящее сообщество
Впрочем, это плохой пример, нет ссылок между сущностями
источник

РФ

Руслан Фадеев in RU Rust GameDev — русскоговорящее сообщество
Скажем, у персонажа есть компонент, управляющий движением в сторону другого персонажа. Если другой персонаж дизентегрировался (= пропал компонент “позиция”), то вполне ок просто остановиться
источник

РФ

Руслан Фадеев in RU Rust GameDev — русскоговорящее сообщество
Джойн найдёт только персонажей, у которых цель всё ещё существует, и в итоге подвинутся только они
источник

РФ

Руслан Фадеев in RU Rust GameDev — русскоговорящее сообщество
Кажется, что очень удобно иметь возможность удалить любую часть контента игры и знать, что игра от этого не крашнется
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
Руслан Фадеев
Джойн найдёт только персонажей, у которых цель всё ещё существует, и в итоге подвинутся только они
А как джойн поймет что вот в этом конкретном компоненте вот эта конкретная ссылка прокисла?
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
И как он поймет что в именно этом конкретном случае прокисшая ссылка - повод не обрабатывать энтитю целиком.
источник

РФ

Руслан Фадеев in RU Rust GameDev — русскоговорящее сообщество
Mikola Summer Duck
А как джойн поймет что вот в этом конкретном компоненте вот эта конкретная ссылка прокисла?
Проверит, как реляционные БД проверяют
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
А, ну это уже похоже на эволюцию над ецс.
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
Но слишком много сложностей из этого получается.
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
Потому что тебе для каждого запроса нужно будет уточнять, как обрабатывать прокисшие энтити.
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
Это намного проще делать уже в игровой логике.
источник

РФ

Руслан Фадеев in RU Rust GameDev — русскоговорящее сообщество
Mikola Summer Duck
Потому что тебе для каждого запроса нужно будет уточнять, как обрабатывать прокисшие энтити.
Звучит как LEFT JOIN RIGHT JOIN OUTER JOIN :D
источник

РФ

Руслан Фадеев in RU Rust GameDev — русскоговорящее сообщество
Не поймите меня неправильно, писать запросы на нетипизированном sql - то ещё удовольствие
источник