Minecraft vs. Roblox (2020)
codeadvantage.org
codeadvantage.org
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
I was introduced to ROBLOX in late 2008 -- my account was created September 26. I spent the first several months just exploring the platform. It was only a few years old at that point, and had just started the curve upwards on its hockystick graph.
The games were way simpler at the time, and they were genuinely made mostly by kids and young adults, and it showed.
One cool thing I discovered is that not only could you choose to open-source a world, you could publish individual models for anyone to make use of. I saw my first lines of code by grabbing a public model and looking through it to see how it worked.
My first forays into coding was pure "script kiddy": I'd take an existing script, stick it in a new model, and tweak it until I was happy with it. This was often things like taking a model of a sliding door, re-sizing it, and adjusting the script's `for` loop so it would slide the door the full amount I wanted.
I slowly figured out stuff like loops, variables, scope, and flow from that, without ever learning the term or reading a book. I was so engrossed that I asked for and received the Lua Reference Manual for my birthday.
I grew out of the platform's intended audience age early in High School, but I had already transitioned to writing python and making Java mods for Minecraft at that point.
I'm now almost 3 years out of college and doing embedded software engineering full-time. And it does really retain a part of that initial joy; I get the same rush when I write an ISO 8601 parser and see it spit out JSON to AWS, really!
Occasionally I'll log on and check things out. Games are a lot more polished, thanks mainly to the developer program that enables revenue sharing, so people can actually have an income from their creations. The studio and platform have also matured a lot as well. I remember when custom GUIs and dynamic lighting were mind-blowing features we sort of hacked together using tricks like a bunch of semi-transparent spheres anchored at a user's origin to simulate fog.
Fascinating. I'd love to know what motivated you to undertake that task. Is this open source or a proprietary project?
That's not to say I'm free of this. I doubt any of us are truly free of this. That said, recognizing it's a thing means you can try to put something into your design practice/workflow where you sit back and think if there's a better way that's a "hack", and try to honestly examine the pros and cons and whether it's actually the better solution.
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.
If you buy Minecraft from Microsoft on their Windows store thing I believe you can buy "both" together in some sense, which is a good deal, but obviously programs from the Windows store do not run on an iPad.
Although Microsoft has dipped their toes in the water and sometimes did some PR about it, you can't today mod Bedrock Edition and if you could it would always be a far more limited experience because of how Bedrock Edition works.
For Java Microsoft is doing the most essential work to make modifying it possible, as well as maintaining it, but a huge community actually takes that and runs with it. If you tried to just use what Microsoft makes available then anyone except a Java expert would probably be stuck with toy changes that barely scratch the surface of the game.
For example as a modded player it's hard for me to think about, but there's no electrical power analogue in Minecraft. The modders (not Microsoft, after all their game doesn't have electricity!) added a framework for a single unifying type of electrical power so one mod's steam turbines can power a different mod's plate pressing machine without either of them needing to spend a year designing an electrical energy system they don't really care about.
Part of why it works in KSP's case is that any mod or plugin published to the official forums needs to be distributed with a license.
And if you have an add-on mod or the cc:tweaked fork that adds better inventory methods, it's possible to build an autocrafter in a sort of DOS style refined storage way :)
Finding out what is fun for you is such an important step in self-actualisation and a continued interest.
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).
And, IMHO, Java is highly overrated anyway.
Whatever 'Gen Z' participates in will just be bought by Facebook. Witness WhatsApp.
And blockchain is a financial scam, comparing it with Facebook (which is a real thing even if exploitative) is silly.
https://defipulse.com/ https://rarible.com/ https://uniswap.org/ https://status.im/ https://godsunchained.com/ https://aave.com/ https://gitcoin.co/
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.
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
Kids I know have enjoyed it.
> the game looks and feels like something from Aliexpress
https://media1.tenor.com/images/883860f55cb3da5a24413c972dfc...
I personally disagree about the (subjective) looks at least with texture packs (https://content.minetest.net/packages/?type=txp&sort=score&o...), but I’d say the feel was part of the charm when I played Roblox as a kid. There were and now probably are more of polished games like Phantom Forces, but my favorites always included unpolished ones like the old disaster survival games with shops of dozens if not hundreds of copypasta items from little half-broken handheld video game players and RC toys to the essential [anti-]gravity coil to hot sauce that made you run faster to freeze guns that let you entrap innocent bystanders in blocks of ice. And every few waves of disaster some slightly retextured blocky noob character would be spawned in the sky and fall down only for rapid unscheduled disassembly because its physics engine joints were broken, and if you were unlucky its spherical head would fly into and one-hit kill you on contact. The games felt like something a kid could make, and I tried to, but I couldn’t see the source for any I enjoyed and I never learned nearly as much as I did when given root on an (airgapped) old spare computer revived with Puppy Linux and loaded with Pygame, including example games which I learned to code by modifying. Later my favorite Roblox games became Armored Patrol and Urban Patrol, which had no micro transactions and used the physics engines to great effect — as long as you learned to enjoy being flung into the sky far enough to see the world unload, or finding the similarities between its mapgen and modern art. As I did:
https://ibb.co/dKFght1 https://ibb.co/CtxZ6wF https://ibb.co/2YqJWdL https://ibb.co/nP0m8kd
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?
Fast forward to massive sprawling cities and worlds me and the kids have created, and also me insisting that sometimes we avoid "creative" because working for what you build and having there be danger and difficulty getting it built is more fun.
(me, a 44 year old :)
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.
Think about sports. Are there more people that are bad at skiing in Austria compared to the Netherland? Yes (if you don't count the ones who never stood on skies). Are there more good skiiers in the Netherland compared to Austria? Absolutely not.
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.
Grandad's had all the ingredients, and told you how to make, a couple explosive compounds.
Dad's had the ingredients, but not instructions.
The most dangerous thing I could do with mine was probably eat the copper salts.
Boom, and "die aarde maak rooibek oop", like that old Afrikaans poem said...
Translation: The earth opens its red mouth (due to the red coloured soil)
I probably wouldn't have become a Nobel prize winning chemist with my n00b/safe set but it might have set something off.
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.
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.
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.
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
As an example there are basically no hard copies of photos and videos now so a kid could potentially lose any memory of their child hood they didn't share on a social network or that their parents didn't document for them.
Facebook encouraged uploading of full albums when it was popular but all of current tools heavily encourage curation to project an image or that for fun images are ephemeral.
There are tools that help mitigate this like dropbox and iCloud, but as far as I know they only save images taken on the device and not images sent to you.
As a kid, cheating was often the only way I could actually play a game and enjoy it. It was cheating or not play at all. I used to play all kinds of games with printed walkthroughs.
Later when I got more proficient I needed cheats less and less and berated myself of using them.
Now as an adult I sometimes still "cheat", because it's not worth it cursing at the screen over and over for not finding that one solution to a puzzle. Or my kids get bored watching when I get stuck in a place for too long.
So no, for me cheating is not wrong. Cheating in online competitive games, thats a different story though.
"Oh, you invested 3 hours getting to level 8? Well, you died - start all the way from the beginning again and sink another 3 hours to have a few minutes of practicing level 8 before you die again..."
Screw that, I have a job and family, I don't have time to sink 100 hours to reach the end "legitimately" so I cheat and take away permadeath so that I can practice the endgame without the grind.
For example, I saved a backup copy of the temporary save file in Teleglitch[0] to allow me to start at the beginning of level if I die instead of the very beginning of the game, and as a result I could practice the later levels without having to grind through first levels over and over.
Imagine if you could only learn a piano piece by starting over from the beginning every time you mess up. It's absurd. The fastest way to master a piano piece is to practice the measure you are bad at until you have it down. I have no qualms cheating at video games that don't respect my time.
[0] https://store.steampowered.com/app/234390/Teleglitch_Die_Mor...
It’s not the kind of game I play for the challenge of staying alive, rather for the progression and development of base/gear/tech. Plus past mid game, there’s tools available to avoid death consequences anyway (totems etc).
Always gotta be careful in the use of cheats, mods, and game modifiers that the underlying challenges and enjoyment in the game aren't sucked out. But careful use can take away pointless grind and turn an impractical time sink into something that fits enjoyment into a smaller amount of free time.
That's not to say your style is not okay - it's a single player game, do whatever you like! But I think "wasting time" or "absurd" is a blatant miss-characterization.
It's like a multi-phase boss where you can do the first 2 phases with your eyes closed, but you die really fast on the 3rd phase because you haven't mastered it yet. The problem is when the first 2 phases take 10 minutes collectively. So basically you pay a time tax of 10 minutes, have a few precious seconds of practicing phase 3 before you die and have to pay another time tax. A lot of games (not just roguelikes) fall into this trap of having unavoidable time taxes.
Games that are conscious of time taxes like Guitar Hero, Celeste, Crypt of the Necrodancer, etc., usually give you some sort of "practice mode" where you can practice the part you are stuck on without paying the time tax. It's games that uncompromisingly force you to pay time taxes that I cheat at.
I guess in Super Mario Bros. it was revolutionary that you could use warp zones to go down pipes, but you still had to get to them.
And from what I can tell this flexibility isn’t going to change, since it’s what is making roblox so popular.
I can’t watch what my son is encountering in such a game every moment, so any online games for kids really need to have much better safety mechanisms.
Some more info, and you can also google roblox sex if you want to be disturbed.
https://www.fastcompany.com/90539906/sex-lies-and-video-game...
Again, no judgement, I don't see optimal solutions here, just choosing the least worst option maybe.
I just can't imagine being a parent myself and feeling equipped to protect a child from adult material these days so it feels like the only viable alternative is to have adult conversations and enable the child to make decisions rather than the alternative of the child inevitably encountering adult situations and feeling the guilt/anxiety of having to hide that from their parents.
My 6yo loves Minecraft. The servers and YouTube videos are consistently on topic. Not too hard to keep an eye on.
When I looked into Roblox last year, the top YouTube results were how to make super sexualized clothing and innuendo. Skip.
I'm less worried for the boys. I'm also less worried about the 'sex stuff' they might see (say, stumble upon erotica, porn, fetish porn, etc) as all those will come with time. I'm more worried about violence and /r/watchpeopledie kind of things. Imagine a seven or ten year old that can't sleep after watching Caspar or Moana, encountering a video of an innocent person being pushed in front of a train, or lynched, or ... It's absurd to me how that's legal on the US platforms that prudely censor every nipple...
But beyond this, there's a categorical difference to seeing something and being urged/pushed/forced into seeing it and the other person taking some perverse pleasure from it, as described by the previous poster. Goatse is disgusting but funny to some degree, but being lured into someone's virtual torture or rape den...?
It's like upskirt porn - totally uninteresting from the sexual perspective, its all about power, abuse, invading in the private sphere and mind of the victim. I don't want to expose my kids to that risk. The most previous thing I have in my world are my kids and especially their minds.
I want them to explore the digital, but the powers of abuse unleashed online - it's just incredible. From the random middle aged man paying for child rape in the Philippines or pretending to be a 12 year old boy and tricking kids into revealing their lives up to the abuse among classmates, friends and strangers - the internet is a damgerous place for kids. And I can manage and anticipate some risks for my kids. I dread what my daughters' friends will encounter when their only protection is a barely digitally literate single mom.
What I've learned raising children in the internet age is that boys are vulnerable during the formative years to porn addiction and the dopamine spiral that causes humans to seek harder stuff more often.
The girls are more susceptible to depression from social comparison through social media. There is a correlation, perhaps even a causation, with a drastic increase in suicide and self harm attempts of preteen and teen girls and the prevalence of social media consumption.
It shouldn't be too surprising that the formative years, when kids' brains are still developing and most vulnerable to impulse decisions, are formative for actual brain development through experience as well. It doesn't work to treat kids exactly like adults because they aren't as well equiped ad adults to handle adult situations.
Giving up on restrictions to experience and material during these formative years is, imo, like trying to teach children how to responsibly consume meth.
In my case, the answer is to tell them that there are some decisions that should absolutely wait until their prefrontal cortex is fully developed because of the developmental impact it has on them. Until then, there will be restrictions on certain things in this house under my roof.
I try to build a trust relationship that encourages them to be open and honest about what they've been exposed to do what I can help them navigate. And when we've calibrated wrongly, there's also therapy that had proven to be helpful for three of my six kids. It's also not cheap so I feel lucky that I'm able to afford the extra help when needed.
Kids are far craftier than you give them credit for, and even if you watched over your son's shoulder all day every day, I can assure you he would find a way to break your rules.
I'm personally of the persuasion that we're approaching this "internet safety" stuff from the wrong perspective. Why not teach your kids how to be responsible, set reasonable limitations (more expectations than limits), and discuss how they're using the internet in an open and honest way?
The grandfather stepped in, and said something to the effect of "stop pressuring the boy; you're obviously going to force him to lie to you, and that doesn't help either of you."
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.
I know at least one parent who used Minecraft as an opportunity for both the parent and the child to learn to code.
Sometimes the best way to get to the destination is to have a reason to get there.
After several months of re-typing in each game listing every time the computer got shut off, I was getting pretty damn fast. My parents finally got me the $30 audio cassette tape recorder for my birthday. That was a glorious day! Once I could save the code, I started changing little things in the games like the colors and number of lives. That expanded into adding new obstacles and new levels.
Ultimately, all the BASIC games were pretty primitive. All the unobtainable ROM cartridge games were coded in some magical incantations rumored to be called "Assembly Language". I knew a guy at school with the same computer who had a couple of game cartridges and I'd sometimes manage to talk him into loaning me one for a couple days. Giving the cartridges back sucked. Eventually I learned how to copy the ROM space memory by writing a BASIC program of PEEKs and POKEs. Many hours of experimentation later I was able to copy the 2k of ROM data into user memory (the BASIC code had to be short or the ROM would start overwriting it). Now I could run that game without the damn cartridge! Unfortunately, that was the only game game cartridge at Radio Shack that worked. All the other ROMS I tried had protection measures which I eventually figured out were trying to write to their own memory.
Then I found a listing for a BASIC program called an Assembly Language Monitor that would turn bytes back onto mnemonics. With that, a bunch of luck and several days of effort I was able to find the code in the game ROM that tried to overwrite its own memory and replaced it with NOPs. I felt like king of the world. I wasn't very productive as a software pirate because I spent many times longer figuring out how to copy the game than I ever spent actually playing the game. :-)
However, as I bumbled my way through each new obstacle I encountered as a game pirate I was writing more and more of my own tooling code. Eventually that slowly evolved into a career as a self-taught programmer, software architect and then tech startup entrepreneur. So, yeah. There's at least one case of a frustrated teenage game-player being an on-ramp into a successful tech career.
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.
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.
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.
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.
Bonus points, Minetest is free as in freedom software, so out of all these, I'd be most comfortable recommending it to someone.
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
[1] https://en.help.roblox.com/hc/en-us/articles/203313200-Ways-...
[2] https://developer.roblox.com/en-us/learn-roblox/monetization
and [2] looks like 'earning' by promoting premium subscriptions, so I guess a referral scheme? which is not an activity suitable for children
This is what turns me off about both platforms, Roblox especially.
Roblox needs a way to simply disable all microtransactions.
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.
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.
You can't mod anything outside cosmetics and state in bedrock, whereas you can mod everything in java edition.
Do you get something for that? Sure. The first six months I played MC Eternal I was still finding random drops from mods I'd never seen before, I fought monsters yesterday I didn't know existed last week. And beyond suspecting that the moon is actually literally made of cheese (thus explaining where the rat civilisation went) I haven't even started on space travel yet.
On a PC you can run a large pack slowly on a medium sized PC, or reach inside and (for solo play) rip out the biggest pieces you care least about. Neither of those sound practical for a Switch.
I'm sure a PS5 could run most packs if somehow they were functional, but I'm also sure most Minecraft players don't have a PS5.
* Roblox: tough luck, get lost.