Size: a a a

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

2020 October 30

A

Adevald in RU Rust GameDev — русскоговорящее сообщество
Ну то что я написал
источник

A

Adevald in RU Rust GameDev — русскоговорящее сообщество
добавил в зависимость системы которой еще нету
источник

R

Roman in RU Rust GameDev — русскоговорящее сообщество
Да, так нельзя. Зависимости должны быть добавлены ДО
источник

A

Adevald in RU Rust GameDev — русскоговорящее сообщество
та я уже просёк
источник

R

Roman in RU Rust GameDev — русскоговорящее сообщество
Мне вообще эта затея не нравится. Получается что очередность обработки энтитей конфликтующими системами без явных зависимостей не определена
источник

A

Adevald in RU Rust GameDev — русскоговорящее сообщество
Правда не просёк вот этот момент. Почему борров чекир на меня ругается? Я так понимаю я забираю через функцию контроль над world, или что то такое.
источник

R

Roman in RU Rust GameDev — русскоговорящее сообщество
Поэтому у меня в ECS все зависимости неявны.
A зависит от B если A добавлена позже и конфликтует с B
источник

A

Adevald in RU Rust GameDev — русскоговорящее сообщество
Roman
Мне вообще эта затея не нравится. Получается что очередность обработки энтитей конфликтующими системами без явных зависимостей не определена
Да, тоже подумал насчёт того что далеко не всегда можно точно определить что от чего зависит
источник

A

Adevald in RU Rust GameDev — русскоговорящее сообщество
Roman
Поэтому у меня в ECS все зависимости неявны.
A зависит от B если A добавлена позже и конфликтует с B
У тебя есть ECS?
источник

A

Adevald in RU Rust GameDev — русскоговорящее сообщество
всммысле свою написал?
источник

R

Roman in RU Rust GameDev — русскоговорящее сообщество
Конечно. У меня много своего. Графический API, ECS, менеджер ассетов
источник

A

Adevald in RU Rust GameDev — русскоговорящее сообщество
О как, нифига себе.
Покажи если не сложно
источник

R

Roman in RU Rust GameDev — русскоговорящее сообщество
Игру вот никак не сяду написать. Я заядлый цирюльник яков
источник

R

Roman in RU Rust GameDev — русскоговорящее сообщество
ECS не покажу, она пока в приватной репе и не готова предстать перед общественностью
источник

A

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

A

Adevald in RU Rust GameDev — русскоговорящее сообщество
Roman
ECS не покажу, она пока в приватной репе и не готова предстать перед общественностью
Ну хотя бы рассказал бы о ее скажем так, фичах
источник

R

Roman in RU Rust GameDev — русскоговорящее сообщество
Да там все банально. Основное отличие от например легиона в том что система может как угодно итерироваться по тем компонентам доступ к которым запросила, а не только четко по обекту Query.
То есть использование больше похоже на то как если бы все системы в одном потоке работают, просто берешь World и итерируешься по компонентам.
Только если попытаешься проитерироваться по, скажем, &Foo, а при добавлении системы такого компонента ты не указал, то получаешь панику.
источник

R

Roman in RU Rust GameDev — русскоговорящее сообщество
То есть ты делаешь dispatcher.add_system(read::<Foo> & write::<Bar>, system) то внутри системы можно делать любое из следующего
world.iter(read::<Foo>().with::<Bar>())
world.iter(write::<Bar>().with::<Foo>())
world.iter(read::<Bar>().with::<Foo>())
world.iter(write::<Bar>() & read::<Foo>())
ну и так далее
источник

A

Adevald in RU Rust GameDev — русскоговорящее сообщество
Да я сразу понял
источник

A

Adevald in RU Rust GameDev — русскоговорящее сообщество
Ну specs также работает
источник