← SEARCHABLE ARCHIVE
Game Development · 2026-07-02

Where should game development begin?

Understanding the game loop with input, state updates, and rendering

INTERACTIVE READING MODE →

The articles written on this blog were created with the goal of teaching. Also, the information in the article may be incorrect, so please be careful.

Game development is not just about drawing graphics. It involves creating the entire process of receiving input from the player, changing the state of the game, and delivering the results through screen and sound.

The game updates its state repeatedly

The character's location, health, score, and current stage are all the state of the game. The game continuously updates this state while it is running.

Read input.
Update the game state.
Draws the current state on the screen.
Repeat this process again.

This repetitive structure is called a game loop. When using an engine, the loop itself is managed by the engine, but the developer writes what happens at each step.

while (isRunning)
{
    ProcessInput();
    UpdateGame(deltaTime);
    RenderGame();
}

Frame rate and time are different

The number of frames that can be executed per second varies from computer to computer. If you move the character by 1 per frame, the speed will vary between 30 FPS and 144 FPS.

So, the movement amount is multiplied by deltaTime, the time elapsed since the previous frame.

position += direction * speed * deltaTime;

This way, even if the number of frames is different, the movement speed per second can be kept similar. Systems where regular intervals are important, such as physical calculations, may be separately updated at fixed time intervals.

Separate rules and expressions

Calculating the amount of damage when a player attacks is close to a game rule. The animation of swinging a sword and playing sound effects are close to expression.

Putting both in one code increases the scope for modification when adding new weapons or network features. By dividing data, rules, and screen expressions, the same rules can be used in other graphics or UI.

There is no need to create a huge game from scratch. The best start to game development is completing a small loop with one input, one moving object, and one clear success condition.