I want to create a simple 2D game. I don’t want to use threads. The programming language will be Java (but could be any language, does not really matter…).
Is it possible to avoid high CPU usage if I use a main loop like while(true)... (infinite loop)?
In a game you typically have a main loop that runs everything. However, in order to avoid doing unnecessary things, it is typical to only update the game at a certain frame-rate (such as 60 Frames Per Second (FPS)).
Most games accomplish this by causing the CPU to sleep until a new frame needs to be calculated/drawn. In the python game library, pygame, this is done using pygame.time.wait: