Как Untitled Goose Game устроена за кадром

Нетипичной игре — нетипичные решения.

22 показа
13K13K открытий

Кстати, а почему в играх постоянно держат все предметы под сценой, а не спавнят их на ходу? Неужели держать все под сценой дешевле чем спавнить на ходу, или спавн вызывает кратковременные микрофризы?

Ответить

Проще подгрузить всё сразу, нежели по частям во время самого геймплея

Ответить

часто да. Спавн объекта может быть связан с подгрузкой моделей  и текстур с диска, а это долго по меркам фрейма

Ответить

Комментарий недоступен

Ответить

Комментарий недоступен

Ответить

Это pooling. Создается все заранее и запихивается в память/видеопамять. В т.ч. чтобы уменьшить возможные обращения к жесткому диску.Микрофризы из-за этого и возможны, да. 

Также очень часто обьекты реюзабельны. Не удаляются-создаются заново. А "прячутся" и "достаются заново"

Все это в целом очень способствует а)уменьшению утечки памяти 

б)контролю общего обьема памяти.

Ответить

Касательно текстовухи - тут вероятно внизу отдельная камера которая рендерит поверх основной то что внизу расположено.

Ответить

или спавн вызывает кратковременные микрофризы

YEP! 

для чего и существуют загрузочные экраны, где и происходят все самые жирные процессы для подготовки игрового мира

Ответить

После спауна нужно удаление, а оно засоряет память. Поэтому по возможности лучше что бы предмет телепортировался по сцене.

Ответить

В данном конкретном случае программист криворукий. Можно было их просто скрыть чтобы понизить нагрузку на проц и видео.

Ответить

Очевидно, потому, что игры давно не пишутся с нуля, а используют готовые движки. С точки зрения картины в целом это алогично. С точки зрения разработки в рамках конкретного движка это самый простой способ. Один из многих слоёв абстракции, за которую приходится платить.

Ответить

про Unity не знаю, а в случае с GameMaker удаление может вызвать неожиданные ошибки. порой игра крашится, когда вылезает непредусмотренное обращение к параметрам удаленного обекта, даже если есть проверки на его существование.

Ответить

Комментарий недоступен

Ответить