게임 루프(Game Loop)란 무엇인가? – 게임이 계속 돌아가는 비밀
게임을 실행하면 캐릭터가 움직이고, 배경이 바뀌고, 적이 등장하고, 충돌이 일어나는 등 수많은 일이 매 순간 벌어진다.
그렇다면 게임은 어떻게 이런 복잡한 동작을 끊임없이, 그리고 자연스럽게 처리할 수 있을까?정답은 바로 **게임 루프(Game Loop)**에 있다.
1. 게임 루프의 정의
게임 루프란, 게임 실행 동안 계속해서 반복되는 **핵심 사이클(Loop)**을 의미한다.
쉽게 말하면, “게임의 심장박동” 같은 역할이다.
일반적인 루프는 다음 단계로 구성된다:
-
입력 처리(Input) → 플레이어의 키보드, 마우스, 터치 입력을 받는다.
-
게임 로직 업데이트(Update) → 캐릭터 이동, 적의 AI, 충돌 판정 등을 계산한다.
-
렌더링(Render) → 계산된 결과를 화면에 그린다.
이 과정을 초당 수십 번 이상 반복하면서 게임은 끊김 없이 실행된다.
2. 의사코드로 보는 게임 루프
이 단순한 구조 속에서 우리가 보는 화려한 게임이 만들어진다.
즉, 루프가 멈추면 게임도 멈춘다.
3. FPS(프레임)와 게임 루프
게임 루프는 보통 **FPS(Frame Per Second)**라는 단위와 밀접한 관계가 있다.
예를 들어, 60FPS라면 1초에 60번 루프가 돌고 있다는 뜻이다.
FPS가 낮아지면 루프 실행이 느려져 캐릭터가 버벅이고, 화면이 끊기는 현상이 발생한다.
4. 게임 루프와 현실 예시
-
Update 단계: 캐릭터가 점프 중인지, 적이 플레이어를 쫓는지 계산
-
Render 단계: 점프한 캐릭터를 위쪽 좌표에 그리기
-
Loop 반복: 이 과정을 1초에 수십 번 반복 → 애니메이션처럼 부드럽게 보임
5. 마무리
게임 루프는 단순히 반복문 하나지만, 게임 개발의 모든 기초가 되는 핵심 원리다.
앞으로 배우게 될 물리 엔진, 충돌 판정, AI, 네트워크 기능도 모두 이 루프 속에서 돌아간다.
👉 다음 글에서는 Update와 FixedUpdate의 차이를 다뤄서, 왜 어떤 동작은 Update에서 하고 어떤 건 FixedUpdate에서 해야 하는지 파헤쳐 보겠다.
댓글
댓글 쓰기