Available on: all targets

BEGIN GAMELOOP

The command BEGIN GAMELOOP define the starting point of the game loop. A game loop is a fundamental concept in video game programming, especially in simple video games like those for 8-bit computers. Think of the game loop as the heartbeat of a video game: it is a continuous cycle of actions that are constantly repeated, giving life to the gaming experience.

In simple terms, the game loop is an infinite loop in the game code that takes care of: updating the game state, checking user input (button presses, joystick movement), updating the position of objects on the screen, calculating collisions, managing enemy AI, and so on.

The game loop is the place where drawing everything that needs to be displayed on the screen, based on the current state of the game. In some platforms, it will implictly "sync" the activity with the vertical blank, so the action inside the loop should be executed in a single "frame" of game.

On an 8-bit computer, with limited resources, the game loop was often implemented in a very simple way, as an infinite loop. The BEGIN GAMELOOP...END GAMELOOP instructions create an infinite loop, so that the program would continue to execute the same instructions over and over again. Inside the loop, instructions were executed to update the game state, such as checking if a button had been pressed or if an enemy had moved. After updating the state, a routine was called to draw everything on the screen. The program would return to the beginning of the loop, ready for the next iteration.

The game loop makes the game interactive, allowing the player to hit what is happening on the screen, continuously updating the state and redrawing the screen creates the illusion of movement and animation. A well-designed game loop ensures a smooth and responsive gameplay experience.

Define the starting point of a game loop. A game loop is nothing more than an implicit loop, within which all the logic of the program (or of the game) runs. The end point of a game loop can correspond to the end of the program or to the END GAMELOOP statement.

In some platforms, it will implictly "sync" the activity with the vertical blank, so the action inside the loop should be executed in a single "frame" of game.

SYNTAX

 BEGIN GAMELOOP


Legend
  • id : identifier
  • type : datatype
  • v : value
  • "..." : string
  • [...] : optional

EXAMPLE

 BEGIN GAMELOOP


ABBREVIATION: BeGl

Join BASIC 10Liner Contest with ugBASIC!

An interesting competition is held at the beginning of each year: the BASIC 10Liner Contest. It is possible to use ugBASIC to participate in the next "BASIC10Liner" competition, in the following categories:

  • PUR-120 - A game in 10 lines of max 120 characters (w/abbrev.)
  • EXTREME-256 - A game in 10 lines of max 256 characters (w/abbrev.)
  • SCHAU - Any program in 10 lines of max 256 characters (w/abbrev.)
In order to reduce space you can use this abbreviation for this instruction:

BEGIN GAMELOOP ↔ BeGl

Any problem?

If you have found a problem with this keyword, if you think there is a bug or, more simply, you would like it to be improved, open an issue for this example on GitHub.
Thank you!

open an issue BACK TO KEYWORDS