Поймал себя на мыслях о нескольких вещах. Это чисто техническая заметка.
Как-то надо у себя упрощать добавление/создание спрайтов на сцене. Сейчас часто это скриптами делается и поля приходится создавать вручную. Так-то норм, но... медленно что-то. И много писанины в итоге. Хочется упрощать, но возни всё равно пока много. Возможно нужны дополнительные конечные автоматы для переключения анимаций.
Ещё смущает, что анимации всяких сложных действий внутри игры превращаются в набор сложных if'ов, и есть ощущение, что стоит подумать о всяких composability для корректности.
Кроме того, для всяких шмапов имеет смысл задавать не параметры полёта пуль, а состояние условного поля в момент времени t, исходя из систем пуль, храня что-то вроде набора состояний жив/мёртв. Это позволяет решить ситуации когда FPS просаживается или подскакивает и, в целом, получше решить проблему. Т.е. хранить не функции зависимости скорости, ускорения от момента времени, а строго позиции от времени и по ней пересчитывать, включая всякие появляющиеся пули. Но, сейчас это делать не хочется, ибо много переписывать, хотя кое-где уже такое по сути есть.
Ещё бы сделать какой-нибудь батчинг для анимированных по текстурным координатам спрайтов, к примеру, пихнуть в UBO условный индекс в текстуре, а потом анимировать его. Ну и может быть для задержек/опережений иметь дополнительный буфер смещений. В теории должно дать ускорение, но увы, это надо править в самом saddy.
Как-то так.
Комментариев нет:
Отправить комментарий