Learn how to program games with the LÖVE framework


Are you so excited about learning how to make games that you can't be bothered reading my boring introduction? I understand, go ahead and skip this if you want. Good luck!

Welcome to How to LÖVE. The tutorial that teaches you how to program games with LÖVE (aka Love2D). Written by me, Sheepolution. It's the tutorial that I wish was available when I started learning how to program.

This tutorial is for people who want to learn how to program. You don't necessarily need to learn how to program to make a game. If you want to make a single simple game and not touch game development after that again, I recommend using a tool like Construct 2 or Game Maker.

In this tutorial we will be using LÖVE. The reason for this is because LÖVE is very beginner friendly in terms of programming games, but provides the functionality to make professional 2D games. This makes it a great tool for both beginners and experienced users. Here's a list of all the games on Steam that were made with LÖVE.

Unlike Game Maker and Unity, LÖVE is a framework and not an engine. You will have to do everything with code. There is no built in level editor or anything. The plus side to this is that you will understand exactly what is going on and how it works, because you wrote it yourself. Your knowledge is also easier to transfer to other engines and frameworks. Because while every engine works differently, code always works the same.

This tutorial is written for people without any programming experience. If you do have experience with programming, I recommend you at least read the summary of every chapter, and when it confuses you, you read the full chapter.

If you don't have any experience in programming, I hope this tutorial will teach you what you want to know. You probably want to start making a game right away, but I'll have to ask of you to be patient. There are a lot of concepts surrounding programming that you will need to understand before you can start making a game. And it can take a while before you're fully grasping these concepts. There is a good chance that you will be reading this book and not fully understanding what you're reading. In that case my advice is to ask questions (see below) and perhaps to continue with the book, pretending that you know what is going on. Maybe at chapter 12 you're finally understanding what was explained in chapter 8. In any case, don't feel bad or dumb if you don't understand everything right away. Take your time.

When you feel like it, I encourage you to "skip ahead". With that I mean try out things that the book hasn't taught you yet. Play around with what you know already and look up things you want to know. This makes for some great practice and in the end that is what you need. You can read about painting all you want, but to learn you'll have to paint yourself. Same goes for programming.

Some chapters will use code from the previous chapter. In that case I will point it out at the top of the chapter.

I'm not done writing this tutorial, meaning there are still new chapters to be released, but I have no concrete plans for when that will happen.

If you have any questions, improvements, or anything else to say, feel free to leave a comment behind, and I'll do my best to reply as soon as possible. You can also ask for help in the LÖVE Discord server.


This is a programming tutorial that uses LÖVE because it's very easy for beginners.

What will you be learning?

Here are some gifs to give you an impression of what you're going to learn throughout this tutorial.

Do you need help or do you see a mistake?
Leave a comment or edit this chapter.