top | item 26415048

Minecraft vs. Roblox (2020)

142 points| lawrenceyan | 5 years ago |codeadvantage.org | reply

125 comments

order
[+] cheb|5 years ago|reply
As someone who got into coding at age 11 thanks to ROBLOX and it's use of the lua scripting language: I can recommend! A lot of beginners get discouraged because their program is A: a boring command-line (don't get me wrong, cli is cool), B: too complicated to do something of relevance.

The Roblox-API allows you to do e.g. spawn a explosion in a one-liner: Instance.new("Explosion",game.Workspace) It allows you to do almost anything a game would need (GUI, networking, physics, databases, you name it), with a very straight-forward API. Checkout https://developer.roblox.com/en-us/api-reference , they also have AWESOME tutorials which also explain some mathematics https://developer.roblox.com/en-us/articles/CFrame-Math-Oper... Roblox made learning these various disciplines straight-forward and easy, I still benefit from it today!

Though it also taught me some ... less favorable habits, as they are more common place. Think of: Continuously calling wait() until something loaded, Excessive use of globals, overuse of strings, coding single god-functions that do everything (with a frick ton of redundancy). Remember who the demographic of Roblox is: kids and early teens. The people who create the scripts for it are also fairly young, think teens to young adults. So bad practices are more common here, especially in some YouTube-videos (seriously, some are terrible learning-resources).

If your kid is curious, give Roblox a try :D

[+] acbart|5 years ago|reply
I still believe it is easier to teach good habits to folks who have experience with bad habits, than to teach folks who have no experience at all. It's not too hard to find examples of how those issues (e.g., globals, stringly types, god-functions) can backfire once you get to scale, but it's really hard to motivate them when folks are still trying to wrap their head around function calls and variable assignment.
[+] bgirard|5 years ago|reply
Wow I didn't realize it was released in 2006 and there's already programmers entering/already in the workforce that started there. I though it was much more recent.
[+] AnIdiotOnTheNet|5 years ago|reply
> Though it also taught me some ... less favorable habits, as they are more common place. Think of: Continuously calling wait() until something loaded, Excessive use of globals, overuse of strings, coding single god-functions that do everything (with a frick ton of redundancy).

I feel like that's probably true of everybody's first adventures in programming. Certainly was for all of us who grew up writing BASIC.

[+] HDMI_Cable|5 years ago|reply
I wouldn't discount Minecraft either! Roblox is probably better for younger children, but I remember being 10 or so and setting up a Minecraft server so my friends and I could play.

Also, if the kid is ambitious, then Minecraft is a stepping stone to Java programming (which may or may not be a good thing overall).

[+] heavyset_go|5 years ago|reply
I know several young people who started coding by modifying and creating Minecraft mods. The barrier to entry is definitely higher, though.
[+] gfody|5 years ago|reply
Roblox is like the AOL of a generation - I was 13 when I first got into programming thanks to AOL and it wasn't because AOL had created a programmable platform and API. AOL incentivized busting into chat rooms, punting other users, exploring hidden areas, and generally doing all sorts of stuff that could only be done programmatically by manipulating the client with whatever IPC APIs your OS made available. This is basically how Mark Zuckerberg got going too, so very possibly the world's next Zuckerberg is hacking on Roblox today.
[+] krageon|5 years ago|reply
If they're "bad practice" but generally lead to favorable results (or almost every result is the result of bad practice), then it might be reasonable to not call it bad practice anymore. While I really love reading concise and beautiful code, I love seeing something work far more.
[+] davidw|5 years ago|reply
Is there any particular version of the game you need to be able to code for it? I know for instance - in a vague way - that Minecraft is different in terms of the version that runs on my son's iPad and the Windows version, written in Java.
[+] DarkWiiPlayer|5 years ago|reply
> Though it also taught me some ... less favorable habits, as they are more common place. Think of: Continuously calling wait() until something loaded, Excessive use of globals, overuse of strings, coding single god-functions that do everything (with a frick ton of redundancy).

