Sunday, September 21, 2014

Learning to Code in Lua using Roblox

Lua is a simple programming language that is used to create custom features in the game Roblox.  If you have not heard about Roblox, my money is on the fact that you will soon.  Students these days gravitate towards games that operate in a sandbox environment.  The success of Minecraft has demonstrated the power of games that have no beginning or end, where the joy comes from creating problems and solving them in whatever way you imagine.  It is a great language that will help your students learn to code something real and substantial, and will translate to skills they can use throughout high school and beyond.

A little about Roblox:

Roblox is a game platform, not a game itself.  Users and developers create and use tools within the framework of the system to design game worlds and create rules for play.  These completed games are then distributed via a web interface where the entire world is presented the opportunity to play the game designed by a user.  

The end result of Roblox is amazing.  You get a game that teaches scripting, is more open world that Minecraft, and offers the ability to appeal to both intrinsic and extrinsic rewards. Every month 3.3 million people play Roblox.  This is pretty substantial when you compare it to World of Warcraft that currently has 6.6 million subscribers.  50,000,000 hours per month is spent by users creating just about anything they can imagine.

A little about Lua:

Lua is a scripting language that works on many platforms.  It was created by members of the Computer Graphics Technology Group in Brazil.  It is an object oriented language that is influenced by C++.  It is an easy to learn language that Roblox offers substantial support in helping users learn the basics to modify their game.  Those students that learn a little Lua are able to create entire playable games in Roblox.  In fact most “games” in Roblox are created by users, not by a development team, making it a creative and remarkable world.

What you need to create a program at your school:

To start, head to the Roblox Education Blog. This website keeps up to date information on Roblox and a variety of happenings.  In addition there is some information for parents that may have questions or concerns.  As with any new impactful technology to come out, it is important for everybody to know exactly what they are getting into.

The next step is to create a Roblox account.  These accounts are free, however there are items like the Builders Club that cost money.  Roblox uses a currency called Robux, which is used to purchase a variety of products from the website.  Robux can be purchased, or earned in game.  It is important to know how all this works, but you will not necessarily need to spend money.  Once you have the account you will be able to download the application.  You will use this application to launch the Roblox Studio which is where you will begin working on your coding project. 

The next step in learning how to build things in Roblox is learning Lua.  You will want to get a book about Lua scripting.  This will give you a good place to work from when teaching and learning Roblox.  Your students at first will maybe resent the fact that you have to use the old paper book, but in the end they will be motivated to use it so they can build what is in their imagination.  In addition there is a complete wiki devoted to Lua for Roblox.  This site is an excellent teaching resource that your students will want to bookmark and use for later reference.   And finally, don’t forget about YouTube.  People love to share how to do things, and there are many excellent video tutorials on how to learn Lua. 

Now that you have all of your software and lesson materials, you will begin using the Roblox Studio.  This is essentially a software development kit that allows you to take 3D objects, place them into a world and add scripts to tell those objects what to do and how to react.  There is a large amount of pre-designed objects to work with, but you can always build your own as well.  It is a wide open world where anything goes.  

I hope this gets you started on your adventure with Roblox and Lua.  I think you will find that it makes an excellent coding opportunity for your students.  Teach it as an after school program or use it as part of your classroom instruction.  I look forward to seeing all the cool stuff you teach.  If you have questions, send them to @principalcross.

1 comment:

  1. Im glad that there are others that know that Roblox is not just a gaming site it's educational !