Gargantuan: An Independent Game Engine for Roblox Developers

Gargantuan is an 3D game engine, scriptable using Luau, independently developed and maintained by my (previously Roblox) game studio: Team Fireworks!

It’s open source (MPL-2.0): https://github.com/teamfireworks/gargantuan
Community server: https://discord.gg/wTudGB7cJA

Goals

  • Gargantuan is powerful, boasting a feature rich 2D and 3D featureset.
  • Gargantuan is productive, with a familiar Luau API surface that facilitates rapid prototyping.
  • Gargantuan is multiplatform, enabling one game to run across desktop, mobile, and VR.

And finally,

  • Gargantuan is 100% yours, from the platform, assets, and even core scripts.

Today’s Status (August 12th 2026)

  • Implemented classes: Attachment, BasePart, Camera, Constraint, DataModel, FileLink (Gargantuan-exclusive), Folder, GuiObject, InputObject, Instance, LuaSourceContainer, ModuleScript, Part, Script, ServiceProvider, Tween, WeldConstraint, WorldRoot
  • Implemented services: ProcessService, ReplicatedStorage (no unique features yet) RunService (just the signals for now), TweenService, UserInputService (just keyboard & mouse events for now), Workspace
  • Implemented data types: Axes, CFrame, Color3, Enums, Instances, Random, Signal (RBXScriptSignal, also Signal.new<T...>()), SignalConnection (RBXScriptConnection), TweenInfo, UDim, UDim2 (no global library yet), Rect (no global library yet) Vector2, Vector3
  • Implemented features: Rudimentary physics, rudimentary renderer, task global library w/ collaborative multi-tasking, require with @game paths, Gargantuan projects, Gargantuan .instance.json files

Roadmap

  • Gargantuan Studio to edit projects (by 2027)
  • Compile projects into executables
  • UI, textures, custom meshes, PBR (coming extremely soon! All the prerequisite features are completed)
  • Lighting service with better lighting
  • More services, such as: TweenService, TextChatService, Players, CoreGui, etc.
  • Userland post-processing shaders alongside a GlslSourceContainer class
  • More instances

Non-Goals

  • Gargantuan distinctly is NOT a UGC platform like Polytoria or Luduvo, but rather an open-sourced game engine. Competing UGC platforms often fail as they paradoxically require a game engine before it’s players, who need great games made with a great game engine. Gargantuan however serves as a great base for such platforms.
  • Gargantuan is aiming for ~80% feature compatibility with Roblox. We are choosing not to implement most deprecated features. Rather we are cherry picking the best & most popular APIs of Roblox. Gargantuan makes it possible to write more idiomatic Roblox-like code than is today, but Gargantuan will have a Roblox compatibility mode that moves things around for ~95% feature compatibility. For example, Gargantuan types it’s signals Signal and SignalConnection as opposed to Roblox’s RBXScriptSignal and RBXScriptConnection. However, the Roblox compatibility mode modifies the typename to match Roblox, fixing functions like typeof()
  • Gargantuan is basically human-made, but we observed that many Roblox top developers - a handful have contributed to Gargantuan - use AI/LLMs for it’s benefits. AI use in Gargantuan is kept minimal, filtered, and trivial, where AIs never make a core architectural decision. I also want to be transparent as this is an open source project; I understand that AI is very frowned upon in the Roblox community so we’ll like to improve for betterment.

Closing Remarks

