Learning to LÖVE is a series of tutorials and articles teaching the ins and outs of building games with the LÖVE engine. LÖVE is a great tool for people new to building games. It can serve seasoned developers, too, as a straight forward way to bring game ideas to life.
This first installment of Learning to LÖVE will get you up and running quickly with LÖVE installed, as well as a recommended editor and extensions that make working with LÖVE games easier. You’re going to install LÖVE to run your games, the Atom text editor to work on your games, and several extensions to Atom that help you write Lua, the programming language LÖVE uses, and to run and test your games.
This targets Windows users, but most of the details will work on other platforms. OSX and Linux versions of this article should be available at some point in the future.
Let’s get started by installing LÖVE itself first.
You can get LÖVE from the project’s website love2d.org. The downloads are first and foremost on the main page, so you can easily find them! I recommend grabbing the “64-bit Installer” option. This will be the easiest to work with, including with the extra tools we’ll be adding next.
Just walk through the installer steps and you’ll have LOVE installed in no time.
Next, we’ll install Atom, our text editor of choice. I’m recommending Atom for three crucial reasons for people new to programming:
Atom is a free text editor
Atom is easy to use
Atom has great extensions, including ones that make working with LÖVE a breeze
Just like LÖVE itself, the Atom website makes the download option front and center. You can find it at atom.io, so go there and download the installer now.
Atom doesn’t even require any installer steps. It will install automatically, so just wait for it to complete. Atom is larger than LÖVE itself, so the wait is just a bit longer.
When Atom is done installing, it should open itself automatically. If it doesn’t, you should find it in your Windows menu, so go ahead and open it. You’ll be presented with a lot of first time options. If they are daunting, don’t worry: I’ll walk you through the things you need today.
The first thing you’ll see is the Atom settings and a collection of “Get to know Atom!” options to make it easy to start customizing. The first thing we want to do is “Install a Package” so we click “Open Installer”, search for “love-ide”, and click the “Install” button when the package comes up in the search results.
Atom will run through the package installation steps. It will ask you a few times if you want to install dependencies. Answer “yes” each time. These are just other packages that the one we want depends on to do its job of making LÖVE easier to work with.
When all of these packages are completed you can close the Welcome tab on the right and focus on the settings. Click the settings button on the love-ide package, which should still be present. We’re going to make some small customizations to ensure it works with the version of LÖVE we have installed.
The main thing we want to do is configure Atom to use the debug version of LÖVE , so that we can get information when our code fails. In the first setting, which is labeled “Path to Love Executable”, enter this: C:\Program Files\LOVE\lovec.exe
That’s all the customizations we’re doing right now!
This article is all about getting setup. We’ll make our first game in the next installment, but I’ll at least show you the first tastes of what the process will look like. So we’ll create an empty project and run it to see the most basic LÖVE program run with an empty screen, but its a start!
Click the “File” menu in Atom and select “Open Folder…”
When the dialog appears, click the “New folder” button in the top left and name your first project. We can call it “My First Love Game”.
Now we just want to create a standard file for LÖVE called “main.lua”. All LÖVE games begin with this file, the main script that runs your game. Right click on your project folder and select “New File”, name the file “main.lua” and press enter.
Now you can use love-ide’s LÖVE run button, in your toolbar on the top left, to run this empty script to see the start of your first game run… sort of! It’s just an empty window for now, but you’ll be packing lots of great stuff in that space soon enough.
In the next installment of Learning to LÖVE , we’re going to take this empty script and fill it with our first real game. I hope you’re excited to get into the world of game making!
We live in a hobby-rich world. There is no shortage of pastimes to grow a passion for. There is a shortage of one thing: time to indulge those passions. If you’re someone who pours your heart into that one thing that makes your life worthwhile, that’s a great deal. But, what if you’ve got no shortage of interests that draw your attention and you realize you will never have the time for all of them?
If I look at all the things I’d love to do with my life as a rose bush I’m tending, I realize that careful pruning is essential for the best outcome. This is a hard lesson to learn, because it can mean cutting beautiful flowers and watching the petals fall to the ground to wither. It has to be done.
I have a full time job that takes a lot of my mental energy. I have a wife and a son and family time is very important in my house. I try to read more, and I want to keep up with new developments in my career, and I’m trying to make time for simple, intentional relaxing to lower my anxiety and stress. That doesn’t leave a lot of room to pursue any of these hobbies.
I used to play the guitar, if only a bit.
I’ve always had my eye on becoming a writer.
Software development began as a passion hobby, and now that it is a carrier I still feel that draw to it outside of work.
A lot of my life was spent under the assumption that I would end up in some career as an artist, and I was even on a trajectory towards art school in my teens.
But there aren’t enough days in the year, or hours in any of those days, to scratch 100% of those itches.
So, I’m committing to saying “No” to myself more often. When I’m looking for a small app or tool and can’t find just the right thing, I’m going to say “No” to building my own, instead of making the best option work. When NaNoWriMo rolls around next year, I’m not going to cause myself anxiety over the “Will I? Won’t I?” leading up, and I’m going to admit that it just doesn’t work for me. When I end my work day, I’m going to leave the web development at work.
I will be saying “No” to myself on all these interests so I can direct my “Yes” whole heartedly to one: my blossoming foray into game development. And this is a really deliberate choice! Game development is what got me into computers and into programming. But, its also something multi-faceted in a way that few other pursuits are. By throwing myself fully into my game projects, I’ll be able to spend time created art, to code outside of work and learn new techniques and paradigms, and to tell stories.
I’m putting down a lot of interests, and shelving a lot of personal projects. I have dozens of bits of code that’ll only collect dust from now on, even though I think of them often and constantly feel the pull to hack on them in the evening or weekends. But, I have convinced myself this is for the best. I’m working on making 2017 a big year for me, and I can’t do that when I’m pulled in a thousand directions.
Learning to give up just may be the ticket to finally succeeded.
I’m tired of dealing with one complicated blogging setup after another, always trying to find the technically “perfect” setup. Always nitpicking and never just writing. So I’m taking the easy route, even though that’s actually hard for me.
More to come, I guess.