Спасибо за статью. Действительно интересно. Работаю программистом над проектом Erra Exordium. Немного расскажу, что делал я. Вначале была дверь. Она открывалась или разрушением или ключом. Потом появился кодовый замок. Замок в виде пазов. Открывая дверь, она активировала комнату, растворяла штору и оживляла врагов. Потом появился активатор. Рубильник. Его задача понятна, что-то включить или выключить. И вот на основе него, архитектура объектов начала развиваться. Сущность активатора, может иметь состояния (вкл, выкл, обесточен, разрушен, таймер перехода из включенного состояния в выключенное), вариации активации (действие, артефакт, разрушение, активация другим активатором...). Объекты, которые должны взаимодействовать с активаторами, реализуют соответствующую логику. По сути есть два блока, интерактивный объект и активатор. Можно построить разные вариации взаимодействия, длинные цепи. Можно сделать просто зону, на вход которой будет происходить активации или бросить на пол поднимаемый предмет. И ещё есть разные анимации героя и некий тип взаимодействия активатора. Например, нажать, поднять, развернуться что-то делать долго и прочее. Интерактивный объект это базовая сущность, а активатор уже имеет много настроек. Впринципе, благодаря двум сущностям, мы можем собрать практически всё что угодно в рамках нашего проекта.
Спасибо за статью. Действительно интересно.
Работаю программистом над проектом Erra Exordium. Немного расскажу, что делал я.
Вначале была дверь. Она открывалась или разрушением или ключом. Потом появился кодовый замок. Замок в виде пазов. Открывая дверь, она активировала комнату, растворяла штору и оживляла врагов.
Потом появился активатор. Рубильник. Его задача понятна, что-то включить или выключить. И вот на основе него, архитектура объектов начала развиваться.
Сущность активатора, может иметь состояния (вкл, выкл, обесточен, разрушен, таймер перехода из включенного состояния в выключенное), вариации активации (действие, артефакт, разрушение, активация другим активатором...). Объекты, которые должны взаимодействовать с активаторами, реализуют соответствующую логику. По сути есть два блока, интерактивный объект и активатор. Можно построить разные вариации взаимодействия, длинные цепи. Можно сделать просто зону, на вход которой будет происходить активации или бросить на пол поднимаемый предмет.
И ещё есть разные анимации героя и некий тип взаимодействия активатора. Например, нажать, поднять, развернуться что-то делать долго и прочее.
Интерактивный объект это базовая сущность, а активатор уже имеет много настроек. Впринципе, благодаря двум сущностям, мы можем собрать практически всё что угодно в рамках нашего проекта.
Супер! Я бы почитал об этом статью ;)