Create a Game Loop using C and SDL

Learn to create a game loop from scratch using the C programming language and SDL
Rating: 4.7 out of 5 (281 ratings)
6,126 students
English [Auto]
C Programming Language
Game Loop


  • Basic concepts of programming (variables, conditionals, loops, functions)
  • Be comfortable with the basics of using the command-line


The more technology advances, and the more we add frameworks to abstract low-level details of the machine, the less we understand how computers really tick.

This course is a trip back to the fundamentals of game programming. We will dissect and discuss one super important element of any game application...

The game loop.

To understand the ideas behind writing a working game loop, we will learn the basics of the C programming language and use a library called SDL to render elements in the display.

We will learn together how to:

  • Write a basic C program and compile it using the GCC compiler

  • Install SDL and any other dependencies

  • Use SDL to create and open a basic window in your operating system

  • Control the time step of your game loop

  • Update game objects as a function of delta time

This course has no real pre-requisites.

Of course, you should have a working knowledge of how to use your computer, download files, install programs and copy files around your operating system.

But you should know the basics concepts of programming, such as variables, conditionals, loops, and functions. That will help you get the most out of it.

The code we will write works for Windows, macOS, and Linux. But be aware that I will be using Linux during the videos.

Who this course is for:

  • Programmers that want to learn C and SDL
  • Developers who want to learn what a game loop is

Course content

9 sections22 lectures1h 58m total length
  • Motivations and Learning Outcomes
  • Game Engines


University Lecturer
Gustavo Pezzi
  • 4.7 Instructor Rating
  • 2,675 Reviews
  • 19,969 Students
  • 4 Courses

I teach computer science and mathematics at BPP University, London. My main research area is to investigate how teaching game programming can help enhance awareness and understanding of mathematics and physics.

I am also a professional software engineer with more than 10 years of experience, with an industry background in 3D systems, games and physics engines, web systems, databases, and data analysis.

My academic journey includes institutions such as Pittsburg State University, City University of London, and University of Oxford.

Learn computer science and mathematics by programming games
Pikuma .com
  • 4.7 Instructor Rating
  • 2,528 Reviews
  • 16,777 Students
  • 3 Courses was created by award winning professor Gustavo Pezzi to teach the fundamentals of programming, computer science, and mathematics.

We care about the basics. With our courses you will learn the low-level of how things work and why they work.

We currently have courses on mathematics, game programming, assembly language, 2D game engine, 3D renderization, C++, Lua, operating systems, and a lot more coming shortly…

If you'd like to learn anything in particular, contact us and let us know.