For the target audience of roblox, I'd say that all seems absolutely fine. Anybody who wants to continue programming will sooner or later find out about things like local variables, refactoring code into functions, etc.

[+] nkrisc|5 years ago|reply
It probably easier to learn the good habits once the bad ones have bitten you in the ass. It's hard to learn good habits if you don't understand why the bad ones are bad.
[+] mentos|5 years ago|reply
Awesome, curious to know how old you are now and what were your most memorable experiences in Roblox?
[+] droobles|5 years ago|reply
this was how I felt about actionscript in flash... rip flash
[+] boogies|5 years ago|reply
> Should my child learn Minecraft or Roblox?

No, they should learn Minetest¹, which is more limitless than Minecraft and more accessibly scriptable than Roblox, with an infinite world in all dimensions and basic modeling² and coding³ tools that work within a running game, but more importantly is Free software. Free as freedom from micro-transaction pushing companies, and free as in freedom to learn and tinker in the depths of the engine core and transform the entire world⁴.

1: https://www.minetest.net/education/ 2: https://content.minetest.net/packages/random_geek/meshport/ 3: https://mesecons.net/luacontroller/ 4: Literally: https://forum.minetest.net/viewtopic.php?t=15643

[+] Toutouxc|5 years ago|reply
Also none of your kid's friends will know or want to play it and the game looks and feels like something from Aliexpress.
[+] Datagenerator|5 years ago|reply
This. Freedom to setup your own server and tinkering with the LUA scripts is very accessible. Removing some creatures to allow small children to play without getting scared? Ten minutes tops, really useful. The mountain generator, how does it work and what happens if we alter the recursive functions? Just play and learn with Minetest :)
[+] hoseja|5 years ago|reply
This feels a little like Windows vs Mac vs Linux, respectively.
[+] jrm4|5 years ago|reply
As a parent who's kid is into both, if there's a choice, I'm pretty sure I'd recommend Minecraft; In Minecraft, the default vanilla gameplay itself is quite intelligent and creative. No such guarantee with Roblox, where, depending on the game, there's a decent chance the kid will get sucked into endless mindlessness.

That being said, I'll be taking a look into Roblox for scripting/programming, I haven't done so yet and I'm all about teaching her how to "cheat" -- and actually, this is a place where Minecraft feels like it has faltered a bit, or I'm looking in the wrong places -- I had a great deal of success teaching other kids (I run a nonprofit) Python with the "MCPI" api, and I can't seem to see if that's been updated or if there is a modern equivalent?

[+] jiri|5 years ago|reply
I have prepared for my kids smooth gradual "helpers" in Minecraft - I did place command blocks for them first, later I created server mod with custom commands and teach them to write commands. They learnt to try and combine stuff in "command line" and they loved it. It worked great for them, I believe they acquire basic procedural knowledge sofar but they don't reach "java" level yet. I'll see.
[+] madeofpalk|5 years ago|reply
me, a 28 year old, just started playing Minecraft and I feel so bad for sleeping on it for so long. It's surprisngly such an incredible deep and complicated game (in a good way) - I was so wrong for thinking for so long that it's "just a kids game"
[+] Kye|5 years ago|reply
Minecraft mods are made in Java. I saw something about work on a full modding system for the Windows/mobile version, beyond the limited cosmetic stuff available now, but I don't know how that's progressed.
[+] booleandilemma|5 years ago|reply
Should my child learn Minecraft or Roblox?

Learn? Really?

They're games. Let them pick the game they want to play, or let them choose a different game entirely.

This is like seeing "Should my child learn Java or Python?"?

I'm really questioning the "nation of coders" that big tech is envisioning. We don't need a country of people programming full-time.

Get your kid a chemistry set.

[+] Turing_Machine|5 years ago|reply
Chemistry sets suck nowadays.

Some years ago I wanted to buy one for my nieces and nephews. The only one I could find had on it, in bold letters, "No glass! No flames! No hazardous chemicals!"

Yeah...no fun, either.

