close
Skip to content
This repository was archived by the owner on Mar 8, 2021. It is now read-only.
This repository was archived by the owner on Mar 8, 2021. It is now read-only.

BYTEPATH #0 - Introduction #30

Description

@a327ex

Introduction

This tutorial series will cover the creation of a complete game with Lua and LÖVE. It's aimed at programmers who have some experience but are just starting out with game development, or game developers who already have some experience with other languages or frameworks but want to figure out Lua or LÖVE better.

The game that will be created is a mix of Bit Blaster XL and Path of Exile's Passive Skill Tree. It's simple enough that it can be covered in a number of articles without extending for too long, but with enough content that a beginner would feel uncomfortable with the code and end up giving up before finishing.

BERJAYA

It's also at a level of complexity that most game development tutorials don't cover. Most of the problems beginners have when starting out with game development have to do with scope. The usual advice is to start small and work your way up, and while that might be a good idea, if the types of projects you're interested in cannot be made any smaller then there are very few resources out there that attempt to guide you through the problems that come up.

In my case, I've always been interested in making games with lots and lots of items/passives/skills and so when I was starting out it was really hard to figure out a good way to structure my code so that I wouldn't get lost. Hopefully these tutorials can help someone with that.

BERJAYA


Requirements

Before you start there are some programming knowledge requirements:

  • The basics of programming, like variables, loops, conditionals, basic data structures and so on;

  • The basics of OOP, like knowing what classes, instances, attributes and methods are;

  • And the very basics of Lua, this quick tutorial should be good enough.

Essentially this is not for people who are just getting started with programming in general. Also, this tutorial series will have exercises. If you've ever been in the situation where you finish a tutorial and you don't know what to do next it's probably because it had no exercises, so if you don't want that to happen here then I recommend at least trying to do them.

BERJAYA


Contents

1. Game Loop

2. Libraries

3. Rooms and Areas

4. Exercises

5. Game Basics

6. Player Basics

7. Player Stats and Attacks

8. Enemies

9. Director and Gameplay Loop

10. Coding Practices

11. Passives

12. More Passives

13. Skill Tree

14. Console

15. Final



Comments on /r/programming

Comments on Hacker News

Comments on /r/gamedev

Activity

  1. athros commented on Feb 14, 2018

    @athros

    I’d recommend linking learnxinyminutes.com (https://learnxinyminutes.com/docs/lua/) rather than http://tylerneylon.com/a/learn-lua/ because the comments render everywhere.

  2. a327ex commented on Feb 17, 2018

    @a327ex
    OwnerAuthor

    @athros Thanks for pointing that out, I changed it.

  3. swapagarwal commented on Feb 20, 2018

    @swapagarwal

    Maybe use GitBook for organizing these tutorials? 😄

  4. ryukinix commented on Feb 20, 2018

    @ryukinix

    I liked the idea behind GitBook. Compile the whole stuff in a single document would be nice, though maybe we lost things like gifs that are useul sometimes to explain and demonstrate ideas, behaviors.

  5. a327ex commented on Feb 22, 2018

    @a327ex
    OwnerAuthor

    @swapagarwal @ryukinix I've looked into it but if I'm going to bother to use a platform other than github issues for my blog I'll probably just build my own site and serve content that way, since I'll have more control over it.

  6. encetroc commented on Sep 26, 2020

    @encetroc

    I actually learn how to code with your tutorial, this really opened my eye on how to think to solve a problem or add new features. I mean sure I studied coding at school but I didn't even know why we use classes or why we should use classes. but after following this it is all clear now.

  7. encetroc commented on Sep 26, 2020

    @encetroc

    Thank you <3

  8. yangruihan commented on Sep 27, 2020

    @yangruihan

    Thank you, I love it very much, can I get authorization to translate it into Chinese? :-)

  9. a327ex commented on Sep 28, 2020

    @a327ex
    OwnerAuthor

    Yes, you can. The entire tutorial is MIT licensed so you can do whatever with it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions