Как мне написать основной игровой цикл? Какие вещи вы должны делать в игровом цикле, и какие вещи вы не должны делать в игровом цикле?
Я написал много из них, но я никогда не читал об игровых циклах. Я уверен, что мог бы значительно улучшить их, но я не уверен, как.
architecture
game-loop
hokiecsgrad
источник
источник
Ответы:
Основной игровой цикл решает три основные задачи:
Простой игровой цикл просто объединяет эти три задачи в один цикл. Это имеет некоторые нежелательные результаты:
Расширенные игровые циклы решают проблемы, перечисленные выше. Вот несколько полезных статей:
Для отличного примера игрового цикла взгляните на демонстрационную игру Allegro skater:
Игровые циклы часто выполняют одинаковую работу для большинства игр, поэтому я подумал о том, как создать обобщенную игровую среду. Лучше написать одну реализацию игрового цикла и поделиться ею между играми. Это экономит работу при создании новой игры, а улучшения общего игрового цикла могут быть общими для всех игр (например, добавление счетчика FPS или функции захвата экрана).
источник
Я бы порекомендовал статью Гленна Фидлера о надежной независимости от частоты кадров: « Исправь свой временной шаг! »
(Менее актуально для рассматриваемой темы, но другие статьи в серии также довольно хороши - как и все на его сайте!)
источник
Если вы хотите работать над игровыми циклами, я бы посоветовал прочитать эту старую статью о gamasutra о многопоточных архитектурах игровых движков. Он имеет дело с различными способами написания игрового цикла.
http://www.gamasutra.com/view/feature/1830/multithreaded_game_engine_.php
источник