a327ex / blog

gamedev blog
3.26k stars 143 forks source link

BYTEPATH #0 - Introduction #30

Open a327ex opened 6 years ago

a327ex commented 6 years ago

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:

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 commented 6 years ago

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 commented 6 years ago

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

swapagarwal commented 6 years ago

Maybe use GitBook for organizing these tutorials? 😄

ryukinix commented 6 years ago

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 commented 6 years ago

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

upgradeQ commented 4 years ago
Answers - [Game Loop ](https://raw.githack.com/a327ex/BYTEPATH/master/tutorial/answers/01%20-%20Game%20Loop%20Answers.html) - [Libraries ](https://raw.githack.com/a327ex/BYTEPATH/master/tutorial/answers/02%20-%20Libraries%20Answers.html) - [Rooms and Areas ](https://raw.githack.com/a327ex/BYTEPATH/master/tutorial/answers/03%20-%20Rooms%20and%20Areas%20Answers.html) - [Exercises ](https://raw.githack.com/a327ex/BYTEPATH/master/tutorial/answers/04%20-%20Exercises%20Answers.html) - [Game Basics ](https://raw.githack.com/a327ex/BYTEPATH/master/tutorial/answers/05%20-%20Game%20Basics%20Answers.html) - [Player Basics ](https://raw.githack.com/a327ex/BYTEPATH/master/tutorial/answers/06%20-%20Player%20Basics%20Answers.html) - [Player Stats and Attacks ](https://raw.githack.com/a327ex/BYTEPATH/master/tutorial/answers/07%20-%20Player%20Stats%20and%20Attacks%20Answers.html) - [Enemies ](https://raw.githack.com/a327ex/BYTEPATH/master/tutorial/answers/08%20-%20Enemies%20Answers.html) - [Director and Gameplay Loop ](https://raw.githack.com/a327ex/BYTEPATH/master/tutorial/answers/09%20-%20Director%20and%20Gameplay%20Loop%20Answers.html)
encetroc commented 4 years ago

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 commented 4 years ago

Thank you <3

yangruihan commented 4 years ago

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

a327ex commented 4 years ago

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