Climb The Giant Man Obby: Part 3

Ok, so – serious question time: what exactly *is* an Obby?

Basically, an Obby is a simple 3D platformer. Because they require almost no scripting and you can just make them with basic editor tools, it seems like they tend to be people’s first game. The first tutorial on the Roblox wiki is about how to make an obby –

Once you play a few of them, you start noticing a lot of them have the same basic parts – rainbow jumps, checkerboards, “lava jumps”, “choose paths”, ball jumps, disappearing staircases, etc etc

This video was really great, both as a quick tutorial on how to do some basic things with the editor and also a kind of glimpse into this whole universe:


[Click to watch on Youtube]

I’m trying to approach this whole “embedded in roblox” thing as earnestly as possible, which to means thinking about what I like about these games, and what I don’t like, and here’s where I am with that:

I generally don’t like high stakes multiplayer games, where you have to work as a team and have all that stress and responsibility. So what I really like about Obbys (and a lot of other Roblox games) is that they are mostly games you play with your friends *individually*.

Some Obbys have lots of little closed rooms in sequence, which *looks* nice, but I really like the more common type, which is to have these huge open spaces where you can see the whole level at once.

I really like that you can see your friends jumping around in the distance, stuck on a puzzle that you were stuck on 30 seconds ago (and vice versa)

One of the first thoughts I had about making an Obby is “oh, you could make a big open world one, that would be interesting!”. But I’ve since played games that do that, and I don’t think they work very well. These things are actually way more interesting when they’re linear.

This is the confusing thing about multiplayer game design, actually: lots of stuff that doesn’t work in single player designs is actually *great* in multiplayer games

For example, easy, so called “filler” levels. In single player games, obviously terrible! In multiplayer games? Vital pace setters. They give people necessary downtime to chat with their friends and not think too intensely about what they’re doing.

But also, on the other side of that: ridiculously hard, unbalanced nightmare levels. In single player games, lots of people would just rage quit. In multiplayer games, they become the focus points that everyone gets stuck on together, and they’re hilarious.

So one thing that actually draws me to these games is that a lot of them feel like rough sketches. Like the creators just took one pass at each level, and then moved on.

They’re more interested in like, trying to make 100 levels, or 250 levels, or whatever, than they are in making each level “perfect”. Because the individual levels just don’t matter that much!

And it’s actually *better* that way – if you overthought every single level you’d end up with something stressful that not many people would actually want to play.

It’s almost like making fun multiplayer games is about being hands off – making the world and establishing the rules and then stepping back and letting people play

I don’t know. I tend to overthink my designs a lot, and I don’t have a lot of experience with multiplayer thinking, so I’m still figuring it all out.

anyway, that’s enough tweets, gonna spend some time making stuff now

Oh, ok, I’ve got one more. I’ve got a few roblox players commenting on this thread now, so tell me: what do you think of as the really “classic” obby tropes? I wanna do this genre justice! I’ll quote some of my favourites in the thread!

small aside, I *love* that the default Roblox player death animation is to violently shatter into pieces

This isn’t some fancy function call, this is literally just what happens when you set “player.Health = 0”

Getting these checkpoints working took *forever* and was kind of a momentum killer tbh. Most tutorials recommend this very awkward system of changing teams each time you touch a checkpoint

It basically means you have to manually assign matching team colours for each one, for potentially hundreds of checkpoints. It’s bound to break in a big game and it’s clearly not what most Obbys are actually doing, so I don’t know why the official docs recommend it?

A few little details still to figure out, but leaderstats powered checkpoints are basically working! I now 100% understand why the documentation doesn’t tell you to do it this way

Shout out to this video by @NeonbloxGames, which was by far the clearest explanation of how to do this:


[Click to watch on Youtube]

Here is what most new Roblox developers do, I think – they search the assets store for “checkpoint” and just use one of them. Doh, I probably should have just done that!

Anyway, this was actually a great crash course in Roblox’s lua scripting system, which it turns out, is really nice! It’s kinda like Unity in that it’s component based, only it seems way better?

If you’re a new programmer and interested in learning Unity, I can definitely recommend playing around with Roblox for a while first to get a feel for things. Seems to have a lot of the same concepts, but simpler.

To do list next time I’m robloxing:

  • Have some nice particles and sound effects on the checkpoints
  • Figure out how to make it face me the right way around
  • See I can do anything to speed up the respawn time? The default takes *forever*

Part 4: Checkpoints and 30,000 copies of my totally safe plugin ->