We may earn an affiliate commission when you visit our partners.
SimTek Game Development

In this class you will learn how to create a Roblox game and become proficient with Roblox Studio, the game development suite used to create Roblox games.  You will also develop your ability to code in the LUA programming language.  LUA is a popular language in the game development community and is also used in fields such as image processing and web development.  This course has a section for beginners on basic programming skills such as declaring and using variables, assignment statements, conditionals, loops, tables, and functions.  After the basics are covered, the course gets into more challenging topics such as touched events, powerups, traps, spawning objects and NPC monsters, as well as the leaderboard to keep track score and points.  Additionally, the user interface is covered while creating an in-game store for your players to buy the weapons they need.  This course will be updated periodically and currently the videos are being recreated at a rate of once per week to ensure the expanded functionality of Roblox is fully captured.  Additionally, new content is on its way to cover basic Non-Playing Character AI, a section on creating your own weapons, creating animations, and using the data store to allow players to save their data in between games.

Enroll now

What's inside

Syllabus

Getting Started

In this video, I show you how to get a Roblox account, install Roblox Studio, create a simple game with one part, test your game, and save it to Roblox. 

Roblox Studio: (for building Roblox games)

https://www.roblox.com


For movement: 

W front, A left, D right, S back (both playing and building).  Look around by holding down the right mouse button. 


For your windows: 

View tab -> Explorer (stuff in your game)

View tab -> Properties (if you click on something in the explorer window it shows its properties)


Read more

Change a part's properties such as size, position, color, material, and orientation (rotation).  Also add a spawn location to control where you join the game.


Properties:

Position - x, y z coordinates of where the part in located in the world

Size - x, y, z values of the part's size

Rotation - x, y, z for angular orientation of you part

BrickColor -  named color of the part in named values

Color - matches brickcolor but gives you RGB

CanCollide - things can bump into the part during game play

Anchored - the part is fixed to a position

Transparency - a scale from 0 - 1 that controls the transparency or opacity of you part.


Create your first script and print statements to the output window.  Also, this video shows you how to create a comment and make your "Output" window visible.

This video introduces variables, assignments, and three data types: number, string and Boolean.

In this video we use a script to access and change a game object's transparency and color.

This video introduces the Vector3 data type and how it is used to change a part's position and size. URL to Roblox datatype documentation: https://create.roblox.com/docs/reference/engine/datatypes

In this video I create a script and attach it to a part.  With the script, I change the part's properties so that it looks like a patio.

In this video I introduce the if statement.  If a condition is true, execute the code.  I also demonstrate elseif, else, and the logical operators "and" and "or" 

In this video, I show you how to create a function, call the function, and pass in variables.

Scripting Basics: More on Functions
Scripting Basics: Handle an Event with a Function

Connect the "Touched" event from a part to a function so that it is called when you touch the part.

Learn about the Humanoid in a character and how to access and change it's Health and MaxHealth within a script.  Use the Touched event in a pickup to call a function to replenish your player's health.

Create a coin that rotates in the air using a while do loop, when you touch it, you get increased speed and jumping abilities.

In this lesson we will break the while loop condition to stop the coin from Rotating.  I will use the coin in the last video.  If you need a copy of the coin, get it here: https://www.roblox.com/library/10832103835/Coin


Today I'm going to introduce a progamming construct called a table


When we want to store a bunch or things in one variable, we use a table 

Tables hold a collection of things (numbers, parts, etc)

Scripting Basics
Game Objects

Building a Boulder Trap

Add the parts for the boulder trap.  No scripting in this one.

Add functionality to the boulder trap setting the touched event to set the boulder rolling.

Reset the boulder trap after it's been triggered.  This lesson includes spawning new parts, the debris service, capturing the destroying event.

Sound - get a sound

https://www.roblox.com/library/10972741222/Boulder-Sound

Boulder Trap: Create a Thumbnail for the Model

Log into Roblox and create a badge for your game!

Award the Boulder Trap Trigger badge to players that triggered the Boulder Trap

Boulder Trap Cleanup and Delete Badge from Inventory
Simple Zombie Horde Spawner
Simple Zombie Horde Spawner: Spawn Loop
Simple Zombie Horde Spawner: Configuration
Simple Zombie Horde Spawner: Barrel
Simple Zombie Horde Spawner - Turn ON/OFF Spawner

Decals for the Biohazard Barrel

https://www.roblox.com/library/11179429544/Images-Biohazard-90-Left

https://www.roblox.com/library/11179419559/Images-Biohazard-90-Right

Lecture 9: Landmines

Make your landmine explode when someone steps on it. 

Landmine - Blinking LED
Landmine - Explosion

Create a teleporter to relocate your character within the scene (modeling the system)

Teleportation Unit A
Teleportation Unit B
Teleportation Unit C
Teleporter Script - Pad A to Pad B
Teleporter Script - Pad B to Pad C and Music

Final stage of the teleportation system, where you escape to a third location

Introduction to the terrain editor and use it to prepare our terrain for a lava eruption.

Terrain Editor - Region and Edit
Lava Pool Intro
Lava Pool - Build Pool
Lava Pool - Expand Lava
Lava Pool - Drain Lava
Lava Pool - Sound and Damage
Spawning Objects
Add Game Objects to Server Storage
Wave Loop and Session Utilities
Spawn Zombies
Zombie Counting - Controlling the Wave
Zombie Counting - Increase Spawns and Clear Wave
Caution Minefield Sign
Spawn Landmines
Terrain Height, Ray Casting, Health Spawner
Lava Eruption with Bindable Events
Leaderboard, Pistol, Kills and Deaths
Leaderboard - Points, Kills, and Deaths
Adding Points to the Leaderboard - Coins
Default Value in SessionUtils - castRayDownForHeight
Performance Cleanup
Coin Award (Part 1)
Coin Award (Part 2)
Simple Gun
Kills and Deaths on the Leaderboard
Points for NPC Kills
Exclude Accessories in Shot
Weapon Cool-Down
Kickback Animation for Pistol
Lecture 70: Muzzle Flash
Saving Data Between Sessions
The Datastore - Saving Between Sessions
Save Leaderboard Data (Part 1)
Save Leaderboard Data (Part 2)
Bad Data on Kick
Daily Streak
Create a Message Queue - Part 1
Create a Message Queue - Part 2
Add Simple Message Queue to Zombie Game
Purchasing Items In Game - Game Passes
Create a Shop
Shop: Get Resources
Shop: Click the Bell and Fire Event to Client
Shop: Close Button and Add Ding on Opening
Shop: Adding Items to the List
Shop: Preview Frame for Selected Items
Shop: Buy Button Code
Shop: Server-side Purchase
Shop: Provide Feedback
Shop: Error Checks for Purchases
Persisting Shop Items - Create Equipment Storage Utils
Persisting Shop Items - Storing Data in Equipment Table
Persisting Shop Items - Save and Retrieve the Equipment
Code Cleanup in Game Manager

Save this course

Save Roblox Programming and Game Creation to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Roblox Programming and Game Creation with these activities:
Review Lua Basics
Reinforce your understanding of Lua programming fundamentals before diving into Roblox scripting. A solid grasp of Lua syntax, variables, functions, and control structures is essential for success in this course.
Show steps
  • Read a Lua tutorial or guide.
  • Write simple Lua scripts to practice basic concepts.
  • Review examples of Lua code.
Read: Roblox Game Development
Expand your knowledge of Roblox game development with a dedicated guide. This book covers a wide range of topics, from scripting to game design.
Show steps
  • Read the chapters relevant to your interests.
  • Try the examples in Roblox Studio.
Review: Programming in Lua
Deepen your understanding of Lua programming with a comprehensive guide. This book provides a solid foundation in Lua, which is essential for advanced Roblox scripting.
Show steps
  • Read the chapters relevant to the course topics.
  • Try the examples in Roblox Studio.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Create a Simple Roblox Game
