There's no reason to not just build the game you want to play.
In this episode, we talk about coding in Roblox and Minecraft with Genevieve Johnson, senior instructional designer at Roblox, and Gabriel Simmer, community and partner engineer at CircleCI, who at 16 built NodeMC, a tool that can be used to build dashboards and spin up servers in Minecraft.
Ben Halpern is co-founder and webmaster of DEV/Forem.
Jess Lee is co-founder of DEV.
Genevieve is currently the Senior Instructional Designer for Roblox, the world's largest user-generated online gaming platform. By creating educational content and advising educators world-wide on how to use Roblox in STEAM based learning programs, more students will be empowered to pursue careers as entrepreneurs, engineers, and designers.
Gabriel Simmer is Community and Partner Engineer at CircleCI. He's a self-taught developer who is developing both software and communities. Minecraft has a special place in his heart as a game that brought him to technology and software development.
[00:00:01] JL: Triplebyte is a job search platform that allows you to take a coding quiz for a variety of tracks to identify your strengths, improve your skills, and help you find your dream job. The service is free for engineers and Triplebyte will even cover your flights and hotels for final interviews. So go to triplebyte.com/devdiscuss today.
[00:00:19] RudderStack is the warehouse-first customer data platform built for devs. It is open source and built API first. So it is easily customizable and fits into your existing development processes. RudderStack’s multitude of SDKs, sources, and destinations make it easy to instrument, adjust, and route customer data from all of your digital touchpoints. Start building a better CDP for free today at rudderstack.com.
[00:00:50] GJ: But as you, the developer, become more sophisticated and have a better idea of what you want your game to look like, you can change everything, everything about it.
[00:01:11] BH: Welcome to DevDiscuss, the show where we cover the burning topics that impact all our lives as developers. I’m Ben Halpern, a co-founder of Forem.
[00:01:18] JL: And I’m Jess Lee, also a co-founder of Forem. Today, we’re talking about coding in Roblox and Minecraft with Genevieve Johnson, Senior Instructional Designer at Roblox, and Gabriel Simmer, Community and Partner Engineer at CircleCI, who at 16 built NodeMC, a tool that can be used to build dashboards and spin-up servers in Minecraft.
[00:01:37] BH: So before we get into chatting with Genevieve and Gabriel, let’s talk about what Roblox and Minecraft are high level. We’re going to get into much more detail there, but they’re both video game platforms. They both appeal to children and adults and have a lot of players. They’re open, extensible video games. And the reason it’s so interesting from a developer perspective is that both these games have really interesting development platforms. So in different ways, Minecraft and Roblox are very, very extensible. Roblox really pushes this explicitly. Minecraft is a little bit more community driven, but either way, a lot of folks have gotten their starts and programming with these platforms. It’s sort of a gateway activity into our field and it’s always really interesting to speak to folks who are most involved in the community and teach us what’s going on. If we’re not as familiar.
[00:02:34] JL: Yeah. I’ve seen so many kids glued to their tablets on Roblox, and it took me a while to really understand what they were doing, but it was really cool to see that they are actually programming, but it’s in such a fun and accessible way. I think gateway to programming and beyond is a good way of putting it. I’ve actually never interacted with Minecraft in any way, though. So I’m excited to talk to Gabriel who can tell us all about it.
[00:03:01] BH: Absolutely. I’ve done a tiny bit of Roblox programming myself with my niece, June, and she took to it very quickly and it makes me excited about her future programming career, if she sticks to it, and I had a lot of fun with that. So I can’t wait.
[00:03:30] JL: And now here with us is Genevieve Johnson, Senior Instructional Designer at Roblox, and Gabriel Simmer, Community and Partner Engineer at CircleCI, who at 16 built NodeMC, a tool that can be used to build dashboards and spin-up servers in Minecraft. Thank you both so much for joining us.
[00:03:46] GS: Yeah. It’s great to be here.
[00:03:47] GJ: Absolutely. It’s great to be here. I’m really excited.
[00:03:50] BH: So to get us started, Genevieve, can you tell us a little bit about your development background?
[00:03:55] GJ: So I’ve been in edtech for over 10 years and I have a really cool intersection between game development and education. So I actually started out teaching students how to make websites, how to make their own videos. And then one day my employer came up, was like, “Hey, do you want to teach how to create Warcraft III mods?” And I was like, “Sure, I can do that.” So from that point on, I just got hooked on modding and then game development and I kept writing these tutorials for it and sort of just got bigger and bigger. And so my specialty became writing tutorials for obscure game engines that did not have any documentation. So not Unreal, not Unity, but like oddball things like Torchlight’s GUTS or Shoot Mania, just these fun game development packages that were designed to get kids excited and going. So that’s what I’ve been doing for 10 years.
[00:04:58] JL: Very cool. How did you end up at Roblox?
[00:05:01] GJ: So I worked for a summer camp and as the leader of the curriculum development department, part of my job was to actually look for emerging technologies that I can bring in and create courses for. That could be anything from machine learning, machine vision, cryptography, any programming language that you can ask about. But game development has always been like my personal soft spot. So I have been looking at Roblox for a while. I think I first saw it I want to say like 2014. I’m not exactly sure of that year, but like at GDC I came across Roblox and I was like, “This is just a really cool development platform for young students,” because it uses Lua, which is really, really friendly. So I’ve been keeping an eye on it for a while. And then in 2016, 2017, I had just seen a lot of the changes, all of these small tweaks that Roblox had been doing year over year and year and I was like, “This is the time. This is the time I want to create a course for it.” And funny enough, at the same time, Roblox was hiring for what would become my position to lead education, to have a more formal path for people to come and to create games. So it was just like a really funny coincidence that here I was trying to pitch a Roblox’s game development course. And then there’s Roblox, who was like, “Hey, we want someone to help spread. How do you create games? How do you teach STEM using Roblox or teach core curriculum subjects using Roblox and game-based learning?”
[00:06:33] JL: Wow. It’s awesome when timing works out like that.
[00:06:36] GJ: It was really cool.
[00:06:37] JL: Gabriel, can you tell us about your development background?
[00:06:40] GS: Yeah. My development background has been pretty varied, but a lot of it did stem from my love of Minecraft. So I initially started off sort of very basic embracing the in-game tools and building some basic servers with some friends, just sort of playing around. It wasn’t until I started to get into the money aspect of it that I really became more interested in computers and programming in general. I never really got into sort of a single player modding side of things. I focused a lot more on creating fun experiences and mini games on the server side of things. And that’s definitely sort of directed my journey. So I started off doing that, doing sort of very small fun mini games for Minecraft servers, eventually built up to being a sort of CIS admin support person at a Minecraft server host, which is where I spent a lot more time building out the platform that you mentioned, NodeMC. So I had a lot more time to really explore and delve into the server side of things, both at personal investigation level and also in a slightly more professional environment. I sort of bounced around, did some time doing professional Drupal and PHP development, eventually coming over to where I am now at CircleCI where I’m really exploring a lot of continuous integration, continuous deployment. And with that, I’m slowly getting back into Minecraft and incorporating all of the learnings that I’ve had throughout my experience. I recently published an article on continuous integration and continuous deployment for Minecraft resource packs is definitely sort of a demonstration of where I’ve come from and where I am now kind of coming together and meeting in the middle.
[00:08:29] BH: Awesome. It’s really going to be interesting to discuss how one activity leads to another so seamlessly. I think that’s a theme here in terms of people who are users of Roblox or Minecraft, to modders, to general developers and where it takes them in their career and it’ll be interesting to get into all of that and it’s very clear from both of your backgrounds that that’s a component of the story. Let’s start by getting into some deeper definitions of things. We’ve already talked about Lua, Roblox, Minecraft.
[00:09:03] JL: Modding.
[00:09:04] BH: Unity, modding. We’ve got a lot to cover here for folks who are not as familiar with this ecosystem. So Genevieve, can you get us started by telling us what Roblox is?
[00:09:16] GJ: Right. So Roblox is a UGC platform, meaning it’s a place where our community members create all of the content that you see when you come to our site. So when you log on and you see millions of games, all of those games were made by members of the community. And what we really see is that story we’re just talking about where players come on and then maybe as they get a little bit older, they start seeing more of an interest in building something for themselves. So they might start off building just like a world or like a nice, big immersive environment where them and their friends can hang out. And as they want to create more mechanics for that world and make more things happen, then they have this interest that drives them to coding. And what you’ll see is that these players over time and over the past decade is that they have created massive worlds, have created teams and now we have people who have put themselves through college by publishing these games and it’s all free. So by default, everything is free. It’s free to play. It’s free to create your own game. It’s free to publish it to our community. And when you do so, it becomes available to anyone on Mac, PC, mobile, potentially even the X-Box and VR. So within minutes, you and a lot of your friends can be jumping into a world you created with automatic multiplayer cross-platform play. That’s really the core of Roblox.
[00:10:42] BH: So Roblox is User-Generated Content or UGC, but there’s a format and there are characters and stuff. So it’s not completely abstract. Where does Robox, the platform and the user-generated component, begin for anybody who might only have a loose familiarity with even the concept?
[00:11:03] GJ: We have this platform-wide avatar catalog where you can go in and you can choose how you want to look, how you identify, and that becomes your character. And for most games, that appearance that you’ve chosen for yourself is going to follow you from game to game. The other aspect that really makes Roblox powerful for the developer side is that we have this platform-wide currency called “Robux”. So as you’re monetizing your game or figuring out how you want to monetize your game, players come in if they’ve got these Robux that are good platform wise, you can buy a gift card at your local grocery store and you can then like exchange Robux for services in your game. And as a developer, if you want it to cash out and make your own money or if you’re oftentimes a young developer, they’re just excited to get Robux because they can turn around and get that avatar piece they really, really want.
[00:11:59] BH: So each avatar has two arms, two legs and a head and otherwise Roblox is pretty wide open, has an economy and everything else is pretty much up to the creativity and the extension of the platform.
[00:12:14] GJ: Absolutely. Yeah. So what you’ll see is we kind of have a lot of places that we want developers to just jump in and it’s like we got an automatic sky, there are some basic training tools, you can use these default avatar pieces as a player comes in. But as you, the developer, become more sophisticated and have a better idea of what you want your game to look like, you can change everything, everything about it. So anything that you can imagine, pretty much anything you can do in a different development package you can do in Roblox. We just make it a really easy entry level.
[00:12:47] JL: Gabriel, can you paint us a picture of what Minecraft is and what it’s like to play it?
[00:12:51] GS: So at a very, very basic level, Minecraft is a block-based sandbox game. And it started off really, really simple over time. They’ve added a lot of stuff to the main game, both just at a basic gameplay level and also at a more complex development and experience creation level. There’s sort of a lot of different layers to Minecraft. You’ve got the base game where it’s the sort of survival mode where you’re going around and doing all of the sort of stereotypical Minecraft things, so mining, finding resources, building houses. And then you have the creative side of things where you have access to everything. And this is where we see a lot of mapmakers really flourish and a lot of creators really flourish because they’re given all these mechanics to play with in the sandbox with no limitations. And then you kind of step up a level from that and you get into things like what they call “command blocks”. There’s different variations on that, but they essentially allow you to define, they’re not quite bits of code. It’s more like very simplified bash scripting, if you will, or just general scripting. That sort of brings you up another level of being able to modify some of the behaviors of the game or changing out a number of blocks to make some other effect. And then you go another step up and you have what are called “data packs”. So these are again taking that sort of scripting from the command blocks and it’s moving it into its own dedicated format that’s loaded inside of a map and can change the game in even deeper ways than you would with just the command blocks. And then from there is where you get into modifying the game itself. So you have the modding APIs where people have decompiled Minecraft and then modify the code and rebuilt it so that you can load in mods. And then you also have the service side of things where people have built custom server software, so it can load in custom plugins, custom scripts, basically whatever you can throw at it, and it’ll just work. It’s got a lot of layers. It’s also super open, just given the nature of Java. They’ve made efforts recently to make it a lot easier to decompile it. So they’ve launched official. I can’t remember the Java term for it. I think it’s “class maps” where you can take the official class maps that they’ve provided and decompile the entire JAR and have the entire Minecraft code base as it would appear if you were working on Minecraft at Mojang.
[00:15:27] BH: So you mentioned stuff like data packs and other components of what ultimately becomes the platform. I’m fascinated by the capacity for Minecraft you have developed some of these primitives out of nothing. When I think about it, it seems so challenging. What’s the most impressive thing about the Minecraft platform and what’s made it so successful in that regard?
[00:15:51] GS: That is an excellent question because there’s a lot of different factors. I think one of them is just generally how large the community has grown. Another thing is just that there doesn’t seem to be a limit with the engine. So when you’re tinkering with the code and playing with these modified JAR files, there really doesn’t seem to be any sort of limit. There have been people who have implemented the entire solar system in Minecraft, and you can build a spaceship and fly to another planet and set up a moon base there and that’s not really something that you’d ever really expect from the base game. There’s also instances where people have implemented entire computers and operating systems into Minecraft. There was one project that I saw recently where you would spin up a virtual machine on your desktop and then you could interact with it directly in the game. So you’d have a mouse and keyboard in the game to interact with that virtual machine. There really doesn’t seem to be a limit and I think that’s a really big draw for a lot of people. Just having it so accessible and so open is a pretty big factor.
[00:17:16] JL: Join over 200,000 top engineers who have used Triplebyte to find their dream job. Triplebyte shows your potential based on proven technical skills by having you take a coding quiz from a variety of tracks and helping you identify high growth opportunities and getting your foot in the door with their recommendation. It’s also free for engineers, since companies pay Triplebyte to make their hiring process more efficient. Go to triplebyte.com/devdiscuss to sign up today.
[00:17:40] RudderStack is the warehouse-first customer data platform built for devs that builds your CDP on your data warehouse with support for cloud data warehouses like Amazon Redshift, Google BigQuery and Snowflake. RudderStack makes it easy to collect, unify, transform, and store your customer data as well as route it securely to a wide range of common, popular marketing sales and product tools. Start building a better CDP for free today rudderstack.com.
[00:18:13] JL: Genevieve, would you say that Roblox is able to do much of what Minecraft is as well?
[00:18:19] GJ: They’re just two different things. I’ve used both. Once again in Roblox, we’re using Roblox Studio development package in which all of the games in Roblox are made. So that’s the game development tool that everyone uses. And it was designed from the ground up to be a game development tool that is really, really friendly to new developers, so that you can drag in free assets from the toolbox. If you don’t know how to code, you can actually instantly have a world going, build a forest, build a city. It’s got great generation tools. And then as you become more proficient, we’ve got the scaffolding in place for you to change everything, everything from the terrain that you just built for you to bring in assets from, let’s say, Maya or from Blender. And we’re dealing with text-based code rather than node-based code.
[00:19:14] JL: And Gabriel, you mentioned a few different ways to code in Minecraft. What is one that resonated with you most in terms of what you do today?
[00:19:23] GS: The one that definitely resonated with me the most was the modifying of a server’s behavior and sort of transitioning to how that impacts the player’s experience and how the player is playing. That really got me involved in thinking more about servers and development as a whole, I don’t feel I would have gotten quite the same experience focusing on the sort of client side modding. So getting into the service side modding definitely made me think more about sort of server resources and deploying to the cloud and other aspects that go into that.
[00:19:58] JL: Can you quickly explain like on five what modding is?
[00:20:01] GS: Yes. So modding is just basically taking the base game or the base. It doesn’t even have to be a game. It could be a mug with a really terrible handle. And so modding would be reshaping that handle in some way, whether that’s using some clay to kind of go over it, breaking it in ways that make it more manageable. It’s really just modifying or building something on top of a base to make it your own and make it more usable or fun.
[00:20:29] BH: So if I modify a mug, but that mug needs to fit into a cabinet, which fit the old mug, but may not fit my new mug, that’s a compatibility issue. And when I think about Minecraft and Roblox and modding in general, I get terrified about backwards and forwards compatibility, how this works over time, how the games evolve over years. Can you speak a little bit to compatibility and how that’s maintained in such a broad ecosystem?
[00:20:56] GS: I can speak for the Minecraft side of things. Because a lot of the modding side of things has been community driven, it’s largely been community efforts to keep that stuff up to date. Historically, there’s usually been a fairly big lag between a new version of Minecraft coming out and those tools being updated. But once the tools have been updated, typically, it’s pretty easy to take your existing mod and then recompile it for the new version. That isn’t always the case. So you do run into some compatibility issues. Sometimes there’s a curated collection of mods. There’s a lot of those that are still stuck on ancient versions of Minecraft because they don’t have any sort of upgrade path. Either the mods haven’t been updated or they just straight up can’t be compatible with newer versions. So there’s definitely a lot of compatibility issues that can come into play with that. But for things like maps and data packs and resource packs, those typically have a pretty good compatibility layer because those are first party and baked into the game. So it’s much easier to bring those forwards or bring them backwards as well.
[00:22:06] BH: So a new version comes out and this sort of just the lag time, it’s kind of like a new world, you’re not guaranteed to be able to use all the old mods you’re using and that’s just kind of like part of the deal?
[00:22:18] GS: Yeah. So thankfully, the Minecraft launcher does let you sort of lock in what version you’re going to play. There’s also different launchers as well. So you can sort of lock yourself down a little bit and you’re not forced to update. But yeah, during that sort of period of the new version comes out, there is going to be a period of time where you have to decide, “Do you want to go without mods or do you want to wait and see if the mods are updated?”
[00:22:46] BH: Genevieve, can you kind of speak to the same issues within the Roblox universe?
[00:22:50] GJ: Sure. Rather than having different versions of Roblox that comes out, once again looking at the development tool of Roblox Studio and the code that we’re supporting, we don’t want it to break. So I have to say our engineers bend over backwards to support old API and old code. We very rarely actually break anything. It does happen on occasion, but usually it’s a very calculated decision. I can think of one major instance in like the last few years that I’ve been at Roblox where we’ve been like, “All right, we’re making a big change that’s going to make everyone’s life better and we’re going to have to force people to deal with like actually the client versus server.” And then we put a lot of effort into what we could do for making that change a manageable transition. But you and your game, there’s usually very little that you have to worry about. Really what I usually talk to people about and talk to students about is more about trying to future proof your own code by either making sure it’s easy to change in the future or if you’ve got like a hundred different traps rather than having a script within each trap, you want to have a central script that you’re pulling all that information from. And the next thing, putting aside the code and just like Roblox Game Engine and Roblox Studio, is how are we going to support our community? So how do we support the iPhone 4s, the iPhone 5s, people on those devices? And we try to do as much of that behind the scenes as possible. So scaling up and down for our players on those devices so that new developers don’t have to worry about that as much.
[00:24:27] JL: What is your favorite creation on Roblox?
[00:24:31] GJ: There’s so much cool stuff. And honestly, I think I love indie games at heart. So my favorite game is this game where you come in and it kind of has like a bit of a snarky narrator and they’re like, “Why are you here? Do you think this is boring?” Whatever. And if you snark back to the narrator, it flat out kicks you out of the game. That is just my type of humor. And like all of the big games, there are some really amazing games that have come out. Shapescape has been one of my favorite games that has come out lately, but I have to say my heart is in these little indie games.
[00:25:02] JL: That’s great. As an instructional designer, are you working directly with the community a lot?
[00:25:08] GJ: I am. Yeah. So both the education community as well as the developer community. So it’s a hat I have to wear on both sides. And there’s a lot of overlap between those two. On one hand, you’ve got 12 year olds who are learning to code for the very first time. What’s cool about Roblox is that if their game takes off, if it becomes viral, they can have 150,000 people in the group. And I was just talking to a student not too long where that was his experience. And he was talking about how he wanted to be a game developer. And I’m like, “Wait, no. You are a game developer. You you’ve done it. You’re a game developer.” Sometimes there’s this divide between what’s my student community, what’s my teacher community versus what’s our developer community. But it’s really cool at the same time, how those have such an overlap on the Roblox development platform. So I talked about developers, but oftentimes these developers I’m talking about are in middle school and high school and in college.
[00:26:04] BH: Does Roblox encourage all users with the possibility of developing games or does that sort of happen just naturally through exploration?
[00:26:13] GJ: No. I mean, a lot of my job is to expose our players to that. We want to convert players into creators. We want them to be creating their own universes. So to that extent, one of the things that we did in addition to creating all of our creative commons curriculum that was designed for like more of a traditional STEM track, we decided that we want to do something for those kids who weren’t in school for game development and didn’t already know that was something that they wanted to do. So we created The Creator Challenge. The Creative Challenge is an event we advertise on Roblox. So you pop onto play your games. And on the side, there’s a little icon that says Creator Challenge. And if you click it, it’ll bring you to tutorial. Usually we’ll have like a splash screen and we’ve partnered with some really cool people, like Star Wars with someone that we partnered with. And we’ll give you just like a taste. We really want like a little bite-size taste to be like, “You can come and make your own spaceship. And if you do, we’re going to give you avatar items.” Because players will do just about anything for avatar items. And let’s say within 15, 20 minutes, you can learn how to do that, but it’s a type of thing that if you want it to, and I did it myself, you could spend all day tweaking what that spaceship looks like. And we provide a template. In that example, we had like a race, so you could drag your spaceship that you made over to this folder within Roblox Studio, press play, and now you could be racing in the spaceship that you just made. So we do that for different things, for coding. Our most recent one was on animations that you got to create your run cycle or your little celebration dance. And you got to go do like a different sort of race to actually use the pedometer. So you could physically walk around and see your character walking around the track, doing whatever little silly animation, like swimming or jumping that you created. So we go to a lot of effort to show that anyone can be part of this. Anyone can express their vision.
[00:28:09] JL: Gabriel, do you know if Minecraft does something similar? What is the typical pathway from player to developer?
[00:28:16] GS: The typical pathway from player to developer would probably be wanting to build their own experiences beyond that that’s offered in the game. I don’t think that the leap is as common these days, since a lot of the in-game capabilities have expanded. But initially sort of the jump would be I have this cool idea that I want to implement, then you kind of go down a bit of a rabbit hole. And until recently this sort of experience of creating what hasn’t been ideal for beginners, you’ve kind of had to have a little bit of background in software development and Java and understanding a few of the concepts there. There are some tools out there now that make it a lot easier. There’s one that’s unfortunately slowly rolling down, but it’s called MCreator where it gives you sort of an entire development environment that you can just start playing with and it gives you a lot of graphical tools for putting things together. The barrier of entry has definitely gone down quite a bit and it was really up to the players to make that decision of, “Hey, I have this cool idea and I see that there are all these tools out there where I can make it happen,” and then they sort of make that leap from there.
[00:29:27] GJ: I think you had a really good point in the beginning there. As the game that the player is seeing becomes more complex and becomes more impressive, it becomes much more difficult for you as a player to identify as a person that can create that game. So yeah, I can definitely identify with that. I think a lot back to like myself as a student and I want to do animation or as an artist and I didn’t know that people could be an artist as a living. I didn’t know that people could go do special effects and it took someone to show that to me to be like, “I want to go make movies.” Eventually, I didn’t make movies. I ended up in education. But like if it hadn’t been for that person coming into my classroom and showing that, “Hey, this is a real career,” I don’t think it ever would have happened. I wouldn’t be here.
[00:30:10] BH: Can we compare and contrast the tooling environments? So Gabriel, can you speak to the overall tooling and a little bit more depth the language, the IDE, anything you might need to get started and what that’s like?
[00:30:24] GS: Yeah. So like I said before, it sort of depends what level you want to jump into. But specifically for modding, you’ll want to know a little bit about Java because Minecraft, I should pre-phase actually that Minecraft kind of has two additions at the moment. There’s the Bedrock Edition, which is sort of a more optimized, but slightly more locked down version of Minecraft. That’s the version that runs on phones. That’s the Windows 10 version. That’s what runs on consoles. And then there’s the Minecraft Java Edition, which is the much more open and much more community driven version. You’ll want to know a little bit about Java if you’re going to get into that. So the tooling for Java was really good. You’ve got the JetBrains IDE and a lot of very mature Java tooling. But on the flip side of that, a lot of the sort of supplemental Minecraft specific tooling is all community run. So there’s sort of a variation in quality. For the most part, some of the more established projects are really solid. So you’ve got things like MC Forge where that’s been sort of battle-tested, has a lot of great documentation, and a lot of users who have sort of actively developed on that. For the service side of things, you have Spigot where that’s been around forever and you have a lot of users there as well. So because it’s community driven, the quality of the tooling does vary quite a bit. But as time goes on, I can only see that maturing more and more as more people get more experience with that.
[00:31:58] BH: Genevieve, what about the overall Roblox and a little bit of detail?
[00:32:03] GJ: Okay. So when you download Roblox or if you go to the Roblox’s site, there’s usually going to be a button that says “create”. Let’s say if you’re on just Roblox.com, you’ll see a create button. So you can just click that and that’ll download Roblox Studio. It’s just a single download. It’s really, really fast, very, very lightweight. And as long as you have a Mac or PC, you can make a Roblox game. It’s pretty nice because you don’t need like a sophisticated gaming rig or anything. Of course, the more power that you have, the better, but that’s it. From right there, you open it up and you’re going to see there’s the toolbox on the left-hand side. And in the toolbox, we have a lot of community generated items. So like your community generated props and models that you can drag in or you can also create your own, either using the built-in building tools. Or if you have experience of Blender or Maya, if you want to build them on a more, I would say like professional environment and import them in, you can do that as well. As far as publishing goes, it’s literally control P or command P, depending if you’re on Mac or PC, and that’s it. You publish to Roblox and it’s there and it’s just a matter of, do you want it to be private or do you want to allow people to play it? And then if you ever used Python, Lua is a lot like Python, but you have even less the type and there’s no whitespace concern. So I’ve taught Python before where students will miss an indent and then you have very, very upset students who think they can’t code and you’re like, “No, you did a hundred lines of great code. You just miss a single indent.” That’s not as much of a concern in Lua. So it’s a great first coding language for anyone.
[00:33:45] BH: And that’s definitely a contrast with Java, which is more verbose and possibly a little less beginner friendly.
[00:33:52] GJ: Yeah.
[00:34:12] SY: Hi there. I’m Saron Yitbarek, founder of CodeNewbie, and I’m here with my two cohosts, Senior Engineers at Dev, Josh Puetz.
[00:34:20] JP: Hello.
[00:34:21] SY: And Vaidehi Joshi.
[00:34:22] VJ: Hi everyone.
[00:34:22] SY: We’re bringing you DevNews. The new show for developers by developers.
[00:34:27] JP: Each season, we’ll cover the latest in the world with tech and speak with diverse guests from a variety of backgrounds to dig deeper into meaty topics, like security.
[00:34:35] WOMAN: Actually, no. I don’t want Google to have this information. Why should they have information on me or my friends or family members, right? That information could be confidential.
[00:34:43] VJ: Or the pros and cons of outsourcing your site’s authentication.
[00:34:46] BH: Really, we need to offer a lot of solutions that users expect while hopefully simplifying the mental models.
[00:34:54] SY: Or the latest bug and hacks.
[00:34:56] VJ: So if listening to us nerd out about the tech news that’s blowing up our Slack channels sounds up your alley, check us out.
[00:35:02] JP: Find us wherever you get your podcasts.
[00:35:04] SY: Please rate and subscribe. Hope you enjoy the show.
[00:35:13] BH: Can we talk a little bit about the concerns of these environments in terms of children, their development? I’m thinking really addiction, possible psychological abuse within the platform, anything like that. How is this thought about within the Roblox community and the organization and the development community? How does this conversation come up in terms of protecting the users and then ensuring goodness?
[00:35:41] GJ: I feel like it’s something we talk about every single day. It’s not even like how does this conversation come up. It’s a conversation we never, ever stopped having. Like my very first interview at Roblox, they want to make sure that I had a concern for student safety. I say student a lot because I’m in education, but player safety, and of course I do, like talking to teachers and what their concerns are. So you want to think about what are they being exposed to, is there going to be too much violence, is there blood and gore, how do you control those things. And as you’re trying to protect students from themselves, we talk a lot about how can we prevent them from, let’s say, giving out their personal information, but not only how can we prevent them from doing that, how can we teach them, but that’s not something that they want to do. So we’ve got different aspects. We have technology to stop it from happening. We’ve got live moderators who are going through all of the materials, everything that you upload to Roblox that players are going to see has to go through moderation. And then we have initiatives. One of the most recent pieces of curriculum that we created was a digital civility curriculum. And as part of that, not only like, “Hey, don’t feed the trolls. Be nice to each other. Treat each other like real life.” But also, how do you spot what’s trustworthy and what’s not trustworthy. And we made a little digital scavenger hunt where people can go around and they’ll spot like, “Hey, come to my website and you’ll get free Robux.” And then you have to answer, “Is that sound like a realistic thing?” And hopefully you say, no, you don’t go to the website. It’s called “Beat the Scammers”. So we really want to look at it not just, hey, reactively, but how do we be proactive about it and give players the tools that they’re going to need their entire lives.
[00:37:28] BH: And Gabriel, how do you think Minecraft addresses these issues from your perspective?
[00:37:34] GS: Since it’s mostly community driven and a lot of the main sort of repositories and communities are associated with Mojang or Minecraft officially, it really does come down to the community to sort of self-police that. And I think that for the most part, the main hubs of activity and of modding and discussion, I think that those are all pretty well moderated and you’ll stumble upon less sort of more mature content in those places. Because it’s all very community driven, there’s of course going to be some bad actors here and there. But in sort of the trusted sphere, there’s definitely a lot of effort to make sure things are kept very kid-friendly because everyone sort of recognizes that Minecraft is definitely a game for all ages and everyone should be safe when they’re browsing that. So you’ll have the forums where there’s moderators everywhere and they’re keeping an eye on what people are posting. Also you got on the server side, there’s usually a team of moderators and administrators dedicated to keeping that community safe. And for the most part, I think it’s pretty sensitive towards the sort of younger ages.
[00:38:45] JL: Genevieve, when you mentioned earlier that Roblox is very proactive versus reactive to ensuring a safe community, that’s something that really resonated with me because on day one of Dev, which is the first example of a forum, we had very, very few users. We were already thinking about like, “How do we reduce spam and harassment or just inappropriate content?” And so as we create more forums, I think it’s really important for us to continue to be proactive and get ahead of different ways that people could be abusing the platform. And so for us, that typically means building those tools just well in advance as part of the product building process so that it’s not built by a response.
[00:39:36] GJ: Yeah. It’s really important. Everything that we do, we’re always trying to think about how can this be used in ways that we didn’t intend. We’re a development platform. We want to give our developers as much freedom as we possibly can, but at the same time, our number one concern is safety and creating a safe environment for our players to come and to socialize and to connect with each other. And how do we do that? Particularly right now, we got the pandemic and more players are coming together for their online communities more than ever and there’s touchy subjects that they’re talking about. So these are the kinds of conversations we have every day. Like how do we not just be like, “All right, here’s the blanket ban on this word”? But what if that word is being used in a constructive context? Can we allow that? And sometimes we’re like, “Yeah, we think we can do this.” And sometimes we’re like, “No, there’s just too much chance for abuse.” That’s never appropriate and trying to figure out like what these rules are, but for both of our human being moderators or all of our underlying tech. And once again, as you’re saying, “How do we be proactive?” I’m a big believer that a lot of the people that you see, so let’s just say like you’re young, you’re a young troll who’s maybe saying inappropriate things during a match, a lot of times those people can be redeemed. But you also need to teach them like what is appropriate behavior. And you even teach people on the other side, if someone’s saying something inappropriate to you, how do you handle that? And that’s a skill that you need in real life. I talk about, “You never tell your children to never cross the street. You teach them how to cross the street. You teach them to look both ways.”
[00:41:19] JL: Yeah. I think when it comes to conduct, it’s always a gray area, right? Like you said, you can’t just like a blanket ban. There’s always some nuance involved. And I think it’s really important to remember that we’re all humans. I love that you said young trolls, like that’s not a concept I’ve ever really thought of, but like treating everyone, even if they may be like accidentally said something offensive, remembering that by treating them as a human, it’s much more easy to just educate and explain and hopefully have them understand like why some of that behavior might’ve been harmful.
[00:41:57] GJ: And I think as a game industry, we’re constantly looking at that. This is obviously not Roblox specific issues or Minecraft specific issues, but as a game industry, it’s good to see like these large companies that are talking to each other and we’re trying to share what has worked for us, what hasn’t worked for us. We’re partnered with over 20 global and European organizations that focus on child safety and internet safety. It’s an industry wide problem that we all have to keep working on.
[00:42:25] JL: So before we end our episode, I wanted to ask a question on behalf of one of the members on Dev, shadowtime2000 asks, “I want to know what is better. Minecraft or Roblox? In terms of server plug-ins, data packs add-ons, or forge bonds.
[00:42:43] GJ: It’s a false dichotomy, really. And I think that people tend to want to see you on the outside and be like, “Oh, what’s better?” That’s like saying what programming language is better. What do you want to do? Maybe you need to learn both. There’s a lot of people at Roblox who love to play Minecraft. People are like, “Ooh, it’s Roblox versus this or that.” And we’re like, “That’s not how we see it.” So my answer is very similar to like when people ask me what’s the first coding language they should learn and what coding language is going to get them at it. It all just depends, whatever you’ll stick to. But we do actually have a lot of community generated plugins and all that kind of stuff as well. So they’re on both sides.
[00:43:22] GS: I completely agree with Genevieve. I think that it’s definitely not sort of one’s better than the other. They’ve both got some really interesting features and are really good draw. It really does come down to sort of that whole, what programming language is the better one style argument where it’s like, well, it’s whatever you find fun, whatever you want to use. I’ll always sort of lean towards the Minecraft side of things because that’s where I got my start, but I can a hundred percent appreciate and see why people will stick with Roblox. So I completely agree.
[00:43:54] GJ: So hopefully that answers the question.
[00:43:58] JL: So since we didn’t have as many community questions this episode, are there any closing thoughts that you would like to share?
[00:44:07] GS: Yeah. So I think as someone who played a little bit of Roblox very early on in life, and unfortunately never really got back into it, I think that it definitely seems way more approachable than Minecraft programming. It does sound to me like it does have a lot of that depth as well. So feeling a little bit like I might go back and look at that again, because it’s probably changed in sort of like I think it was 10 years ago or whatever, whenever it was I last looked at it. So yeah, I’ve definitely gotten the feeling, “Maybe I should go back.”
[00:44:44] GJ: Yeah. We’d love to have you. If you ever want to get pointed in some good starting places, feel free to reach out to me. I think what I find myself thinking about is community or a lot of it is about how do we support our community, both free play, giving them a safe place, and then how do we encourage them to express themselves, which is really important in the game industry, something I think about every day is how do we see game types, games treat it more like an art form. It’s not obvious for my name, but my mother is Hispanic. So my last name is Johnson. So no one’s ever going to guess that. But what is Latino-American video games look like? How can you express yourself? And by making it as available as possible, hopefully we can have greater diversity in game development. My job is to be like, “Hey, anyone can make games. You can make games. You can make games. You can make games.” And what I really want to see is like the game that only you can make and make it because if it’s weird and wonderful and lovely, there’s probably someone else on Roblox that wants to play it.
[00:45:52] JL: Thank you both so much for joining today.
[00:45:53] GS: Thank you for having us.
[00:45:55] GJ: Thank you very much.
[00:46:04] JL: I want to thank everyone who sent in responses. For all of you listening, please be on the lookout for our next question. We’d especially love it if you would dial into our Google Voice. The number is +1 (929) 500-1513 or you can email us a voice memo so we can hear your responses in your own beautiful voices. This show is produced and mixed by Levi Sharpe. Editorial oversight by Peter Frank and Saron Yitbarek. Our theme song is by Slow Biz. If you have any questions or comments, please email email@example.com and make sure to join our DevDiscuss Twitter chats on Tuesdays at 9:00 PM Eastern, or if you want to start your own discussion, write a post on Dev using the #discuss. Please rate and subscribe to this show on Apple Podcasts.