Size: a a a

pro.graphon (and gamedev)

2020 April 05

d

disba1ancer in pro.graphon (and gamedev)
ладно, я спать, всем ночи
источник

L

Lain-dono in pro.graphon (and gamedev)
disba1ancer
сомневаюсь
Я в твоих шейдерах деление видел
источник

VK

Vitaliy ◀️TriΔng3l▶️ Kuzmin in pro.graphon (and gamedev)
Lain-dono
Я в твоих шейдерах деление видел
А что с ним? 1/x всего лишь в 4 раза медленнее multiply/add на AMD, на Nvidia тоже не страшно (но желательно, чтобы результат был нужен значительно позже, чем будут готовы аргументы), там на отдельной железке
источник

U

UsernameAK in pro.graphon (and gamedev)
у меня такой вопрос по ECS: а зачем нужны системы, если логику логичнее реализовывать внутри компонентов?
источник

L

Lain-dono in pro.graphon (and gamedev)
UsernameAK
у меня такой вопрос по ECS: а зачем нужны системы, если логику логичнее реализовывать внутри компонентов?
Основная часть логики требует одновременно несколько компонентов
источник

U

UsernameAK in pro.graphon (and gamedev)
Lain-dono
Основная часть логики требует одновременно несколько компонентов
но логика же может быть не только внутри тика
источник

L

Lain-dono in pro.graphon (and gamedev)
UsernameAK
но логика же может быть не только внутри тика
Это уже за пределами ECS
источник

U

UsernameAK in pro.graphon (and gamedev)
Lain-dono
Это уже за пределами ECS
почему за пределами?
источник

L

Lain-dono in pro.graphon (and gamedev)
Компоненты могут иметь логику, которая относится к самому этому компоненту. И ни шагу в сторону. Иначе концепция ломается
источник

NI

Nikita Ivanov in pro.graphon (and gamedev)
да
источник

U

UsernameAK in pro.graphon (and gamedev)
стой, ты хочешь сказать, что может быть несколько не объединенных общим местом вызова систем и это будет всё ещё ECS?
источник

L

Lain-dono in pro.graphon (and gamedev)
UsernameAK
стой, ты хочешь сказать, что может быть несколько не объединенных общим местом вызова систем и это будет всё ещё ECS?
Я не совсем об этом. Но почему нет? Можно например иметь несколько наборов систем и запускать их поочерёдно. И вообще очень по многому извращаться. Но основные принципы нарушаться не должны:

Entity - тупо идентификатор
Component - тупо кусочек данных
источник

U

UsernameAK in pro.graphon (and gamedev)
Lain-dono
Я не совсем об этом. Но почему нет? Можно например иметь несколько наборов систем и запускать их поочерёдно. И вообще очень по многому извращаться. Но основные принципы нарушаться не должны:

Entity - тупо идентификатор
Component - тупо кусочек данных
теперь understand
источник

U

UsernameAK in pro.graphon (and gamedev)
а как быть со стейтом из внешних библиотек
источник

U

UsernameAK in pro.graphon (and gamedev)
например из физического движка
источник

U

UsernameAK in pro.graphon (and gamedev)
хранить указатели в компонентах?
источник

L

Lain-dono in pro.graphon (and gamedev)
UsernameAK
хранить указатели в компонентах?
Ага. Указатели или идентификаторы или что-то ещё подобное. Это если либа сама за своим хозяйством следит. Если отдаёт это на откуп пользователю или ещё чего, то надо смотреть конкретику
источник

U

UsernameAK in pro.graphon (and gamedev)
Lain-dono
Ага. Указатели или идентификаторы или что-то ещё подобное. Это если либа сама за своим хозяйством следит. Если отдаёт это на откуп пользователю или ещё чего, то надо смотреть конкретику
она сама следит
источник

U

UsernameAK in pro.graphon (and gamedev)
но надо вовремя забирать ее стейт к себе
источник

L

Lain-dono in pro.graphon (and gamedev)
UsernameAK
но надо вовремя забирать ее стейт к себе
Ну вот и нужна обёртка. Этой обёрткой как раз и будет система
источник