I cant improve at scripting

I have been scripting for about 6 months now, I know the basics but when I try to learn anything advanced I just can’t seem to do it. I heard pepole say “just script it” or “make small projects”, the thing is that I can’t. When I try to make them I just get stuck not knowing what to do next.
ANYTHING is helpfull.

4 Likes

This is one of the reasons why DevForum, many YouTube tutorials and the Documentation - Roblox Creator Hub exist. Hesitating to ask questions or not searching answers for them would be your biggest mistake. “There is no shame in not knowing something. The shame is in not being willing to learn.”

8 Likes

if you get stuck coding something, invest time into learning how to solve your issue. if it is watching a youtube tutorial or reading through documentation. and this will take time. when i started (not with luaU), i copy pasted code from youtube videos. at the beginning i had no clue what the code did, but after some time and me wanting to do something on my own, i was forced to understand the programming language somehow and that will gain you experience.

2 Likes

Thanks for the advice. I know that the tutorials and devforum are usefull. But I cant come to devforum and expect someone to make the whole game for me

1 Like

Yes, but I am too dependant on tutorials. I can’t make much things myself.

Do what you can, and when you realize you get stuck, ask yourself: What is the next step? How can I make this work with the current knowledge I have? You must have some knowledge that stuck around from the tutorials you’ve watched. See if you can come up with a solution yourself without resorting to tutorials. I recommend starting with something small so you don’t get frustrated. You can even make an entire game without watching any tutorials, but just using the current knowledge you have. Practice, practice, practice.

6 Likes

I used to mentor programming classes. When people get stuck in this way (not knowing what to do next) there are a couple possbilities:

  1. They have a question they are unable to put into language in order to research an answer
  2. They are only thinking in terms of programming they already understand, which limits their ability to try something new

I’m going to estimate that the second one applies more to you, since you’ve asked more of an open ended question instead of a “how do I do this” type question. This variation is easier to break out of.
For game design (but also designing systems in general), you have to be able to temporarily disconnect your thinking from what you are sure is possible to do, and think it terms of what needs to happen. In manager speak we call this “requirements engineering”.

As an exercise I want you to think of idea you’d like to work on, regardless of how difficult you think it’d be to actually finish. I can give you an example of how to requirements-engineer it without any reference to how it would be programmed, but which would make it easier to acquire research to do so.

4 Likes

I have been scripting for about the same amount of time as you, and what I have been doing is literally just making whatever I want. As long as you feel motivated to make something, I guarantee that you’ll eventually find out how to do it. For example, a while ago I wanted to make a sliding door, but with my knowledge at the time, I would just update the position of the door using a loop. I wasn’t satisfied, which led me to find out about tweening, and I have been using it ever since.

2 Likes

Use AI to help you code, focus on individual functions, passing arguments and returning variables. keep your code modularized and organized. A lot of coding is knowing what tools to use. You may not know how to write it immediately, but focusing on a goal and using references will get you far. Also, good organization and management of variables will take you even farther.

1 Like

You become a master at research and exploring possibilities. Keep a personal library of techniques that work for you. Sometimes knowing where the answers can be found is key.

From your question, it seems the only thing you’re missing is practice working with the commands and logic needed to build step by step. Knowing how to script is just the start… learning and mastering techniques is what separates programmers.

Example: Debouncing. “Debounce” isn’t a word or a command, It’s actually just a flag variable.
To debounce is a technique.

The other thing in your case is what I call getting punch-drunk while trying to learn what to do.
There is a lot to know and understand. Six months is very new to this. You are bound to hit that a few times before you get used to it. Just slow down, give yourself time to wrap your head around what you’re doing. It will come, and you’re learning more than you may think. One of the benefits of small projects. It’s like dipping your toe in without drowning in information.

2 Likes

is there any specific ‘system’ you’re struggling with?
as in, inventory, shooting, etc. etc.

1 Like

