
Alan
23.03.2018
11:41:54
раньше в книжках по ооп писали как раз про то что к играм ооп шикарно заходит) и литам нет стейта, поведения, отношений между объектами?
или объектов нет а есть аргументы?)

Anton
23.03.2018
11:42:20
лично для меня игровая архитектура как раз представляется в виде того же сайта.
только в хороших веб-приложения эта архитектура еще и усложняется различными интеграциями по сети с другими сервисами.
в случае игры ты моделируешь все внутри.

Bohdan
23.03.2018
11:42:28

Google

Sergey
23.03.2018
11:42:43
а так и есть
ну так может быть сравнить чем отличаются подходы в "остальном мире" от подходов в гейм деве? тема то интересная
возьмем какой Entity-Component-System (или что там нынче популярно у вас) и будем разбираться)

Bohdan
23.03.2018
11:43:08
го статью хД

Uiiuviiw
23.03.2018
11:43:19
это тоже не правда. ооп к играм только в виде хелловворлд подходит, за исключением некоторых моментов

Sergey
23.03.2018
11:43:35
ФП?

Anton
23.03.2018
11:43:47
ФП :)

Uiiuviiw
23.03.2018
11:43:59
ecs

pew
23.03.2018
11:43:59
при чем тут процедурщина)

Uiiuviiw
23.03.2018
11:44:16
ecs+oop

Sergey
23.03.2018
11:44:20
ecs
это ж теплое и мягкое, ECS можно делать хоть на фп хоть на ооп

Uiiuviiw
23.03.2018
11:44:27
но второго мало

Sergey
23.03.2018
11:44:46

Google

Sergey
23.03.2018
11:44:52
и вся разница только в этом
(это если мы сравниваем процедурщину и ФП/ООП/ActorModel)
но второго мало
ну так вот - ECS - расскажи тупым как это работает примерно. Что есть component?

Uiiuviiw
23.03.2018
11:45:56
нет, не совсем.... компонент это карта а не обьект

pew
23.03.2018
11:46:00
при чем тут процедурщина, если я тебе говорю что разные компоненты про статы будут знать, что это такое, что такое итем, и так далее
и нет смысла с этим бороться

Sergey
23.03.2018
11:46:16
и могу ли я воспринимать систему в терминах ECS как "процесс" ? как взаимодействие процессов этих происходит?
для меня система это объект

pew
23.03.2018
11:46:48

Sergey
23.03.2018
11:46:54
но тут может быть я не прав - слишком поверхностно знакомился да и давно

Uiiuviiw
23.03.2018
11:47:33
сам процесс моделирования отличается от ооп

Sergey
23.03.2018
11:48:10

Uiiuviiw
23.03.2018
11:48:25
ентити это не ооп, но близк

Sergey
23.03.2018
11:48:27
если есть возможность кратко объяснить основную суть различий, по твоему мнению - будет хорошо

Aleh
23.03.2018
11:48:58

Sergey
23.03.2018
11:48:58

Uiiuviiw
23.03.2018
11:49:09
с телефона тяжело спорить

Sergey
23.03.2018
11:49:11
а то для некоторых C++ это ооп

Aleh
23.03.2018
11:49:19
или джава

Google

pew
23.03.2018
11:49:23

Uiiuviiw
23.03.2018
11:49:36
там нет ссылок

Sergey
23.03.2018
11:49:44
с телефона тяжело спорить
как будет удобно можем продолжить, но я предлагаю пока отбросить "ооп или не ооп" и сосредоточиться на сути.

Uiiuviiw
23.03.2018
11:49:46
нет инкапсуляции

Sergey
23.03.2018
11:49:56
все есть одна огомная система и все общее?

Uiiuviiw
23.03.2018
11:50:18
я имею доступ отовсюду ко всему

Sergey
23.03.2018
11:50:27
мне казалось что уже лет 20 никто так игры не пишет...
ну или даже по другому - хоть какая-то декомпозиция же есть?
черт с ним с доступом

pew
23.03.2018
11:51:33

Uiiuviiw
23.03.2018
11:51:40
есть сущности просто стейт и есть компонент -контейнер который хранит свойства сущностей
ну да загнул, но компоненты как карты собираются

Sergey
23.03.2018
11:52:47

Uiiuviiw
23.03.2018
11:52:55
да

pew
23.03.2018
11:53:18
у меня лично вообще такая шняга еще что часть классов и структур одинаковые для клиента и сервака, это еще один фактор в пользу того сделать некоторые объекты просто с данными, с минимумом поведения

Uiiuviiw
23.03.2018
11:53:38
поля сущностей групперуются в компоненты

Sergey
23.03.2018
11:53:55
там нет ссылок
можно подробнее? ты про референсы на объекты? то есть все by value? все имутабельное (копирование при записи)

Uiiuviiw
23.03.2018
11:54:07
да

Google

Uiiuviiw
23.03.2018
11:54:19
мутабельно
но это от яп зависит

Alan
23.03.2018
11:54:45

pew
23.03.2018
11:54:46
смотря где

Alan
23.03.2018
11:55:23
а не говоришь ему регенерируйся братан так как ты можешь )

pew
23.03.2018
11:56:59

Alan
23.03.2018
11:57:20
ну вот этот пример можно усложнить?
типа ты в такой то зоне карты регенерироваться будешь сто лет?

Uiiuviiw
23.03.2018
11:58:34
поля сущностей логически компонуются в компонентах, компоненты в узлах, а для каждого типа узла своя система
иначе игру не сделаешь

pew
23.03.2018
11:58:56
допустим на юнити когда делаешь тот же трансформ, чуть ли не каждым компонентом юзается, и что, это не считается макаронами
классно в вебе, туда стринг, сюда стринг


Alan
23.03.2018
12:13:45
ну все это есть в любом проекте когда наружу выпячивают все свойства сущности ) возьми онлайн казино с каким нибудь выигрышем который надо доставить в стим, надо посчитать шансы в момент крутки рулетки, надо посчитать есть ли этот выигрыш в наличии чтоб его доставить в момент игры, надо чтоб пользователи все-таки выигрывали и оставались довольны проектом, перед тем как он крутанет рулетку надо впринципе понять кто это: ютубер который ролик про твой проект сейчас снимает, или абузер который занес 100 р но каким-то образом набил себе на 100 тыс выигрышей, потом оказывается он дослужился до вип-статуса на сайте который тоже влияет на игру

Uiiuviiw
23.03.2018
12:13:54
я описываю пуре ecs все по разному ее реализуют. но там не иммутабельности и все это разруливается за счет приоритетов изменения

Alan
23.03.2018
12:14:10
и будет так же страшно и легче все наружу высунуть и юзать там где надо через геттеры
а так да, строки туда сюда гоняем)

Uiiuviiw
23.03.2018
12:15:14
ссылок нет в плане точечной нотации, за исключением сущностей.

pew
23.03.2018
12:15:36

Google

Uiiuviiw
23.03.2018
12:16:43
в экс, компонент имеет метод get

pew
23.03.2018
12:17:11
не, я про то что ты говоришь без ссылок
не понял наверно о чем ты

Uiiuviiw
23.03.2018
12:17:44
компонент это как контейнер с объектами которые являются полями сущностей
я о том что ооп не любит когда так делают
и в юните компонент это скорее нода чем компонент

Sergey
23.03.2018
12:25:20
сложна

Uiiuviiw
23.03.2018
12:32:29
актор модель же события шлет?

Sergey
23.03.2018
12:33:12
сообщения скорее, хотя разница незначительна

pew
23.03.2018
12:33:22
короче вы тут решайте что как назвать, а я пошел по делам)

Uiiuviiw
23.03.2018
12:33:41
в чистой ентити нет событий там цикл. хотя сделать что угодно можно

Sergey
23.03.2018
12:33:59
во всяком случае я такое читал

Uiiuviiw
23.03.2018
12:36:19
значит те кто среагирует на изменение не относятся к системе
там цикл

Roman
23.03.2018
13:44:04
блин жаль отвлеклись все от пушек, по моему хороший был пример =)

Alex
23.03.2018
16:52:10
Господа, прошу прощения, дайте кошерную ссылочку про эти пресловутые экторы почитать. Наверное, где-то было уже, но разве ж теперь тут сыщешь.