[+] entropicdrifter|5 years ago|reply
Just imagine the average code quality once everyone is coding. The people who are mediocre coders now will be the all-stars of tomorrow.
[+] Steuard|5 years ago|reply
This article's focus seems very different than the experience that my 9-year-old has had playing both games for the past few years. At least for now, she's not really shown interest yet in programming either game: she plays them. (She has the option of using them on a full computer and occasionally does, but she's usually on a tablet.) So most of what this article focuses on is orthogonal to her experience.

I'd summarize more like this: Minecraft is a game focused on building things in a virtual world. Roblox is a game platform for playing games other people have created. Playing in the same world as your friends is easy and built-in on Roblox; it's a good bit more complicated on Minecraft (at least if they aren't on the same local network).

On that level, my sense has been that Roblox is much more of a "content consumption" platform (quite often involving social elements and/or storytelling) while Minecraft inevitably includes creative designing and building (sometimes including social play, if you can figure out how to get it set up).

I suspect that creating your own Roblox content is easier than writing a Minecraft mod, but Minecraft has a whole lot more "building" in the base game than most Roblox games do.

[+] kiddico|5 years ago|reply
On one hand an actual professionally designed course on programming in either of those games would be amazing if that's what you want to do.

On the other hand, this just feels gross... If my parents just picked a video game for me and decided I was going to take a course on it I don't think I could be convinced to give a shit about it.

[+] VRay|5 years ago|reply
I was watching my 11 year old nephew play some game on Roblox, and he kept alt tabbing between the game and a black window full of text

I got closer, and sure enough, he had a window full of python code!

It turns out that Roblox had (has?) basically no anti-cheat measures built in, so you can download a hacking toolkit that gives you direct python control of all the game's memory

I told him that cheating is wrong and you're only cheating yourself of the satisfaction of a game well-played, and then walked him through using the toolkit to make a new cheat.

His popularity skyrocketed among his buddies after that, haha

[+] Turing_Machine|5 years ago|reply
"Work consists of whatever a body is obliged to do, and ... Play consists of whatever a body is not obliged to do." -- Mark Twain

This is consistent across most human activities. There's no better way of making an otherwise enjoyable book deadly dull than to turn it into a class assignment.

[+] whywhywhywhy|5 years ago|reply
How many people today got into coding because it was a means to an end for modding their fave videogame? or customizing their myspace profile?

Sometimes the best way to get to the destination is to have a reason to get there.

[+] munchbunny|5 years ago|reply
I think we're getting to the point where it's quite common that the parent(s) are also gamers. In that case, if it's going to be the kid's first exposure to either game, I don't see why it would be any more gross than picking a sport for the kid to try.

Some kids will respond better than others to this approach, but this seems like a perfectly normal thing for parents to do as part of their kids' education.

[+] mzg|5 years ago|reply
I taught a semester of this company's Minecraft course in college. My students all had a pre-existing interest in the game and seemed interested in learning how to code their own experiences into it, for what it's worth.
[+] lhoff|5 years ago|reply
One aspect is overlooked in the article.

When you are playing Minecraft you sooner or later want to have your own Server. There are of course "as a Service" offerings but i personally know 3 or 4 people who got into Linux / Admin stuff because they were running minecraft servers for there friends.

[+] stjo|5 years ago|reply
I started learning about networking after having to deal with shady VPNs and configuring NATs - just so that I could be the kid in my class with his own minecraft server
[+] Aeolun|5 years ago|reply
The one admin frontend (mcadmin? forgot the name) for minecraft servers is a heap of magic too.
[+] robotnikman|5 years ago|reply
Minecraft was what got me into Java. I still run a small server with a few regular players, and I experiment with making server plugins when I have a neat idea I want to try.

And before that, I learned Lua when trying to mod the game Company of Heroes.

It seems like video games we know are a great starting point when it comes to learning how to program at first.

[+] mratmeyer|5 years ago|reply
Same here, I learned Java when I wanted to make Bukkit plugins and minigames for my server. I don’t play Minecraft much anymore, but I’m glad to see that it still seems popular and thriving when I do play on servers or watch it on YouTube.
[+] madeofpalk|5 years ago|reply
I play Destiny 2, which has pretty extensive public API for reading data from the game and interacting with player inventories, and we see a lot of people pop into the discord learning to program for the first time because they want to make something for the game they play.
[+] zwm|5 years ago|reply
I can't advocate for Roblox because of their lack of moderation on excessive pornography posters hidden in many of the maps. This was a couple of years ago, so maybe things have changed. Roblox wins in freedom to build anything you can imagine versus Minecraft's limited blocky, lego-like (retro) builds. There's a trade off.

Personally, Minecraft's command blocks and server commands helped my child feel at home with java programming. I never forced or talked about programming until he started asking me questions about programming mods to extend his game plays after he outgrew the command blocks and / commands.

[+] strogonoff|5 years ago|reply
Command blocks and mods aside, Minecraft is more or less large-scale pixel (voxel) art with added elements of (optionally) having to survive while collecting your voxels and being able to program your environment with DIY mechanical/electrical constructions (which could range from assisting own survival to showing off). I personally find these limitations both useful equalizing forces (in multiplayer) and engaging creativity-boosting constraints.

Having seen screenshots of Roblox, I generally find the visuals pretty horrible. Considering its “free to play” model constructed to extract money from players, as opposed to Minecraft’s buy-once-own-forever, the choice seems straightforward.

[+] opan|5 years ago|reply
Minetest may be a better comparison to Roblox here. Modding has first-class support and is a basic part of the game, everything can be serverside unlike Minecraft where mods have to match up, Minetest's mods also use LUA like Roblox (and Garry's Mod).

Bonus points, Minetest is free as in freedom software, so out of all these, I'd be most comfortable recommending it to someone.

[+] 867-5309|5 years ago|reply
>earn the virtual currency ‘Robux’ to purchase items

not sure about this one. my kids have been playing Roblox and Minecraft for almost two years and AFAIK the only way to get 'Robux' and 'Minecoins' is by buying them with real-world money

creative and social advantages aside, they are both ultimately microtransaction based moneymakers and both offer monthly subscriptions. that said, you don't need to spend money to enjoy or progress, unlike some other games where you perpetually pay through the nose to be second best

[+] musicale|5 years ago|reply
> they are both ultimately microtransaction based moneymakers

This is what turns me off about both platforms, Roblox especially.

Roblox needs a way to simply disable all microtransactions.

[+] _muff1nman_|5 years ago|reply
> Roblox has a single version which works seamlessly across all platforms. In Minecraft, kids can only play together if they have the same edition, and modding can only be done via the Java Edition.

This still saddens me everytime Minecraft comes up. I bought Minecraft when it was in Alpha and it was immediately apparent how social the game was as we all sat in the dorm rooms sharing servers over the LAN. Then Microsoft came along and trashed the whole interoperability aspect and now I have to explain to others why anything other than the Java version of Minecraft is a lesser version.

[+] codeulike|5 years ago|reply
If by interoperability you mean 'PCs Macs and Linux boxes can all play Java edition', then that's still there.

Mojang made the original version (now called Java edition).

Mojang then made Pocket Edition for iOS, and made it as a separate thing with no cross-play.

Mojang then got someone else to make the Xbox edition, again it didn't cross play with anything else.

Then Mojang sold to Microsoft.

Microsoft then made the iOS, Android, XBox, Nintendo Switch and Windows 10 editions all work together and have the same features and upgrade path.

So its not really fair to say that MS trashed the interoperability aspect - it was Mojang that started down the path of different versions for mobile/consoles. MS actually did a huge amount of work to make all those platforms work together again.

But yes there are now two seperate Minecrafts - Java edition, and all the others (previously known as Bedrock).

Its better than it was though, in interoperability terms.

[+] dirktheman|5 years ago|reply
I have two children interested in programming, and they equally love Roblox and Minecraft. I chose Roblox since Minecraft requires the Java edition (€26,-) for both children: they each have to have their own account. Strange decision from Microsoft.
[+] shmerl|5 years ago|reply
* Minecraft: works on Linux.

* Roblox: tough luck, get lost.