Комментарии 3
>War Robots существует уже несколько лет: за это время в игре появились
state machines
state machines
А как работаете с прерываниями?
Например робот прыгнул, а тут пользователь нажал на телепорт.
Или хп упал до 0 и надо бы красиво взорваться прямо в воздухе.
Например робот прыгнул, а тут пользователь нажал на телепорт.
Или хп упал до 0 и надо бы красиво взорваться прямо в воздухе.
А как работаете с прерываниями?Ничего хитрого. Если абилке нужно по каким-то причинам экстренно остановиться, то текущему стейту и его компонентам передаются соответствующие сообщения. Дальше стейты и компоненты сами определяют, как это сделать.
Например робот прыгнул, а тут пользователь нажал на телепорт.В данном случае ничего и делать не надо, робот спокойно начинает процесс телепортации, так как в нашей игре он не блокирует передвижение или что-то ещё.
Или хп упал до 0 и надо бы красиво взорваться прямо в воздухе.Так как все эффекты взрывов в данном случае представлены в виде эффектов частиц, то они проиграются в воздухе, а затем рэгдолл упадёт на землю.
В качестве примера могу привести следующее. У нас есть эффекты частиц, которые проигрываются в определённом стейте абилки. Как им реагировать на смерть робота настраивает геймдизайнер. У него есть следующие варианты: продолжить играть эффекты даже на рэгдолле, остановить воспроизведение с удалением всех текущих частиц или остановить спавн новых частиц, а текущим позволить доиграть до конца.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Как устроены абилки в War Robots