Model of the Day 102
Shop settings and start UI
Portfolio: Kristina's Portfolio
Trying again to make a voxel building and survival game in Roblox again!
I just started working on terrain generation and designing the overall code. I did a few small experiments and I think they turned out interesting for a first try:
This time I’m using 3D noise instead of 2D noise to get more complex terrain instead of just the regular wavy terrain that is possible with 2D noise.
got bored last night and made a vehicle system, i suck at driving in it, but it works pretty well
For some reason this is giving me Survival 303 vibes.
Luckily, those are very good vibes.
I started experimenting with algorithms to generate the biomes of the terrain. I would hopefully like to avoid something performance intensive because I don’t think Roblox’s servers could take it without serious optimization.
Luckily, simple perlin noise using two sets of Fractal Brownian Motion noise* representing temperature and rainfall to determine biomes worked great!
* The equation ends up as this: math.noise(x, TEMP_CONSTANTS[1], z) + math.noise(x * 2, TEMP_CONSTANTS[2], z * 2) / 2 + math.noise(x * 4, TEMP_CONSTANTS[2], z * 4) / 4
(aka small noise + 2x larger noise / 2 + 4x larger noise / 4)
So, Project Magical Mary has a restaurant with chairs and custom drinks (well, if that still worked at all), but it’s missing something that most restaurants have, lines that you have to stand in while you wait for your turn to place your order.
Though they aren’t actually “finished” yet, characters can enter the queue and be teleported around by a server script, which only lets a character advance to the next “spot” in line once it’s open. Here’s a video, though it isn’t as long as I wanted it to be.
I don’t know how I’m going to do this, but if I can do it, the Mary’s restaurant (and others) will have waiting lines near their front counters.
You can now become Teddy in our horror game
Continuing work after a few months of inactivity on the iPhone 14 Pro.
It isn’t much work than the last time on my previous DevForum account.
But hey, it’s something, right?
I still think this is one of my greatest projects i’ve started so far.
Looking to finish this fully like the actual phone, and I mean everything. But that will take a lot of time.
That’s a game I haven’t heard of in a long time…
In relation to the thread a friend and I tried to make a “newer” version (back in 2016) which I might be working on again soon
There’s just something about that good old classic blocky look, no?
Moved gameplay related polls to the surface guis
Oakwood Theme Park Recreation
Oakwood is situated in the clear fields of Pembrokeshire and located near Narberth in Wales, UK!
The theme park offers various rides and attractions included from manufacturers like Gerstlauer, CCI, Zierer, Skycoaster, Pinfari and so much more!
When the final game releases, you will be able to experience the entirety of the theme park in one singular game, through the process, we are making sure we minimise as much potential lag as possible especially since we are working with moving rides that do not run off CFrame! So, what are you waiting for?
Come and join us and follow along the construction updates in hope for a pre-release maybe.
On the other hand,
We do open every weekend at 12:30PM BST (time is subject to change though in the future after recent feedback)
The rides we offer are the following:
Speed
Vertigo
Bounce
Waterfall
Drenched
Creepy Crawler
Witches Brew
Here are some photos of the following rides:
Speed
Vertigo
Those 2 are our main attractions!
We apologise though that Megafobia is currently unavailable and will not be open during your visit.
Here is our group link here:
See you there hopefully
I’m working on my first game. A tower defense game called Goofy Defense! I’ve made another post about it recently that goes in a lot more depth.
I’ve been working on my UGC Portfolio
Looks very good!
If you want to make it as accurate as possible, I would add some of the decals on the walls like the giant letters and numbers at the back and the orange decal on the wall near the charging station.
Another thing you could (dont have to) change is that those little orange lights on the wall look like Spotlights more than Pointlights in the original game. otherwise I think it looks perfect!
In my previous post, some might have noticed a strange phrase in one of its last paragraphs:
I guess I should explain what that is, as little as I can anymore thanks to my brain destroying itself. Basically, it’s the result of seeing people on the DevForums saying that it’s better practice to tag instances that have the same behavior instead of using a separate script for each.
Back when you saw those swinging doors, each individual door (and the counter’s “flap”) was using its own server script. Since then, I figured that other developers were right, and I created an iffy but somewhat reliable server script that tries to manage all tag-based gameplay elements and gimmicks.
The main component of this “Tag Class Framework” (as I sometimes call it) is the manager script. This script requires all of the modules within it (if they’re marked as usable), similar to PhysicsCharacterController by @dthecoolest, then scans for any tagged instances that match the tag that each module is looking for, running a specific function within the module that adds that instance to its “dictionary” and basically turns the instance into what it’s meant to be, for example adding a prompt to doors and letting you open them.
The script hooks into CollectionService’s tag added/removed event connections and fires the functions defined in the module’s settings automatically, so these tasks don’t need to be implemented into each module individually (or worse, as separate server scripts).
Since then, more parts of my incomplete restaurant are beginning to use this “framework”, like those queue lines and the previously-script that replaces colored boxes around the restaurant with actual furniture (the CloneContainer class).
There is also a “demonstration” module (SampleModule), which I guess I made in case I released this on the DevForums. It was updated to use a new feature (which makes this post on-topic):
Classes can receive commands from NPCs (and other server scripts) and players through a BindableFunction and RemoteFunction. While it isn’t being used for the latter case just yet, this lets the potential NPCs do things like opening doors or joining queue lines, things that only players can do otherwise.
The format for sending commands, if you’re curious, is:
ServerStorage.TagClasses.GiveTagClassCommand:Invoke([character model], "Class", [ID], "command", [optional data dictionary])
All tagged instances that are processed by these classes are given an ID (a GUID string for instances that can be added/removed at any time like doors, and a simple number for permanent things like queue lines), which is usually stored in an attribute named “ObjectGUID”. The tag manager script is what receives these commands, which then converts the character reference into its associated CharacterStorage character entry then gives the class’ “command handler” function the requester’s entry, the object ID, command, and extra data.
…this is probably getting boring, as it’s pretty technical, right? Well, let’s see this new function in action! Swinging doors in my experience use the “StandardDoor” tag, which causes the StandardDoor class to transform them into usable doors with a ProximityPrompt (for players) and a response function for NPCs. When I send an “open” command to a specific door, it immediately opens, regardless of the distance that I do it from. Here’s a video proving that this works:
I really am always considering NPCs when making functions nowadays; I wonder if any other Roblox experience has tried to “unify” players and NPCs as much as I have…