What are you working on currently? (2025)

This was posted in the 2024 thread a few days ago, but I’m working on a pool table / billiards engine for a social hangout project!

Here’s the (very unfinished) demo featuring cue ball controls and an aim assist. You can try it out here and if you play pool, I’d love your feedback!

6 Likes

chill lil game



6 Likes

Working on a plugin that makes procedural terrain within the editor. Early days atm, but a key feature is to automatically create island type terrains:

If it goes anywhere useful, I’ll be sure to let you know :slight_smile:

5 Likes

Our studio is working on a massive and innovative souls-like. With around 20 bosses and 15 areas, it will be one of the largest campaigns ever built on Roblox when released. It’s also hugely technically advanced, using completely custom collisions, physics, movement, and network systems, shown here:

The game features completely unique models, animations, and a full-fledged multi-hour soundtrack.
Along with that, we’re using Volumika, Elttob’s advanced volumetric lighting system for our visuals:
https://x.com/GamesIlliterate/status/1872170266769625394

3 Likes

Trying to make a horror game with what I have learned so far in scripting

I don’t know anymore




4 Likes

just wondering, do you know yet

1 Like

This isn’t even official though.

1 Like

Procedural editor fun… seems to be working out pretty well, hopefully I can release the plugin next week sometime:

You can try this out:

If you like it, please reply on that thread to motivate me to add to it :slight_smile:

3 Likes

Yeh I realized that just after posting these lol. Doesn’t matter sure. Has the same purpose either way.

I am working on a fun first person shooter game that I am hoping to be released in the next 3 months

I’m working on a game like Doors, but vertical and with a timer.

Been working on a third person shooter. Inspired by “The finals”. When it’s finished you will be in a map with 6 other teams of 3 competing to earn money. Currently there is no objective, as it’s still a work in progress… But I hope to get it done soon!

Game if anyone wants to check out my progress:

Recent post I made on it:

1 Like

Still working on my space game! Last time (2024) I posted about how many new features I’ve added to it! (If anyone wants to try, here’s the link: untitled space game - Roblox)

I’ve added some missions and contracts, (Missions are not procedural, contracts are.)

I’ve also added a Flight UI, which displays the orientation with an ADI. it also has a progress bar, speed and altitude indicator.
{DBFF12BE-38B7-409C-B134-DF4176566D2A}

I have also been at work doing the Gemini Capsule! Once that’s done I’ll probably post here again. Either way, lots of progress in one month!

I’m working on a heavy duty NPC system

Their functionality is similar to Restaurant Tycoon 2 NPC’s

I decided I want to have a LOT of NPC’s at once, so I didn’t want to use physics or use humanoids. I also try to avoid the usage of instances (indexing properties is slow!) in favor of everything being data oriented (there’s a name for this?), and finally didn’t want the server have to do any real-time replication of moving NPC’s.


Paths are easy to construct

The paths are constructed via an array of “Actions”. I’m very fond of how easily paths are constructed; it is simply calling a function to add a Wait, a Position, a FloorChange, etc, and everything else is done behind the scenes.

In the case of the game this is for, the NPC must travel to the closest elevator, go up it, and then travel to the destination.

Due to the simplistic nature of how paths are represented, my pathfinder is just this:
image

The NPC wants to get to a point, and starts from another point.

Screenshot of path that is constructed:

It starts at the white circle, travels around the wall, walks to the elevator, waits a second, travels up the elevator, waits a second, and finally navigates around the wall and to its destination, the beautiful green circle.

It then serialized the path into a string, and sends it off to the client!

The path serialized is this:
f1/p0[0/a1/t7741.7=p0[0/p1.7[-36.6/p8.3[-36.6/p10[0/p10[0/t1/f3/p10[0/t1/p10[0/p21.2[6.7/p21.3[11.2/p10[20/p10[20 (if you can depict what the data represents then im impressed)

The client receives it, finds the record, and starts rendering the NPC. Here’s the NPC being moved along the path by the client:

Keep in mind things aren’t very worked on visually, just the data side of things are done. In the future the NPC won’t be named NPC and fly through the air while stiff like a board.

Caching speeds things up by a LOT

Paths are relatively predictable as long as the NPC is going to a destination that has already been pathed to atleast once before. To speed things up, I implemented caching which simplifies the work done in both the server and client context by a ton.

Without caching, the following happens:

Server:

  • Construct initial data
  • Construct path
  • Calculate total path duration
  • Serialize path

Client:

  • Deserialize initial data
  • Deserialize path (VERY time consuming)
  • Calculate per-waypoint duration

With caching, this happens:

Server:

  • Construct initial data
  • Data is already cached, so reuse it (nearly instant)

Client:

  • Deserialize initial data
  • Data is already cached, so reuse it (nearly instant)

Creating 1000 NPC’s at once (all their paths calculated at the same time)

Without caching, it takes around 5 minutes of rocky framerate (it’s hard to measure exactly the time taken / context). This is because roblox’s PathfindingService is not instant; the time is takes to compute paths ranges ultimately expands the computation time by a huge amount.

With caching enabled, the server creates them all in ~5 ms, and the client receives them in ~3.5 ms. This is VERY significant, and I’m looking for ways to optimize this even further.

The client is responsible for visuals

The nice thing with how the system is structured is there’s nearly no network usage. Paths are replicated as just string values, and the client does the rest. The server only calculates the path data and keeps a record that the NPC exists. This makes it easier to add extra optimizations that the client is totally responsible for.

In the video, you’ll notice how the NPC starts out smooth, but then as it reaches it’s target floor it starts to move choppy. This is because the client will purposefully update NPC’s slower the farther away they are from the players current floor.

Everything. Massive shortage of developers so the frontend scripter (me) has to do everything.
GFX, VFX, SFX, every letter in the alphabet appended with ‘-FX’.

Though given some trials and tribulations I think it looks nice.



1 Like

I know you didn’t mean it but this is funny

3 Likes

This is really cool! Good job. One of my favorites so far in this thread

Hey!

I like what you’ve got going. The destruction physics felt a little weird and inconsistent but I’m sure that can be ironed out. For example, It is not clear what you can/cannot destroy and it seems like it only works sometimes.

I playtested the guns with a friend and it seems fluid and entertaining. Keep at it!