What people mean by “make small projects”, they mean simply pick a goal or something you want to recreate and do it. That means figuring out what you want to build, then you think about the steps needed. I am assuming the steps needed is the hard part for you. Let’s say you want to make something like a kill brick, something that kill a player when they touch it.

My thought process would be:
If a player needs to touch it, how might I detect the collision first?
If i didn’t know how to do that, I could search it up. Once you learned how to detect collisions, you now have learned a new tool that would be useful for the future.

We have collision, now how do I kill this player? Think about it or do some research. Set the player’s humanoid health to zero? break the joints?

Roblox developer wiki has lists of every function, event, and property for each instance type. A great programmer would make heavy use of it until they learn what they need to.

2 Likes

becouse people told you complete nonsense;
Instead you should spend as much of free time possible nerding documentation, typechecking (do it in the end after gaining more knowledge tho) and NEVER listen to people “Hey instead of spending time rationally learning Luau and API instead lern my crappy module​:brain::x:” , if you are struggling with math there a lot of good youtube videos for that, example being Interpolation,Inverse Interpolation tutorials
here i made some function regarding that:

--[[
Inverse Lerp Interpolation
Example:
(5,0,100) <strong>-></strong> 0.05
Takes <strong>value</strong> and interpets it between <strong>minimum</strong> and <strong>maximum</strong> and then returns a number from 0 to 1 representing procentage of <strong>value</strong> to reaching <strong>maximum</strong>
]]
local function iLerp(value:number, minimum:number, maximum:number):number
    return (value - minimum) / (maximum - minimum)
end

Conclusion:

  • Don’t get hooked on using someone’s module instead of learning API becouse its almost unescapable trap
  • Devforum has a lot of good tutorials about something and you must use it
  • Dont understand something? QUICKLY GOOGLE WHAT IS IT WHILE YOU HAVEN’T FORGOT WHAT YOU ARE LOOKING FOR
  • “Lets make a game after 3 month of learning” is straight up delusional and instead you should be locked in on learning EVEN MORE!
4 Likes

You said a lot of misconceptions regarding learning programming:

  • AI is useful only when you already know at least basics and want help on structuring idea otherwise AI will lead you to a wrong turn 90%.
  • “Balkanization” (modularization) is bad for both finding issue and does the opposite of organization in a long term not to mention insane hit on optimization and memory consumption. The module’s purpose is to share value across scripts mainly, being some kind of storage BUT NEVER BALKANIZATION OF CODE!

Everything else you said is correct, however.

2 Likes

lmao False. Modularization when done correctly is optimal in terms of memory usage. Instead of repeated text. the problem lies in bloated modules with bad coding practices. Also AI is well established to be useful for beginners so you are disagreeing while bringing a weak and false argument that is based on opinion and does not disprove anything I said.

This is less helpful than the other responses, but I appreciate your confidence.

Everybody learns at different paces and games can sometimes be a good way to gain experience. For instance, I started working on my first published game 3 months after I learned how to code. Some people have different learning paces, different lengths of time to devote to coding each day etc.

Again, different people learn in different ways, so just listing out your method as the ONLY good method of learning isn’t helpful. I learned by watching 3 series of tutorials within 2 weeks, and I think I turned out just fine.

For my pieces of advice, I would just say to start working on things you want to accomplish such as combat systems or round based systems, and when you run into an issue, just search your issue up on the forum, as many questions have already been answered.

That wild :cold_face::cold_face::cold_face:

Balkanization is a more approporiate term to your approach i think.
Why would you need splitting task in simulation of multiple threads?
Do you understand overhead in perfomance to do that?
Not to mention problems with typechecking and linting that comes with it aswell as harder to debug

Wrong wrong wrong.
Its the same as making person without education work on nuclear reactor

That is not true you get a stack error, it shows you the entire stack. The Debugger allows you to literally jump to that line. You have an issue with a module you change it once and it affects everything. You will not be able to manage hundreds of scripts with the same function or varied functions. This is not an argument and I’m not listening to your nonsense.

Why do you need module if you are not sharing a value?
Instances is COSTLY on memory.