It’s a shame that Gargantuan was born from Roblox’s age restrictions blocking my own game studio from developing my games on Roblox. Roblox developers today are either forced to lock-into an unstable UGC platform industry, learn a mainstream game engine that is orders-of-magnitudes more complex and volatile than Roblox (ie. C# for Unreal Engine & Godot), or stay on Roblox (which is a failing company & associating themself with generative AI. Gargantuan was made to let people like us, Team Fireworks, deservingly to own their games, as well provide a comprehensive new home for Roblox games.

31 Likes

Dang didnt expect that Polyester Edit

2 Likes

seems awesome, seems cool, but im pretty sure i saw something similar to this on the dev forum which got its dev forum post taken down, dont know if this one will also :eyes:

5 Likes

Thank you for the kind words!!

I know theres prior art with Tessera Engine & other game engines. Worth noting Gargantuan is a cleanroom implementation done by hand. Also, we are not associating Gargantuan as an official project of Roblox. I really doubt anything serious would happen, but I would appreciate a heads up if I have done something wrong

Dude this is awesome. I’ve tried doing this myself… nothing ever came from it, but this is seriously something. Cant wait to see the finished product.

2 Likes

UI sneak peek


2 Likes

I think I just let a tear run down…
This is magnificent; open-source, standalone and pretty much drop-in-replacement.

:smiling_face_with_tear:

1 Like

That’s really cool, I love to see you putting in the time and work. Unlike most, cough! “Tessera Engine”.
I heard Tessera got delayed.

1 Like

Tessera website looks AI generated lmaao. Wouldn’t be suprised if it’s partially vibe coded.

Anyway, basic UI has been implemented!!!

Code for this demo:

const CoreGui = game:GetService("CoreGui")
local Workspace = game:GetService("Workspace")

CoreGui.Name = "CoreGui"

const half = Instance.new("Frame")
half.BackgroundColor3 = Color3.new(1, 0, 0)
half.Size = UDim2.fromScale(0.5, 1)
half.Name = "Frame"
half.BackgroundTransparency = 0.5

const centered = Instance.new("Frame")
centered.AnchorPoint = Vector2.new(0.5, 0.5)
centered.BackgroundColor3 = Color3.new(0, 1, 0)
centered.Size = UDim2.fromOffset(128, 128)
centered.Position = UDim2.fromScale(0.5, 0.5)
centered.Name = "Centered"

const screen = Instance.new("ScreenGui")
centered.Parent = half
half.Parent = screen
screen.Parent = CoreGui
centered.Name = "Screen"

print("Camera viewport size =", Workspace.CurrentCamera.ViewportSize)
print("Screen absolute size =", screen.AbsoluteSize)
print("Half absolute size =", half.AbsoluteSize)
print("Centered absolute size =", centered.AbsoluteSize)

I used this repo for the website and edited the theme GitHub - crynta/Terax-website: The website and landing page for Terax · GitHub

Can we not start talking bad about each other? I would like to keep this side of the roblox community cordial, there is no need for accusations, both of our engines can co exist, I am happy to see more of them popping up. Tessera is not vibe coded, I have been working on it for 2 years on and off, if you have any other questions, let me know.

3 Likes

I am working on Tessera everyday I can, I have changed my work hours so I get a 2 weeks off a month to work on it, it is just me on the project at this moment in time, so cough, I am putting the time and work in. I do not understand the lack of understanding for the delay from some people, you are all developers yourselves, you know this isn’t an easy thing to do and things do not go as planned.

5 Likes

Also, just a note, even if I was vibe coding, by your rules that would be okay and not something you use to demean my work?

3 Likes

Fair enough, I apologize.

AI policy stuff is being discussed/in flux in the Discord server, consensus is to allow trivial usages of AI. The current AGENTS.md are outdated and aren’t really enforced beyond “no non-trivial ai,” I’ll update them when high school enables more time for Gargantuan.


I’ll like to also acknowledge Tessera is a really cool project! Very impressive work being done especially if you manage to deliver the expectations set out by Tessera on release. I personally don’t see an issue with delays, as you previously said game engines (especially on a Roblox scale) are ludicrously complex. Once again, sorry for demeaning your project. I promise I’ll do better for all game engines going forward

1 Like

All love dude, thank you for your kind words, good luck on your engine.

5 Likes

Roadmap

Userland post-processing shaders alongside a GlslSourceContainer class

Why GLSL over HLSL? Wouldn’t HLSL be the go-to for widespread support?

You’re genuinely a good dude, I made a harsh remark about the delay and instead of making one back you gave you’re side. I deeply apologize.

1 Like

Good catch! There wasn’t a specific reason beyond using GLSL to rough out the engine lol. As part of the Flecs/Monorepository rewrite (see Flecs & Monorepository Rewrite by unfalteringfire · Pull Request #43 · teamfireworks/gargantuan · GitHub), we plan on using SDL_shadercross which supports HLSL. Will probably rename it to HlslSourceContainer

Reposting from the Discord:

Hello @everyone,

Gargantuan will be implementing a no AI-policy for both the contributor and the license. It is effective immediately in the rewrite (refactor-monorepository-again branch) and will be brought onto the main branch with the rewrite.

As Gargantuan develops and grows it’s own community, it is important to maintain it’s integrity as both a learning project for myself and others, and a viable Roblox alternative for deplatformed games and studios. With that said, no consensus has ever been reached on LLMs because of it’s sheer polarization. LLMs has generally brought more harm than good to Gargantuan; there has also been numerous accounts of people forking Gargantuan with LLMs. I do not want to see LLMs tainting more of Gargantuan’s reputation.

I recognize that such a policy is hard to enforce for trivial & minimal LLM usage. This is NOT a ban on trivial usages of AI as long as the contributor understands the code personally, and that it blends in with human code.

I understand many of you use LLM as an effective tool for development. This IS a no-LLM policy for working with Gargantuan. This IS a ban on generative AI as a whole in Gargantuan. This is NOT a ban on features like MCP where you bring in your own LLMs as needed.

This has been internally discussed, and I do not forsee walking back this change.

Thanks for understanding!

rniraclefire o/b/o Team Fireworks Games

was going to join the discord to further inquiry about the project… this is unprofessional and will dissuade people from joining…

1 Like
  • There is an application to 1. weed out non-developers (we are mainly looking for game developers who can help contribute by using Gargantuan and/or working on the engine itself) and 2. let people join us from a hypothetical server tag (disabling join applications will make the server private). Community wants a server tag if that wasn’t clear but I’m waiting for another boost
  • Stars should probably be removed (mb) it was there in the engine’s early days
  • I get people want to have a professional server, though for that we have a Gargantuan thread in the ROSS Discord server. Community rn is fine but feedback would be appreciated :slight_smile: