Scripting developer roadmap

I am having a very difficult time remembering specific ways of doing things, perhaps getting the LocalPlayer is all good but doing things server side and being safe is a completely different ballpark.

Due to this I’ve been relearning and forgetting the same trivial bits of code over and over again (I advise you practice daily and don’t leave large breaks to forget)

My question is targeted towards seasoned scripters as I’ll have to go revise what I know again anyway:

If you could advise your younger self on a structured list of organisation of how you’d of learned to script:

For example;
Print statements
Syntax
Scope
Variables
Leaderboards
Functions
CFrame
Tweening

What would be the most optimal order to learn?

I find myself making project after project following tutorial after tutorial or unable to retain the information I’ve learned up to a specific point.

For example I learned datastore and now can’t even remember what pcall means!

4 Likes

Always, ALWAYS learn the base language before the engine. Trust me, it will save you from so much potential headaches in the future.

Lua
Base syntax – The start of it all
Metatables – OOP & Class structure, the backroot of the Roblox Engine
Coroutines – Threading and other very mysterious stuff…

String format – Not really necessary but would be nice to know

Luau
New features – Know the backported features from future versions of Lua
Modified syntices – Adopt the new syntax brought on by Roblox’s fork of Lua
Type annotations – Adopt a new programming technique for increased productivity

There is basically NO particular order for how you should learn the engine itself. Like you said, the best way to memorize the things that you do learn is by constantly utilizing them. You will learn as you keep developing; challenge yourself to make something and consult the documentation whenever necessary.

But if you still want a list:

Services – You will slowly touch upon all of them as you keep learning
Events & Connections – This do that and that do this
Math stuff – Linear algebra with Vector3s, matrices with CFrames
3D stuff - Raycasts, Shapecasts, Spatial Query, Meshes & Modeling
Graphic User Interface – Scripting UIs
CoreScripts – Learn how to modify the default Roblox experience
Compatibility – Branch out your game to work on other platforms and device types
More math stuff – Trigonometry and the rest of the math library
Webhooks – Connect your game to the rest of the internet
Plugins – Augment your own experience and others
Parallel Luau – Near the bottom of the iceberg

5 Likes

I had suggested to a friend the other day to run over a basic LUA Visual Studio code and just go through the entire language manual or follow a instructor and they said ROBLOX’s language is different I entirely understand the differentiations but they heavily advised to avoid and you’re saying you heavily advise I do?

Thank you for this clarity.

Roblox’s Luau is tailored towards the game engine. It’s got it’s own kinds of optimizations and features that are meant for you to use and take advantage of.

1 Like

Sorry, I’ll re-iterate to prevent further confusion.

Apologies I’m not completely used to typing on iPhone and my message may have been slightly misconstrued; I am always seeing people referring me to the official LUA documentation(https://www.lua.org/) but have always struggled to get further than printing a LUA document or running it in the IDE provided from the links you show.

But are you suggesting, I get to grips with the base LUA, how do I install it as it’s not working with my VS-Code?

I was saying prior people had advised against this, I’m quite familiar with the ROBLOX Engine in terms of building, importing models, creating tools it’s just when I go to code, I’m in a stage of stage block and unable to comprehend my thought’s correctly.

I genuinely don’t know why I’m not retaining information.

You can play around with the base Lua just fine using Roblox or any online interpreter, it doesn’t need to be an official installation on a mainstream IDE. They all more or less have the same exact layout, you just conform to the language manual and mess around, that’s all.

I am suggesting that you learn the basic first since things can get confusing after you introduce the Roblox API before knowing the fundamentals of Lua. An example would be the colon operator; you see it really often coding in Roblox, but do you really know what it does, and what happens if you misuse it? Knowing what can go wrong really helps with troubleshooting too.

Information is best retained when it is frequently accessed. You will just need to keep practicing on using the new things you learn.

1 Like

Since we’ve opened the discussion, what is the ; operator for? I know in JavaScript it’s actually pretty much optional but in terms of LUA I’ve seen it a few times and even incorporated it as I began to think it was essentially just free choice lol

I was talking about the colon : operator :stuck_out_tongue:

But for semicolons ;, it is largely personal choice, for coding consistency since other languages use it

However, it has a proper use in Lua, that being to disambiguate funny syntaxes:

local a = b
(c or d)() --is this a function call of the function "b"?

--two interpretations:

--1)
local a = b(c or d)() --this is all a single statement; b(c or d) is an expression that returns another function

--2)
local a = b;
(c or d)() --this is a separate statement; the expression (c or d) is a function that is being called

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.