Lua Programming and Game Development with LÖVE

Lua Programming and Game Development with LÖVE

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 82 lectures (8h 27m) | 2.10 GB

Learn the basics of programming, then use that knowledge to create games with the beginner-friendly game engine: Love2D!

For beginner and experienced programmers alike, one of the best tools to learn game development with is LÖVE (also known as Love2D), an open-source game engine that allows users to write the logic of their games in Lua, an easy to pick up scripting language. These hidden gems of the development industry are perfect for learning the basic concepts, as well as applying them to create full-scale applications.

This course is a project-based approach to understanding the basics of programming and its role in game development. The lectures assume no prior technical knowledge, and whether or not you have programmed before, there is content in this course that can be utilized by anyone. Together, we will create three separate games, each one growing in difficulty, and in doing so, we will gain a strong familiarity with programming video games. After learning the core functionality of what LÖVE has to offer, you will be ready to apply this knowledge into creating your very own games.

The course begins with several lectures discussing the basics of programming with Lua, specifically covering:

  • Variables
  • Conditional Statements
  • Loops
  • Functions
  • Comments
  • Local vs Global
  • Tables

These concepts are common throughout most programming languages, so the information covered in this section can be applied beyond the scope of this course. To add to this, if you already have a background in programming, there will be a “syntax recap” that will quickly discuss how to perform each of these actions in Lua specifically, so there is no need to watch every lecture if you already have some related experience, but haven’t worked with Lua before.

After the programming lesson, we will jump right into working with LÖVE, and will create our games throughout the rest of the course. We will start with a simple Shooting Gallery game, then move on to a top-down shooter, and finish off the course with a physics-based platformer. By the end, we will cover all of the following game development concepts:

  • Making a playable character
  • Keyboard and mouse input
  • Drawing graphics
  • Enemies
  • Collisions
  • Timers
  • Randomness
  • RGB Color Scheme
  • Physics
  • Animations
  • Utilizing open-source software
  • Tiled
  • Camera
  • Sound effects and music
  • Keeping score
  • Saving data

With the ability to implement all of these features, you will be fully prepared to create your own games. By coding along with the lectures, the information will stick with you as we go through the material, and by the end, your programming and development skills will be strong enough for you to bring to life whatever game idea you can think of!

What you’ll learn

  • Understand the basics of programming
  • How to use Lua
  • Utilize the core features of LÖVE
  • Find and use open-source software
  • Incorporate additional editors and tools
  • Create your own games!
Table of Contents

Install and Overview
Course Overview
Installing LOVE
Programming Environment
Project Structure
Projects On GitHub

Lua Programming
Introduction to Lua
Variables
If Statements
Else and ElseIf
While Loops
For Loops
Functions
Comments
Local and Global Variables
Tables pt 1
Tables pt 2
Syntax Review

Game 1 Shooting Gallery
Game 1 Skills Assessment
Shooting Gallery Overview
Load Update and Draw
Drawing Shapes
Colors and Overlapping Graphics
Target Table and Global Variables
Using the Mouse
Shooting the Target
Randomness
Timer
Sprites Images
Main Menu
Finishing Touches
Game 1 Coding Challenge

Game 2 TopDown Shooter
Game 2 Skills Assessment
Top
World Setup
Player Movement
Delta Time
Sprite Rotation
Facing the Mouse
Enemies
Enemy Rotation
Enemy Movement
Basic Collisions
Shooting Projectiles
Scaling Sprites
Deleting Projectiles
Shooting Enemies
Enemy Spawn Position
Enemy Spawn Timer
Menu Score and Polish
Game 2 Coding Challenge

Game 3 Platformer
Game 3 Skills Assessment
Platformer Overview
Physics
Moving and Jumping
Collision Classes
Querying for Colliders
Animations
Player Graphics
Changing Between Animations
Player Direction Flipping the Animation
Jump Animation
Multiple Lua Files
Tiled
Import Tiled Map to LOVE
Spawning Objects from Tiled
Camera
Platformer Enemies
Transitioning Between Levels
Saving Data
Music and Sounds
Finishing Touches
Whats Next

Web Game Development
LOVE for Web Overview
Lovejs Setup and Installation
Building and Running with Lovejs
Hosting Your Game

Mobile Game Development
Mobile Overview
Touching the Screen
Adapting to Screen Size
Installing Android Tools
Generating the APK
Installing on Your Android Device
Signing Your App
Publishing Your App

Bonus Lectures
Command Line and Git Basics

Homepage