Ну, типа есть основной цикл.
Его обычно разбивают на две части: обновление и отрисовка. То есть, каждый кадр выполняется сначала пересчёт всех объектов, а потом их рендеринг на экране.
Объекты могут быть как расположены в куче (условно, в луёвой табличке для всего-всего), так и всякими интересными способами (на манер сущностей-компонентов, например).
Самое элементарное — в цикле обновления просто пройти по всем существующим объектам и дёрнуть им функцию "обновить" (каждый объект должен иметь такую функцию). Там же добавляем новые (например, спавним всякие пульки, проверяем что пульки попадают по целям и т.д.), при отрисовке — снова проходим по всем-всем объектам и вызываем функцию для каждого — "нарисовать".
Это простой вариант для небольших игрулек.