RoCourseRoCourse

All lessons

Work through the course in order, or jump straight to a topic. Lessons build on each other, so following the sequence works best.

Getting Started

7 lessons

Install Roblox Studio and learn to find your way around it before writing a single line of code.

Luau Basics

19 lessons

The building blocks of every script: variables, types, functions, conditionals, loops, tables, timing, and events.

Recap — a quick tour of the start

A short refresher over Studio, parts, playtesting, and reading errors before the real coding begins.

Scripts — where code lives and runs

What a script actually is, the difference between Scripts and LocalScripts, and how instructions run top to bottom.

Variables — remembering things

Store a number, a word, or an object in a named box called a variable, and change what's inside it.

Naming variables well

The naming rules every variable follows, the camelCase style Roblox uses, and why good names beat good luck.

Types — numbers, strings, and booleans

The kinds of values you can put in a variable, why "1" is not 1, and how to convert between them.

Numbers and math

Add, subtract, multiply, divide, and find remainders — the arithmetic your game does a thousand times a day.

Strings — text in code

Quotes, concatenation with .., and building messages that include numbers — text is how your game talks to players.

Booleans — yes, no, maybe

True and false, comparing values with == and friends, and combining questions with and / or.

Functions — reusable instructions

Wrap a job in a named function, give it inputs, and call it whenever you need that job done.

Getting answers back — return

A function that computes a result and hands it to you with return — so calls become values.

Conditionals — if this, then that

Make your scripts decide things — check a condition, and run different code depending on the answer.

Loops — doing things over and over

Run code forever, or until a condition changes — the heartbeat of every game.

Counting with for loops

When you know how many times to run, let for keep the counter — reward every player, spawn 5 obstacles, print 1 to 10.

Tables — boxes that hold many things

List values in one box, count them, and pull values out by number — your first data structure.

Timing — task.wait and friends

Pause a script, schedule work for later, and run two things at once — the clock behind every animation.

Comments — notes for your future self

Leave plain-English notes in your code with -- so you and anyone else can understand what a script does.

Events — reacting to the world

Instead of watching and waiting, let Roblox call your code when something happens — a touch, a click, a player joining.

Bug hunt — the language core

Hunt down real bugs in variables, conditionals, loops, and functions — and type the one-line fixes.

Drag and drop — arrange the code

Assemble working scripts from shuffled lines — functions, choices, loops, and events — without typing a thing.

Player Data

11 lessons

Leaderboards, saving between visits, and why the server — never the client — is the source of truth.

Recap — the Luau toolbox

Refresh variables, functions, conditionals, loops, tables, and events — the parts of the language you'll use all course long.

leaderstats — the player leaderboard

Show each player's stats at the top-right of the screen, and update them from scripts.

Players — who is in your game

The Players service, the PlayerAdded event that greets everyone who joins, and why the server knows who's asking.

UserId — the permanent key

Player names change and get recycled — UserId is the number that identifies one person forever.

DataStores — saving between visits

Give your game a real memory with DataStoreService, so a player's coins survive the game closing.

Loading a player's data

Pull a player's save on join, default brand-new players to zero, and hand the number to leaderstats.

The save loop and autosave

Save on leave, and back that up with periodic autosaves so a crash can't wipe an hour of progress.

Data security — never trust the player

Why the server is the only one who can give out coins, and what happens when you forget.

RemoteEvents — the client asks, the server decides

The secure bridge between player and server, and the pattern that keeps your economy safe.

Bug hunt — player data

Hunt down the classic save-and-load bugs — swapped keys, missing defaults, and a leaderboard that never appears.

Drag and drop — the save loop

Assemble load-on-join, save-on-leave, autosave, and the secure click flow from shuffled lines.

Game Systems

11 lessons

Build a working clicker game: GUIs, currency, upgrades, and the client-server bridge that keeps it secure.

Recap — player data and trust

Refresh leaderstats, saving with DataStores, and the rule that the server decides — before you build your first real game systems.

GUIs — building interfaces in code

Create ScreenGui, Frame, and TextButton elements from a script, and lay out a simple on-screen button.

UDim2 — sizing and placing GUI

The scale-and-offset coordinate system that keeps GUIs on the right spot at every screen size.

Making GUIs look good

Colors, text styling, rounded corners, and transparency — the properties that turn boxes into an interface.

The clicker game — clicks become coins

Build your first playable loop — click a big button, earn coins, watch your balance climb, all through the secure client-server bridge.

Idle income — coins without clicking

A server loop that pays every player every second — your first passive mechanic and a classic idle-game heart.

Upgrades — spending coins with the server checking the bill

Build a shop where players buy click multipliers, and the server verifies the price before anything changes.

The shop panel — a frame full of buttons

Build the upgrade shop's interface — a panel frame, a buy button, and a label that mirrors the server's data.

ModuleScripts — organizing your code

Split one giant script into reusable, readable pieces with ModuleScripts and require.

Bug hunt — game systems

Find the security slips, the runaway loops, and the silent failures in your clicker, idle income, and shop.

Drag and drop — the shop

Assemble the buy button, the server's checkout counter, idle income, and the live UI updates from shuffled lines.

World & Players

9 lessons

Parts, attributes, sounds, players and their characters, and smooth tweens that make the world feel alive.

Publishing & Testing

4 lessons

Put your game online, enable real data store saves, and run the full persistence loop.

Leveling Up

5 lessons

Read errors like a pro, debug systematically, and map what comes after this course.

Final Project

2 lessons

Assemble every system into one complete, publishable clicker game — then run the playtest that proves it works.