Lua is a simple language by design. Once you know the basics of the language, you next need to get the Roblox API down.
In case you don’t know, the API refers to all the services and functions that let you interact with the game.
The functions contained within it will be really important to you in the future. Understanding them will really help you do some good scripting.
Once you know the tools, you should start to learn how best to use them. Take some quick game ideas and practice problem solving and game programming in general by trying to make a simple concept for the game.
Once you can solve the problems you need to, you will want to learn how to structure code for success. Look up OOP and try out making a larger scale game. Building something which is larger and more difficult to maintain will teach you about the concepts of code structure and maintaining code the right way.
Hopefully, all of that will be enough to be getting on with. In the end, programming is like a sport: you can only really start to understand how to get better, what is right and wrong and what you need to do next by just doing it. Onwards and upwards!
PS: something that can really teach you about a good way to make some games is by looking at the template games included with studio and the code for some uncopylocked games. Generally, these games do it quite well. Never be afraid to learn from somebody else’s code.
Absolutely. Basically, you try to organise the logic for each object in your game into objects in your code. This allows you to keep the logic and data for an object or concept in your code contained.
For example, you might have an object for a chair with data about the chair and methods for sitting in it or moving it. You may have another object for a door, with methods for opening and closing it. You could also have data about if the door is open or not.
It’s difficult to explain really; I could go into too much detail and talk about when and when not to use it, why it’s important in games in particular and other stuff, but I’ll instead just link you to another kind person who did that for me:
Some buzzwords tend to be thrown around, but don’t let them frighten you, please! They are usually just describing something really easy in an over complicated way.
The clue is in the name: object oriented. You orient your code around objects!
Yes! Anything that you consider achievable and fun to do would be great. After making a bare-bones game, maybe try adding to your code and challenging yourself to keep it organised and easy to update.
In the long run, these are the kinds of skills that you will really appreciate learning.
Keep going at it and you will see why things like OOP are important.