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

BYTEPATH #0 - Introduction #30

Open
a327ex opened this issue Feb 14, 2018 · 10 comments
Open

BYTEPATH #0 - Introduction #30

a327ex opened this issue Feb 14, 2018 · 10 comments

Comments

@a327ex
Copy link
Owner

a327ex commented Feb 14, 2018

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.

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.


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.


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

@athros
Copy link

athros commented Feb 14, 2018

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

@a327ex
Copy link
Owner Author

a327ex commented Feb 17, 2018

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

@swapagarwal
Copy link

swapagarwal commented Feb 20, 2018

Maybe use GitBook for organizing these tutorials? 😄

@ryukinix
Copy link

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.

@a327ex
Copy link
Owner Author

a327ex commented Feb 22, 2018

@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.

@encetroc
Copy link

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.

@encetroc
Copy link

Thank you <3

@yangruihan
Copy link

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

@a327ex
Copy link
Owner Author

a327ex commented Sep 28, 2020

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

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

7 participants