Roblox is one of the most popular sandbox games constructed of Lego-like blocks with more than 65 million active users per month. It is a massively multiplayer online game creation platform for users to design and develop their own games as well as to play games created by other developers.
Instead of using blocks to code our games, we will code our games with Lua! Lua is a lightweight programming language which is designed for multiple applications such as games and web applications. It’s lightweight because it is designed to have very little memory and has a minimalist syntax style. In this course, we’ll learn to create variables, loops and write conditional statements in Lua. Apart from learning to code in Lua, we’ll also learn to use other features such as creating constraints to objects and adding GUIs to our games.
Students are expected to have either taken a blocks-based coding course on Roblox before or have any prior blocks-based programming experience plus experience using Roblox Studio before.
(1) Having taken Roblox Level 1.
(2a) Having played Roblox games before and have a brief idea how to use Roblox Studio. Those without experience with Roblox Studio will find this course tough as we have already covered the basics of using Roblox Studio in Roblox Level 1, and
(2b) Having taken a blocks-based coding course (e.g. AX101).
Session 1: Introduction to Lua
In this lesson, we will review some of the key concepts covered in Roblox Level 1.
We will also go over the basics of how to use Roblox Studio and we’ll introduce some Lua syntax.
Project: Re-designing the Obby Game
Students will create an exciting Obby Game with platforms that will flash on and off, and some will move according the position of the hinges.
Session 2: Gravity in Roblox
In this lesson, we will introduce the concept of gravity. We’ll learn to reduce the gravity of objects in lua.
We’ll also review how to create a scoreboard for our game
Project: Fighting zero gravity
Students will create a game room in which things inside have zero gravity and are floating. In this game, players have to get certain items to gain a point.
Session 3: Variables and Cloning Objects in Roblox
In this lesson, we will re-introduce the concept of cloning. Different from what we’ve covered in Roblox 1, we’ll not clone small objects or obstacles. Instead, we’ll look at how to re-create the popular Roblox game, “Flood Escape”, using cloning.
We’ll also review the concept of variables and we’ll review how to create a countdown timer with Lua language.
Project: Bubbles Attack (name to be confirmed)
We’ll create a game similar to Flood Escape. Instead of having corrosive liquid, we’ll use large spheres (e.g. bubbles). We’ll also learn to build our own towers/platforms.
When the game starts, there’ll be bubbles growing from the ground. Players have to avoid them by jumping on different platforms/towers, or crossing bridges and going through the correct doors to go higher and higher. If the players are not fast enough, they’ll be engulfed by the bubbles.
Session 4 : Introduction to GUIs
We’ll introduce what GUIs are and we’ll talk about some examples of using GUIs in games.
We’ll also look into interactive surface GUIs.
Project: Maze Game
Students will create GUI buttons and we’ll use a maze from the toolbox. In this game, players have to move an object out of the maze using GUI buttons and give it to the player. There’ll be a timer showing how much time the player has taken.
Session 5 : Conditionals in Lua
We’ll review the concept of conditionals. We’ll learn how to write conditional statements in Lua. Then, we’ll apply it in our project.
Project: Switching Tracks (name to be confirmed)
Students will design a two (or multiple) tracks game.
There’ll be pedestrians crossing the tracks. In this game, players have to switch the trains while the pedestrians are crossing that track. If the pedestrians get hit by the trains, the game will end.
Session 6 : Randomness
We’ll review the concept of randomness and we’ll learn how to write conditional statements in Lua.
Project: [a game that involves randomizing things.]
Session 7: Constraints in Roblox Studio
We’ll look into different constraint settings in Roblox Studio. Examples are rope constraint, spring constraint, ball-socket constraint, etc.
We’ll build a game using those constraints.
Session 8 : Theme-based Roblox game
We’ll discuss a theme to work on together.
We’ll also explore a feature that we’ve not used earlier and we’ll apply this in our project.
Session 9: Project Time 1 (Design the game scene)
In this lesson, we’ll do a thorough review of the concepts we have covered in this course.
Then, we’ll move on to planning how we want our game to be and designing the game scene.
Session 10: Project Time 2 (Code & Debug)
In this lesson, we’ll code our game so as to bring our game to life.
We’ll also debug our game if needed.
Finally, we’ll prepare a short presentation about our final project and demonstrate it in class.
We believe in developing a personal relationship with the student. Our instructors are as much teachers as we are facilitators, and coach for our students' learning. By ensuring a small class, each student benefits from maximum attention from instructor and teaching assistant, and at the same time, learns from peers.
Our courses are designed for students to run at their own pace. Our curriculum is level-based for each module, meaning that each student can learn at their own appropriate, customized pace.
First Code classrooms are messy, chaotic and we love it! We believe in hands-on creation, experimental learning and lots of discussion.
What happens after this holiday? Like learning any other language, learning to code is best done through an immersive, continual commitment. We offer a multi-year curriculum that allows students to deepen and broaden their interests in computer science and software development.