Chapter 1: Introducing Roblox Development
Roblox is a massive entertainment platform like no other for both playing and creating games. With over 100 million monthly active users, Roblox has enabled both new and experienced developers to create successful games that can be played globally at no cost. With a plethora of resources and a vast and supportive community of developers from around the world to connect with, entering the Roblox game development scene is an opportunity that cannot be found anywhere else.
Before covering the technical details of working with Roblox Studio and programming in Lua, it is important that you are first familiar with what developing games on Roblox can offer you and what the day-to-day interactions with the platform typically consist of. By the end of this chapter, you will have a more comprehensive understanding of the different types of roles developers can fulfill in game projects, how becoming a Roblox developer can benefit you monetarily, and what to expect as you develop and publish your first games.
In this chapter, we're going to cover the following main topics:
- Learning about the benefits of Roblox development
- Discovering developer types
- Gaining a perspective on your early projects
Learning the benefits of Roblox development
Roblox has been a consistently growing platform since its creation in 2006, and in recent years, its growth has accelerated tremendously. As of 2020, more than 100 million unique users play Roblox monthly. Because of this, there has never been a better time to become a Roblox developer as there is an abundance of new players looking for an increasingly diverse variety of games from new creators.
Financial opportunities on Roblox
Perhaps one of the greatest contributing factors to Roblox's overall rise in popularity with developers is the monetary benefits that are offered. These benefits may have been one of your primary motivations to learn more about the platform, and that is to be expected. The top games on the Roblox platform are currently making tens of millions of US dollars from in-game purchases annually.
As a developer, you can earn money from your games through a process called the Developer Exchange, or more commonly called DevEx. Roblox has a virtual currency called Robux, which can only be purchased with real currency. After a player purchases Robux, the balance on their account is updated and then they can spend them freely on any game they want. When a player spends Robux on one of your in-game purchases, 70% of the Robux from that purchase will go to you, as Roblox takes a 30% marketplace fee.
The two types of in-game purchases are as follows:
- Game passes: Single-time purchases
- Developer products (more commonly called dev products): Purchased multiple times, for something such as in-game currency
You must accumulate a total of 100,000 Robux and be 13 years old or older in order to be eligible for the Developer Exchange program. In addition to sales you make directly, players of your games that have a Roblox Premium membership grant you additional Robux based on how much time they spend playing your game, though this amount is typically just a fraction of what sales amount to. Furthermore, there are some invite-only programs that allow you to sell character accessories, plugins, and more for Robux, but it is expected that these will become open to the public with time.
When working with a development team in a Roblox group, developers can be paid with Robux either directly or through a percentage of game revenue. Direct pay-outs are a simple action that can be done through the tabs of the Configure Group page and are not a recurring payment. Giving developers a percentage of the game's earnings automatically deposits that amount into their account after it pends for verification. Remember, this can only be done when a game is hosted in a group, not on an individual's profile.
It may be valuable to remember that after a player makes an in-game purchase, Roblox has a 3-day wait period before those Robux are deposited into a group or personal account in order to verify that the purchase was a legitimate sale.
More information about the Developer Exchange program can be found here: https://www.roblox.com/developer-exchange/help.
Improving professional skills
Aside from the monetary benefits of being a Roblox developer, you are uniquely enabled to enhance other skills that you may find applicable in other professional environments. Whether you fulfill the role of project manager or just an additional programmer, you are poised to develop efficient team coordination and communication skills. One of the most sought-after qualities employers look for, especially in STEM, where most work is team-based, is being able to coordinate your work in a team with clear communication. Roblox development is, in my opinion, one of the best places for prospective computer science students to get their start and learn the fundamentals of collaboration. The platform helps develop not only greater programming abilities but also a strong foundation in leadership and eventually fiscal management skills.
Benefits of networking
While working with other people is not always necessary and there have been popular titles established by single-member teams, the social nature of Roblox strongly encourages developers to coordinate with each other to create games, with each developer fulfilling one or more roles in a project. Currently, almost every game at the top of the Popular sort has been created by a team of two or more individuals. With the great success and subsequent growth of some top games on the platform, the development teams of those games have expanded to more than 20 people, though teams of that size are not yet typical.
The best way to get involved with the community and find other developers to collaborate with is through Twitter, as well as the communication application Discord. By having a Twitter account dedicated to your development work, you can post the creations you are most proud of while communicating with other, more popular developers. These new connections with other developers in the Roblox Twitter Community (RTC) may give you the opportunity to collaborate with more well-known individuals and grow your name the more you work. Discord is a communication app that could be compared to Slack. There are a variety of Discord servers that are oriented around Roblox development and are, consequently, an excellent place to show off creations, discuss your work with other members of the community, and find new individuals to direct your efforts with.
Another important type of community for developers is Roblox YouTubers. As YouTubers create content showcasing your games, an impression is made upon their audiences and, as a result, your player count will likely increase from the new publicity. Forming firm connections with these individuals may secure future promotion for your projects while also creating advocates for your work in the process. While there is not always an easy way to connect with these content creators, they often have a Discord or Twitter presence in addition to business emails where they may respond to your inquiries.
Overall, the type of networking described here is the same in many fields of work. Expanding your image and developing your identity and reputation are the most vital elements of your career. Conducting your work legitimately and professionally will have effects that may not be immediately recognized but will certainly be of benefit to you in the future. With better networking abilities, you will become more easily connected with new people who can benefit both your work and reputation.
Discovering developer types
As previously mentioned, the Roblox developer community is quite diverse; each developer brings their own unique style and technique to the platform. In game development, there are a variety of roles that a developer can fulfill. Most commonly on Roblox, each developer typically has one primary skill that they utilize for a project. The most common types of developers on Roblox are programmers, builders, 3D modelers, UI/UX designers, and other various artists. Each developer that holds their respective role is equally important to creating a well-refined finished product.
Programmers are responsible for creating the core of any game. From storing player data, creating working weapons, or any other game functionality that does not occur by default, a programmer is the one producing it. On Roblox, programmers use an adaptation of Lua, a fast, C-based procedural language that is commonly found in the game development industry. You will find that the syntax of Lua is less complex than others and seems even more human-oriented than most high-level languages. Because of this, many programmers find the learning curve to be quite shallow and if Lua is your first language, you may find that the transition to other languages is quite easy as common syntax from multiple programming languages is utilized.
3D modelers create the individual items that you see in a game, from furniture, pets, food items, to any other visual pieces that are typically small to medium in size. While these models can be made inside of Roblox Studio, most 3D modelers have become skilled in using the free 3D modeling application Blender to create their meshes. There are many reasons for doing this, in particular that the parts used for creating objects inside of Roblox Studio are quite blocky and you cannot easily achieve smooth or complex shapes, while it is considerably easier to do so in modeling software.
Builders fulfill the role of creating the worlds that exist in your game. Whether it be a cold corridor in a spaceship stuck adrift or a hot, arid desert with an oasis at its center, builders are developers that ultimately create the first impression of a game when players join. With this in mind, it is important that the builder for a project is skilled enough to create the desired vision. While intuitively, you may think that builders and modelers are one and the same, they are not. Builders focus more on the overall map and world design for projects, though they often use Blender and simultaneously fulfill the role of 3D modeling for various assets in the world.
UI/UX designers create the pages and screens that players interact with inside your game. Some good examples of something a UI designer would be responsible for making include a player's inventory screen, a health bar, or any other designed visual interface. Oftentimes, the UI is the first thing a player will notice in addition to the map of your game; therefore, it would be optimal that the designer is capable of creating a visually appealing set of UI that matches the style of the game itself.
Some more peripheral developer types include animators, music producers, graphic designers, and other artists. All the different types of developers mentioned are important for creating a strong, finished product and it is important that they all are equally competent in being able to accomplish the goals of a project. You should be sure to identify which of the preceding roles interest you the most so that you can focus your time on learning more about them and developing those skills for future use.
Gaining a perspective about your early projects
Though the beginning of your development career may vary, one thing is typically standard: your first game project will not be number one on the popular page, and that's okay! As frustrating as it may be that you are not granted the instant gratification everyone craves, this is the best outcome. Speaking from personal experience, maintaining a popular game that is played by tens of thousands of players concurrently (or more) is quite stressful. It is best that new developers have time to gain additional experience in order to first acclimatize to the platform before producing popular titles. Figure 1.1 depicts the thumbnail of my first game, Endure; it almost immediately tells an onlooker that the project was made by an amateur:
Many new developers often run into what I've coined the Roadblocks on Roblox, where they begin to create a project that they have a passionate but loosely defined vision for and are forced to abandon it as they struggle to accomplish everything that they had originally imagined. The best way to move past these issues is to lay out a development plan and solidify the features and mechanics that should be included in your project. With this, you can review and restructure your vision as needed, keeping in mind what is popular with Roblox consumers, as well as what can be realistically accomplished with your personal abilities and that of your team for a project.
Ultimately, motivation and dedication are key; without these, projects simply do not come to fruition. It is important to remember that games are not often enjoyable to players if they were not enjoyable for the developers to create. If you are collaborating with other people, make sure that everyone on the team is on the same page for the direction and rough roadmap for the development of the game. The optimal goal, for both your mental health and the quality of your projects, is simply to make each new game better than your last. You may spend months developing a game only to have it perform at a mediocre level, but this is part of building your foundation. From each project, you gain a bit more experience and recognition. Figure 1.2 shows a direct result of following these practices; Power Simulator has been played more than 100 million times and its thumbnail is much more engaging to potential players due to its professional level of design:
No matter what becomes of your early projects, always look forward to the future and try to improve the gaming experience for your players while improving the development process for yourself; only with repeated effort will you find success.
The key points to remember from this chapter are what opportunities exist on the Roblox platform, what different developer types do and what interests you, as well as finding a collection of people in the community with which to create more well-founded projects.
After combining what you have learned about networking, what to expect from early development, as well as how to build your overall experience as a developer, I believe that you too will be able to accomplish amazing feats on the platform while strengthening skills that will benefit you in any professional environment.
In the following chapter, you will begin familiarizing yourself with Roblox Studio, the program with which you will create your games. Knowing all the features of your work environment, including those that may not be immediately noticeable, will help to increase your development efficiency and overall productivity on future projects.