Lua Programming And Game Development With Löve

Posted By: ELK1nG

Lua Programming And Game Development With Löve
Last updated 8/2021
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 2.11 GB | Duration: 8h 28m

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

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!
Requirements
Capable of using the basic functionality of your computer
Ability to download and install programs
Description
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    • TablesThese 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 dataWith 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!

Overview

Section 1: Install and Overview

Lecture 1 Course Overview

Lecture 2 Installing LÖVE

Lecture 3 Programming Environment

Lecture 4 Project Structure

Lecture 5 Projects On GitHub

Section 2: Lua Programming

Lecture 6 Introduction to Lua

Lecture 7 Variables

Lecture 8 If Statements

Lecture 9 Else and ElseIf

Lecture 10 While Loops

Lecture 11 For Loops

Lecture 12 Functions

Lecture 13 Comments

Lecture 14 Local and Global Variables

Lecture 15 Tables pt. 1

Lecture 16 Tables pt. 2

Lecture 17 Syntax Review

Section 3: Game #1: Shooting Gallery

Lecture 18 Shooting Gallery Overview

Lecture 19 Load, Update, and Draw

Lecture 20 Drawing Shapes

Lecture 21 Colors and Overlapping Graphics

Lecture 22 Target Table and Global Variables

Lecture 23 Using the Mouse

Lecture 24 Shooting the Target

Lecture 25 Randomness

Lecture 26 Timer

Lecture 27 Sprites (Images)

Lecture 28 Main Menu

Lecture 29 Finishing Touches

Lecture 30 Game #1 Coding Challenge

Section 4: Game #2: Top-Down Shooter

Lecture 31 Top-Down Shooter Overview

Lecture 32 World Setup

Lecture 33 Player Movement

Lecture 34 Delta Time

Lecture 35 Sprite Rotation

Lecture 36 Facing the Mouse

Lecture 37 Enemies

Lecture 38 Enemy Rotation

Lecture 39 Enemy Movement

Lecture 40 Basic Collisions

Lecture 41 Shooting Projectiles

Lecture 42 Scaling Sprites

Lecture 43 Deleting Projectiles

Lecture 44 Shooting Enemies

Lecture 45 Enemy Spawn Position

Lecture 46 Enemy Spawn Timer

Lecture 47 Menu, Score, and Polish

Lecture 48 Game #2 Coding Challenge

Section 5: Game #3: Platformer

Lecture 49 Platformer Overview

Lecture 50 Physics

Lecture 51 Moving and Jumping

Lecture 52 Collision Classes

Lecture 53 Querying for Colliders

Lecture 54 Animations

Lecture 55 Player Graphics

Lecture 56 Changing Between Animations

Lecture 57 Player Direction (Flipping the Animation)

Lecture 58 Jump Animation

Lecture 59 Multiple Lua Files

Lecture 60 Tiled

Lecture 61 Import Tiled Map to LÖVE

Lecture 62 Spawning Objects from Tiled

Lecture 63 Camera

Lecture 64 Platformer Enemies

Lecture 65 Transitioning Between Levels

Lecture 66 Saving Data

Lecture 67 Music and Sounds

Lecture 68 Finishing Touches

Lecture 69 What's Next?

Section 6: Web Game Development

Lecture 70 LÖVE for Web Overview

Lecture 71 Love.js Setup and Installation

Lecture 72 Building and Running with Love.js

Lecture 73 Hosting Your Game

Section 7: Mobile Game Development

Lecture 74 Mobile Overview

Lecture 75 Touching the Screen

Lecture 76 Adapting to Screen Size

Lecture 77 Installing Android Tools

Lecture 78 Generating the APK

Lecture 79 Installing on Your Android Device

Lecture 80 Signing Your App

Lecture 81 Publishing Your App

Section 8: Bonus Lectures

Lecture 82 Command Line and Git Basics

Anyone who wants to learn game development - regardless of technical background