Fun side project time; gonna see if I can make something small in Roblox! gonna update this thread as I go for anyone else out there interested in the process
Alright, step 1 to get warmed up, I have a dumb idea - I want to see if I can just create a custom t-shirt asset for my avatar. Specifically, this one:
I've heard that assets are actually a bit tricky in roblox so this maybe isn't the best place to start, but let's see how it goes!
The official documents have this template, so let's start there -
feeling lazy, so I found this very nice hoodie to use as a starting point (it costs 5 Robux, which is 2 cents USD)
realising that I've leaked my username, whoops. pretty much every variation of "terry" was taken already!
whoops, was having a lot of trouble figuring out how to download the shirt texture from a paid asset, and it turns it it's because you're, er, not supposed to do it 😅
Thankfully, the free assets work fine, so I'll just make a variation of my classic guitar outfit instead
eh, good enough. let's see if I can figure out how to get this into the game
excellent ⚡️
Roblox *did* charge me 5c to upload it though, which is a bit shocking? I basically had to upload it to the asset store. If there's a free way to make your own assets, it wasn't something I was able to figure out
that's enough for tonight, tomorrow I'll go through the tutorials!
Huh, I guess this is why the shirt asset isn't available for other people to use:
Broadly I'm still figuring out what I think about Roblox's weird business model. These tiny microtransations are everywhere in the system. I guess I'll put a pin in that for now.
Alright, let's get back into it!
The Roblox demo project is genuinely pretty charming - it's a playable game that you can edit with the developer tools as you play
This terrain editor tool is pretty awesome, wooo
I haven't used Unity since 2011 so tbh I'm just really enjoying having a working 3D editor to play with
think I'm getting the hang of this
Ok, this terrain tool is amazing. This explains a lot about the look and feel of most Roblox games!
Also new to me: the idea of an asset store built right into the editor. It's incredible that you can just *magic up* whatever sort of placeholder asset you want from a huge online library -
I haven't done any game logicy stuff yet, but I'm pretty blown away with this whole editor so far honestly. wow. gonna go take a lie down
See these fancy red trousers? They were part of an outfit I bought yesterday for like 10 Robux! You can't see it here, but the top half was a kind of athletic sports bra.
ANYWAY I guess that was too racy for Roblox or something because they removed it from this store last night. Which meant that this morning, without warning, I joined a server (full of, presumably, mostly children) and found myself running around in my underwear
ANYWAY ANYWAY. I figure the best way to learn something is to just jump in and make something, so I've decided on a project. I'm going to make a little obby! Roblox loves obbys!
Last time I made an obby was VVVVVV, so I'm a bit out of practice
Ok, it's the weekend, let's jump back into this! Blank canvas:
I've been thinking this over, and here is my obby idea: "Climb the giant man". There's a giant man, and you win if you climb all the way to the top
I'll figure out the rest as I go, it's fine
Found a plugin which lets you turn any player character into a model, which is a great start. Obviously the giant man should be me, it'd be weird otherwise
Haha, ok, this is gonna be great
oh, hmm, I-
Ok, some tech issues figured out (thanks @Phalanxia!), and now I'm getting somewhere
That's probably enough for today. I'm having a lot of fun with this!
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:
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 " http://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:
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*
progress is happening
So close to figuring out this orientation bug, but I can't figure out why the game keeps putting the camera behind the player everytime they respawn
definitely wishing I'd just used a pre-made asset at this point, oh well
This is my code for the respawn - robloxians, am I doing something dumb here?
I suspect this still frame is to blame: when the respawn happens, there's one frame where they're at world (0, 0, 0) facing this direction, before immediately teleporting onto the checkpoint and turning the player to face the right way around. The camera doesn't move, though.
Might have done enough for today anyway. Tomorrow I'll finally get to work on making some levels!
so uh I may have gotten slightly fixated on trying to solve this problem, but checkpoint orientation now works!
This genuinely took hours for me to figure out - the TLDR version is Roblox games have both serverside and clientside scripts, and camera control is strictly a clientside thing
So, if you want the server to change the client's camera, you need to set up a RemoteEvent in "ReplicatedStorage", and call an event from the client's localscript
A second complication was figuring out how to actually move the camera to point the right way too, which was surprisingly tricky - basically it involved changing the camera mode to "scriptable", putting it where I wanted it, and then changing it back to the default
It's entirely possible that there's a much easier way to do all this, and that I was just making things hard on myself for no good reason. But I couldn't figure out the easier way so ¯\\_(ツ)_/¯
Polished up the checkpoints with some sound effects and animation, definitely actually starting some real content tomorrow. (sounds borrowed from Klik and Play!)
Roblox kinda reminds me of Klik and Play, in the best possible way
Something slightly weird happened: my nice "beam of light" style checkpoints stopped beaming! I think *maybe* because the decal asset I made was removed by someone on Roblox's side?
I have some theories about why that I need to look into - it's just a 512px fade from white to translucent - maybe somebody else has already upload that exact image and the system thinks I've "stolen" it? Or maybe it's something else, idk
Either way, it's kind of a weird problem to have! I've never used a tool before where someone else can just remove assets from your project
But wait, that can't be right - if 1000 developers use an obby checkpoint asset and the creator of that asset deletes it, do all those games stop working? 🤔
Anyway, I figured out a way to do the effect without decals, so problem sidestepped for now. Here's something new -
I read something about a building tool plugin called F3X. Search for that on the asset store and you get the following 30 thousand results:
They're all by the same user! At first, I thought this was somebody spamming the store with an obvious virus. But...
The description claims (I don't know, I haven't installed anything) that it's actually just "archiving" the plugin - flooding the store with safe to use copies. You know, to protect you from viruses.
I honestly can't even
lol https://twitter.com/jazzmickle/status/1377903108873936897
I've been getting a lot of warnings in this thread to be *very* careful about what assets you import - apparently viruses are extremely common, attached to innocent seeming scripts
I've already come across one that attempts to purchase an item for 10,000 Robux once it's live in your game. Here's one that teleports your players to another, rival game: https://twitter.com/MathieuFrogames/status/1377696967661395976
Got a classic disappearing staircase in as my first challenge, excellent
prob need to pick up the pace a bit if I'm gonna climb all the way to the head
That's probably enough for now. Oh, in case you missed it: I wrote a little bit about a roblox game I liked earlier today! https://twitter.com/terrycavanagh/status/1377802723437867011
alright, well, I've got a very big man to climb and almost no content so far, so for now I'm just gonna make as many levels as I can and worry about quality later
alright, let's get back into it! So, small confession, I don't actually have collision working on my fidget spinner yet. My next job is to play with Roblox physics and figure it out... https://developer.roblox.com/en-us/articles/building-a-turning-platform
Oh, huh! That was a lot easier than I was expecting. It doesn't even need a script!
As a non-unity person, I don't really have much to compare this to - but the built in Roblox physics tools seem great
To make a spinning platform in Roblox - just attach a hinge like this, and tell it to spin! I was expecting this to be a nightmare tbh
Nearly there... (this was the hard part)
Ah, hmm, not exactly
uff, ok, I guess they kinda work, but they're pretty wonky. I might just move on for now and come back to them later. Got a lot of levels to make!
ahhh who am I kidding, I couldn't leave them like that. Thanks to @Drewiker_ for suggestions that helped me get this working properly!
So, over the weekend I did a little playtesting of my Obby with friends and how got some useful feedback about how it's shaping up so far -
Basically, I think I've fallen into the trap of trying to make every stage too "interesting".
This is a bad thing, as I talked about a bit earlier in the thread! It's resulting in a game that's shaping up to be overworked and stressful feeling
It's easy to see how I ended up here - I'm still learning the tools, so everything I try becomes a little rabbit hole to explore. The process itself is inspiring new content! But that means it's all gotten a little bit too... complicated?
So today: I'm going to try to space things out more, and try to make some challenges that feel a little more relaxed!
I think every roblox creator probably has a place like this. Maybe I'll make mine public some day!
slowly making progress. It's important to take breaks
The different save options in Roblox are a frequent source of anxiety - you can save your work as a local file, save it directly to the roblox servers, or "publish" it, which is different from saving to the servers in some way that I don't really understand
anyway I've done a ton of work in the local file today and it's not letting me save it to Roblox right now, which is a little scary. Hopefully I haven't lost anything.
Ok, phew, a restart fixed it, I was able to "overwrite" the existing game on the server. That's definitely a lot more nervewracking than it should be!
New content is going well, I'm up as far as the right hand! Starting to notice the game lagging a bit, though, so at some point soon I'm gonna need to dig into optimisation...
This official tutorial on managing lag is a good read - https://developer.roblox.com/en-us/articles/Fighting-Against-Lag
hmm - what's an interesting obstacle for this part?
(seriously, suggestions welcome! I've spent a while on it now and I don't have anything I really like yet)
Thanks all! I like this suggestion - gonna see if I can figure out how to do it https://twitter.com/BobisOnlyBob/status/1380068977959927808
asset toolbox is not off to a great start
ohhh this one's pretty good tho
Ahhh this one by @EgoMoose is clearly the best, though (thanks for the recommendation, @Spicy_Josh!) https://www.roblox.com/library/2194493101/Zip-lines
ahhhh so happy with this
I assume this error message I keep getting is nothing to worry about
Been slowly adding more and more stages to my obby. Really happy with this one!
To be honest, I'm at the point now where there's not a lot of Roblox specific things to comment on, and it's more just figuring out general game design stuff
I have some ideas for the shoulder levels, and some jokes I wanna squeeze in there, and then I'm basically done. Gonna make a big push to try and finish up this little side project this week!
I don't find this style of challenge super interesting, but it makes a nice change of pace - plus it's good to reference the tropes
....ahhh who am I kidding, ok, let's see, how do I make this more interesting
been using this really nice plugin, Archimedes, to build geometry like this quickly: https://www.roblox.com/library/144938633/Archimedes-Two-v2-4
ok! I made some improvements. It's now split in two paths: a slow, safe elevated upper path with plenty of drama, and a faster lower path with some tricky jumps
Getting *extremely* close to the end here. Just two challenges left to do, I think?
I've been posting a little less because I was starting to get worried about spoiling to much, but that's silly. This whole thread is about learning a new tool in the open! So let me show you my favourite level of the Obby so far, between the shoulder blades -
So this challenge on the left shoulder is the last "real" challenge in the Obby, so it has a kind of a different feel - I wanted it to signal a kind of change in pace
Right after that, you get to the shoulder blade playground! This area has nothing that can hurt you, and it's just filled with terrain that's interesting to navigate, and hide from your friends!
Most players will naturally congregate at the end of the course, so I want to make the last 10% or so have a more open and playful feel - to be a nice area to just hang out in once you've finished. Really excited about this as an ending!
Gonna need to playtest what it's like with 30 people running around in it, of course
I took a little break, but now I'm back, and I have an exciting milestone: a first draft of the complete course! In total, it's about ~30 stages long.
extremely happy with the final stage! Here's a little preview -
oh hey that's my haircut
Looking for some fun stuff to put at the end of my obby - these "paint yourself" booths are definitely my favourite end of obby trope
crediting stuff from the roblox asset store isn't easy - I have no idea who originally came up with this thing. The version I found was obviously stolen several times over, and riddled with viruses that I had to manually remove
ok I added something dumb (sound on!)
every good thing has a little bit of cringe in it - it's like a spice, when used right
ok ok one more
... I really need to start wrapping this thing up
last one!
was really dreading the implementation of car respawning, but it ended up being pretty simple!
basically, just check how far away the last car is from the start point every couple of seconds, and create a copy of the original car. (What happens with all the old, destroyed cars? Don't worry about it!)
the "original" cars are all safely parked in a big wooden box far beneath the ocean
I've been watching a lot of random youtube videos about Roblox lately while I've been trying to figure things out - there are two people who I think are making particularly good videos:
RoBuilder has this series where he "fixes up" other people's maps. I've learned a ton from watching how he approaches things. He apologises a lot for being too critical, but I think he has good taste!
And TheDevKing makes videos about developing and scripting roblox games - he's great at narrating what he's doing and it's a really good insight into the Roblox community along the way:
I just turned off my ad-blocker on the main Roblox site - I had *no* idea what I was missing out on
Wrapping up some finishing touches on my giant man today. Should be ready for testing soon! I spent a while today taking some nice "screenshots"
I definitely got carried away with this project, but I'm feeling really happy about how it's turning out. And it's been super fun to work on!
So... I *think* the game is finally ready for alpha testing! I don't want too many people playing it just yet, but... if you know roblox well enough to figure out how to play it, please jump in and have a go!
There are a couple of bugs and polish things, but it's basically done! (mainly I just need to move some server stuff to clients and fix some sound bugs)
Please tweet all the feedback at me! Gonna release it in the next couple of days probably!
instead of fixing bugs, I added more secret stuff ¯\\_(ツ)_/¯
Ok, new alpha up, this time I fixed most of the bugs. Probably launching tomorrow, so last chance to send me feedback!
me and the boys, testing player versus player collision
You can follow @terrycavanagh.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled: