Как стать автором
Обновить

Комментарии 4

Экстраполяция мастхэв при сетевой с тонким клиентом. Делал попробовать такую архитектуру - по сути весь клиентский код это rendering и input, с полным update на сервере. Тогда лаг может быть ≈200мс, разница очень существенная. Кроме этого случая никогда рендер не приходилось экстраполировать, даже сложно представить - зачем это? Если проц и так нагружен вычислением координат, еще парралельно ту же операцию запускать на видюхе что ли?

Хотя, куда лучше делать лишь передачу ввода, с дублирующим кодом обработки на клиенте, а не тонкий клиент (это я эксперементировал). Но механизм отката нужен, ибо клиент может рассчитать, допустим, что пуля улетела вперед, но на самом деле - другой игрок ее блокировал своим телом, просто синхронизации не было.

Про сетевую архитектуру с real time было бы интереснее прочитать. А так - да, while(true) это столп рилтайм игрового лупа. И это именно рилтайм паттерн, в пошаговых все иначе. Хотя для отрисовки интерфейса и анимаций gui все равно его юзают. Так то под капотом он все равно есть, цикл просто прячут, вытаскивая всякие event. Это на тему:

а вне мира геймдева его используют относительно малое количество программных продуктов

До css3 с анимациями, наверное 90% всего веба на setinterval анимациях жило.

Спасибо, статья хорошая
Хо, хотя конечно аналогичные уже были, тема все же довольно старая.

Я думаю можно поправить термины немного.
Вы описали разницу между движком и библиотекой, но обычно так описывается разница между фреймворком и библиотекой.
Вы вызываете код библиотеки.
Фреймворк вызывает ваш код.
С этой точки зрения "игровой движок" - очень широкий термин. Это может быть и библиотека / набор библиотек, и фреймворк и целый тул инструментов, включающий редактор и дополнительные инструменты типа редакторов материалов, текстур и анимаций.
То есть в минимальном варианте это библиотека для графики, к примеру.
В максимальном варианте это Unity или Unreal, в которых вы работаете в редакторе и встраиваете ваши скрипты в готовую структуру.

Можно применить всю эту теорию для программирования микроконтроллеров.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории