Вопросы с тегом «game-loop»

Центральный цикл кода отвечает за обработку запущенного игрового процесса. В своем основном состоянии он принимает входные данные, разрешает действия объектов и отображает сцену.

256
Когда я должен использовать фиксированный или переменный шаг по времени?

Должен ли игровой цикл основываться на фиксированных или переменных временных шагах? Всегда ли кто-то лучше или правильный выбор зависит от игры? Переменный шаг по времени Физическим обновлениям передается аргумент «истекшее время с момента последнего обновления» и, следовательно, они зависят от...

130
Как мне написать основной игровой цикл? [закрыто]

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

74
Какой смысл обновлять независимый рендеринг в игровом цикле?

Есть десятки статей, книг и дискуссий по игровым циклам. Тем не менее, я довольно часто сталкиваюсь с чем-то вроде этого: while(running) { processInput(); while(isTimeForUpdate) { update(); } render(); } Что в основном беспокоит меня об этом подходе, так это «независимый от обновления» рендеринг,...

41
Должны ли актеры в игре быть ответственными за рисование себя?

Я очень новичок в разработке игр, но не в программировании. Я (снова) играю с игрой типа Понг, используя canvasэлемент JavaScript . Я создал Paddleобъект, который имеет следующие свойства ... width height x y colour У меня также есть Pongобъект, который имеет такие свойства, как ... width height...

39
Когда нескольким классам требуется доступ к одним и тем же данным, где эти данные должны быть объявлены?

У меня есть базовая 2D игра Tower Defense на C ++. Каждая карта - это отдельный класс, который наследуется от GameState. Карта делегирует логику и код рисования каждому объекту в игре и устанавливает такие данные, как путь к карте. В псевдокоде логический раздел может выглядеть примерно так:...

32
Что такое стандартный игровой цикл C # / Windows Forms?

Как следует структурировать основной цикл игры при написании игры на C #, в которой используются обычные Windows Forms и некоторые графические оболочки API, такие как SlimDX или OpenTK ? Каноническое приложение Windows Forms имеет точку входа, которая выглядит как public static void Main () {...

31
Хороший способ построить игровой цикл в OpenGL

В настоящее время я начинаю изучать OpenGL в школе, и на днях я начал делать простую игру (самостоятельно, а не для школы). Я использую freeglut и собираю его на C, поэтому для своего игрового цикла я действительно использовал переданную мне функцию, glutIdleFuncчтобы обновить все чертежи и физику...

24
В чем смысл «дельты» в этом коде? Отражает ли это стандартную вещь в игровом устройстве?

Я очень мало знаю о программировании игр, но хотел бы узнать больше. Я пытаюсь понять код для этой игры. Я пытаюсь понять, почему код передает «delta» в Shipcontrols.js, который меняет направление движения корабля на основе пользовательского ввода. В основном игра рассчитывает «дельту» каждого...

20
Действия игры, которые требуют нескольких кадров для завершения

Я никогда прежде не занимался программированием игр, довольно простой вопрос. Представьте, что я создаю игру «Тетрис», где основной цикл выглядит примерно так. for every frame handle input if it's time to make the current block move down a row if we can move the block move the block else remove all...

19
Где должна быть размещена логика обнаружения столкновений?

Я занимаюсь разработкой небольшого 2D игрового движка. У персонажей есть метод рисования, который в настоящее время делает следующее: Рассчитать новую позицию персонажа по скорости и т. Д. Обновить ячейку сетки столкновений ** Нарисуйте персонажа на новой позиции ** Я создал сетку столкновений,...

19
Деревья поведения :: Действия, которые занимают больше времени, чем один тик

Из того, что я понимаю в Деревьях Поведения, каждое Поведение должно быть коротким, ориентированным на цель Действие, которое может быть выполнено в несколько итераций. Например, ниже приведено изображение Дерева Поведения: Теперь давайте предположим, что поведение Drive To Enemy занимает больше,...

19
Дизайн пошаговой игры, в которой действия имеют побочные эффекты

Я пишу компьютерную версию игры Dominion . Это пошаговая карточная игра, в которой карты действий, карты сокровищ и карты победных очков накапливаются в личной колоде игрока. У меня довольно хорошо развита структура классов, и я начинаю разрабатывать игровую логику. Я использую Python, и я могу...

19
Есть ли какой-нибудь вред в том, что основной цикл игры неуправляем?

Мне было интересно, есть ли какой-нибудь возможный вред, когда мой игровой цикл работает так быстро, как позволяет система? В настоящее время у меня есть цикл, который, измеряя прошедшее время в наносекундах, без проблем запускает игровую логику и логику рендеринга на предопределенных скоростях....

17
Почему мой спрайтер движется быстрее, когда я двигаю мышь?

Я пытаюсь разработать простую игру, созданную с помощью Pygame (библиотека Python). У меня есть spriteобъект, playerи я перемещаю его с помощью клавиш со стрелками. Если я не двигаю мышь, спрайт движется нормально, но когда я двигаю мышь, спрайт движется быстрее (например, х2 или х3). playerОбъект...

16
Конечный автомат в C ++

Итак, я много читал об использовании FSM для управления состоянием игры, о том, что такое FSM, и об использовании стека или набора состояний для его создания. Я прошел через все это. Но я застрял в написании реальной, хорошо разработанной реализации FSM для этой цели. В частности, как правильно...

16
Как мне лучше всего удалить сущность из моего игрового цикла, когда она мертва?

Итак, у меня есть большой список всех моих сущностей, которые я перебираю и обновляю. В AS3 я могу сохранить это как массив (динамическая длина, нетипизированный), вектор (типизированный) или связанный список (не собственный). В настоящее время я использую Array, но я планирую изменить на Vector...

15
Полуфиксируемый или полностью фиксированный временной шаг?

Я делаю iphone shmup и пытаюсь решить, какой тип игрового цикла использовать. Я хочу использовать либо полуфиксированный временной шаг, либо полностью фиксированный временной шаг. С полуфиксированным временным шагом я сделаю ноль или более вызовов update (FIXED_INTERVAL) с последующим одним вызовом...

14
«Оптимальная» игровая петля для 2D бокового скроллера

Можно ли описать «оптимальный» (с точки зрения производительности) макет для игрового цикла 2D бокового скроллера? В этом контексте «игровой цикл» принимает вводимые пользователем данные, обновляет состояния игровых объектов и рисует игровые объекты. Например, наличие базового класса GameObject с...

13
Игровой цикл, как проверить условия один раз, сделать что-то, а потом не делать это снова

Например, у меня есть класс Game, и он хранит данные, intкоторые отслеживают жизнь игрока. У меня условно if ( mLives < 1 ) { // Do some work. } Однако это условие продолжает работать, и работа выполняется повторно. Например, я хочу установить таймер для выхода из игры через 5 секунд. В...