Apply your knowledge by building a small, self-contained Roblox game. This hands-on project will solidify your understanding of Roblox Studio and Lua scripting.
Show steps
  • Design a simple game concept.
  • Build the game environment in Roblox Studio.
  • Script the game logic using Lua.
  • Test and refine your game.
Build a Reusable Roblox Model
Create a reusable model, such as a weapon or a building, to practice your Roblox Studio skills. This will help you understand how to create modular game assets.
Show steps
  • Design a model with specific functionality.
  • Build the model in Roblox Studio.
  • Script the model's behavior.
  • Test the model in a game environment.
Document Your Roblox Game Creation Process
Improve your understanding and retention by documenting your game creation process. Explaining your code and design choices will reinforce your learning.
Show steps
  • Record your screen while building and scripting.
  • Annotate your code with comments.
  • Write a blog post or create a video tutorial.
Contribute to a Roblox Open-Source Project
Enhance your skills by contributing to an existing Roblox open-source project. This will expose you to different coding styles and project management practices.
Show steps
  • Find an open-source Roblox project on GitHub.
  • Review the project's code and documentation.
  • Identify a bug or feature to work on.
  • Submit a pull request with your changes.

Career center

Learners who complete Roblox Programming and Game Creation will develop knowledge and skills that may be useful to these careers:
ROBLOX Developer
A Roblox developer specializes in creating games and experiences within the Roblox platform. This course directly prepares you for this role by teaching you how to use Roblox Studio and the Lua programming language, the primary tools for Roblox development. The course delves into topics like creating interactive elements, designing user interfaces, and implementing game mechanics specific to the Roblox environment. Furthermore, the course covers advanced topics, such as creating animations, and saving data between games. By the end of the course, you'll have the skills and knowledge to develop your own Roblox games from scratch. One who wants to become a Roblox developer should consider taking this course.
Game Developer
A game developer designs and creates video games for various platforms. This course helps build a foundation in the fundamentals of game development using Roblox Studio and the Lua programming language, which are valuable assets for any aspiring game developer. The course covers essential concepts such as scripting, object manipulation, event handling, and user interface design, all of which directly translate to the broader field of game development. The section on creating your own weapons, creating animations, and using the data store to allow players to save their data in between games may be useful. One who wishes to become a successful game developer should consider taking this course.
Game Designer
A game designer conceptualizes and designs the gameplay, rules, and overall experience of a video game. This course helps you understand the practical aspects of game design by guiding you through the process of creating your own Roblox game. You'll learn how to implement game mechanics, design levels, and create engaging user experiences. The course covers essential game design principles such as player progression, reward systems, and user interface design. In particular, the sections on creating an in game store for your players to buy the weapons they need, and creating animations may be useful to you as a designer. One who wants to become a successful game designer should consider taking this course.
Lua Programmer
A Lua programmer develops software using the Lua scripting language. This course provides a great introduction to Lua programming, teaching you the basics of syntax, data structures, and control flow. While the course focuses on game development within Roblox, the Lua skills you learn are transferable to other domains where Lua is used, such as embedded systems, web development, and image processing. You may find that the course equips you with a solid foundation in Lua. One who wants to become a Lua programmer should consider taking this course.
Interactive Developer
An interactive developer creates engaging and interactive experiences for websites, games, or other applications. This course helps you develop the skills needed to create interactive elements within a virtual environment using Roblox Studio and Lua. You'll learn how to handle user input, trigger events, and create dynamic behaviors that respond to user actions. The course covers essential concepts such as event handling, user interface design, and game mechanics. One who wants to become an interactive developer should consider taking this course.
Content Creator
A content creator produces various forms of digital content, such as videos, tutorials, and articles, for online audiences. This course helps you develop the skills to create engaging content related to Roblox game development. You can use your knowledge of Roblox Studio and Lua to create tutorials, showcases, and behind the scenes videos for your audience. The course provides you with a solid foundation in Roblox game development, which enables you to share your expertise with others. One who wants to become a content creator should consider taking this course.
Simulation Developer
A simulation developer creates virtual environments and models for training, research, or entertainment purposes. This course may be useful by providing you with experience in building interactive virtual worlds using Roblox Studio. You'll learn how to create realistic environments, simulate physical phenomena, and program interactive behaviors using Lua. The skills you gain in this course, such as object manipulation, event handling, and user interface design, are applicable to the development of various types of simulations. The section on terrain editing might be useful to you. One who wants to become a simulation developer should consider taking this course.
Educational Game Developer
An educational game developer creates games that are designed to teach specific skills or concepts. This course may be useful by providing you with the tools and knowledge to create engaging and interactive learning experiences within Roblox. The course covers essential game development concepts such as game mechanics, user interface design, and event handling, which can be applied to the creation of educational games. The Lua programming language is also covered. One who wants to become an educational game developer should consider taking this course.
Software Developer
A software developer designs, develops, and tests software applications. This course helps build a foundation in programming concepts using the Lua language. The course covers essential programming skills such as variables, data types, control flow, functions, and object oriented programming. While the course focuses on game development, the programming skills you learn are transferable to other software development domains. The section on using tables for data management may be useful, as well as understanding the basics of coding from declaring and using variables, assignment statements, conditionals, and loops. One who wants to become a software developer should consider taking this course.
Virtual Reality Developer
A virtual reality developer creates immersive experiences for virtual reality platforms. This course may be useful by providing you with experience in building 3D environments and interactive elements using Roblox Studio. While Roblox is not primarily a virtual reality platform, the skills you learn in this course, such as object manipulation, event handling, and user interface design, are transferable to virtual reality development. One who wants to become a virtual reality developer should consider taking this course.
Mobile Game Developer
A mobile game developer creates games specifically for mobile devices such as smartphones and tablets. This course may be useful by introducing you to the fundamentals of game development using Roblox Studio and Lua. While Roblox is not exclusively a mobile game platform, the skills you learn in this course, such as game mechanics implementation, user interface design, and event handling, are applicable to mobile game development. One who wants to become a mobile game developer should consider taking this course.
Technical Artist
A technical artist bridges the gap between artists and programmers, ensuring that art assets are optimized for use in games and other interactive applications. This course may be useful by providing you with a basic understanding of game development workflows and scripting using Lua. You'll learn how to manipulate game objects, handle events, and create visual effects using Roblox Studio. This knowledge can help you collaborate more effectively with programmers and artists on game development projects. One who wants to become a technical artist should consider taking this course.
Web Developer
A web developer builds and maintains websites and web applications. This course may be useful by introducing you to the Lua programming language, which can be used in web development contexts, particularly in conjunction with web servers. While the course focuses on game development within Roblox, the Lua skills you learn can be applied to web development projects. You may find that some of the basic programming skills may be useful. One who wants to become a web developer may find this course somewhat helpful.
Data Scientist
A data scientist analyzes large datasets to extract meaningful insights and trends. This course may be useful by introducing you to basic programming concepts and data structures using Lua. While the course focuses on game development, the programming skills you learn can be applied to data analysis tasks. You may find that the section on using tables is useful. One who wants to become a data scientist may find this course somewhat helpful.
Project Manager
A project manager oversees and coordinates projects, ensuring they are completed on time and within budget. This course may be useful by providing you with a basic understanding of the game development process. You'll gain insight into the different stages of game development, from design and programming to testing and deployment. In particular, the section on creating an in game store for your players to buy the weapons they need, and creating animations may be useful to you as a designer. One who wants to become a project manager may find this course somewhat helpful.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Roblox Programming and Game Creation.
Provides a comprehensive guide to Roblox game development, covering topics such as scripting, building, and game design. It useful reference for both beginners and experienced developers. This book is commonly used as a textbook at academic institutions and by industry professionals. It adds more depth to the existing course.
Is the definitive guide to the Lua programming language. It covers all aspects of Lua, from basic syntax to advanced topics such as coroutines and metatables. While not specific to Roblox, it provides a deep understanding of the underlying language used in Roblox scripting. This book is more valuable as additional reading to deepen understanding.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser