SKIP THE SHIPPING
Use code NOSHIP during checkout to save 40% on eligible eBooks, now through January 5. Shop now.
Register your product to gain access to bonus material or receive a coupon.
This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
PDF The popular standard, used most often with the free Acrobat® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
PDF The popular standard, used most often with the free Acrobat® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
Straight from Roblox: the easy, step-by-step, full-color introduction to building great games with Roblox
Coding Your First Project with Roblox and Lua
Download the sample pages (includes Hour 1)
Hour 1: Coding Your First Project
Installing Roblox Studio
Let's Take a Tour
Opening the Output Window
Writing Your First Script
Error Messages
Leaving Yourself Comments
Hour 2: Properties and Variables
Object Hierarchy
Keywords
Properties
Finding Properties and Data Types
Creating Variables
Changing the Color Property
Instances
Hour 3: Creating and Using Functions
Creating and Calling Functions
Understanding Scope
Using Events to Call Functions
Understanding Order and Placement
Hour 4: Working with Parameters and Arguments
Giving Functions Information to Use
Working with Multiple Parameters and Arguments
Returning Values from Functions
Returning Multiple Values
Returning Nil
Dealing with Mismatched Arguments and Parameters
Working with Anonymous Functions
Hour 5: Conditional Structures
if/then Statements
elseif
Logical Operators
else
Hour 6: Debouncing and Debugging
Don't Destroy, Debounce
Figuring Out Where Things Go Wrong
Hour 7: while Loops
Repeat Forever, while true do
Some Things to Keep in Mind
while Loops and Scope
Hour 8: for Loops
How for Loops Work
Nested Loops
Breaking Out of Loops
Hour 9: Working with Arrays
What Are Arrays?
Adding Items Later
Getting Information from a Specific Index
Printing an Entire List with ipairs()
Folders and ipairs()
Finding a Value on the List and Printing the Index
Removing Values from an Array
Numeric for Loops and Arrays
Hour 10: Working with Dictionaries
Intro to Dictionaries
Adding and Removing from Dictionaries
Removing Key-Value Pairs
Working with Dictionaries and Pairs
Returning Values from Tables
Hour 11: Client Versus Server
Understanding the Client and the Server
Working with GUIs
Understanding RemoteFunctions
Using RemoteFunctions
Hour 12: Remote Events: One-Way Communication
Remote Events: A One-Way Street
Communicating from the Server to All Clients
Communicating from the Client to the Server
Communicating from the Server to One Client
Communicating from Client to Client
Hour 13: Using ModuleScripts
Coding Things Just Once
Placing ModuleScripts
Understanding How ModuleScripts Work
Naming ModuleScripts
Adding Functions and Variables
Understanding Scope in ModuleScripts
Using Modules in Other Scripts
Don't Repeat Yourself
Dealing in Abstractions
Hour 14: Coding in 3D World Space
Understanding X, Y, and Z Coordinates
Refining Placement with CFrame Coordinates
Offsetting CFrames
Adding Rotations to CFrames
Working with Models
Understanding World Coordinates and Local Object Coordinates
Hour 15: Smoothly Animating Objects
Understanding Tweens
Setting TweenInfo Parameters
Chaining Tweens Together
Hour 16: Solving Problems with Algorithms
Defining Algorithms
Sorting an Array
Sorting in Descending Order
Sorting a Dictionary
Sorting by Multiple Pieces of Information
Hour 17: Saving Data
Enabling Data Stores
Creating a Data Store
Using Data in the Store
Limiting the Number of Calls
Protecting Your Data
Saving Player Data
Using UpdateAsync to Update a Data Store
Hour 18: Creating a Game Loop
Setting Up Game Loops
Working with BindableEvents
Hour 19: Monetization: One-Time Purchases
Adding Passes to Your Experience
Configuring the Pass
Prompting In-Game Purchases
Hour 20: Object-Oriented Programming
What Is OOP?
Organizing Code and Projects
Making a New Class
Adding Class Properties
Using Class Functions
Hour 21: Inheritance
Setting Up Inheritance
Inheriting Properties
Working with Multiple Child Classes
Inheriting Functions
Understanding Polymorphism
Calling Parent Functions
Hour 22: Raycasting
Setting Up the Function to Raycast
3D Math Trick: Getting the Direction
Setting Raycast Parameters
3D Math Trick: Limit Direction
Hour 23: Plopping Objects in an Experience: Part 1
Setting Up the Object
Creating a Plop Button
Tracking Mouse Movements
Previewing the Object
Hour 24: Plopping Objects in an Experience: Part 2
Detecting Mouse Input
Sending a Message to the Server
Getting the Message
Appendix A: Roblox Basics
Keywords
DataType Index
Operators
Naming Conventions
Animation Easing
Possible Solutions to Exercises
9780136829423 TOC 10/19/2021