Roadmap
Gargantuan 0.1
Section titled “Gargantuan 0.1”Basics
Section titled “Basics”- Luau runtime layer (thanks godmothersfire!)
- Parts (thanks godmothersfire!)
- Shadows (thanks godmothersfire!)
- RunService (thanks godmothersfire!)
- Workspace (thanks godmothersfire!)
- UserInputService (thanks godmothersfire!)
- Lighting (needs more work)
- TweenInfo (thanks godmothersfire!)
Studio
Section titled “Studio”Projects will initially have:
- a
.gargantuan/project.instance.json - a
.gargantuan/project.config.json
Studio progress:
-
.instance.jsonformat (thanks godmothersfire!) - Load projects by CLI (thanks godmothersfire!)
- Opens existing projects (thanks godmothersfire!)
- DirectoryLink (NOTE: needs bugfixes and edge casing for Rojo init.luaus) (thanks godmothersfire!)
- New project flow
- Implement UI primitives
- Widgets
- Docking
- Plugins system
- Ribbon bar
- Settings plugin
- Explorer plugin
- Properties plugin
- Console plugin
- Building tool plugin
- Run Rojo inside Gargantuan :)
Scripting
Section titled “Scripting”- ProcessService (great for Lest and friends!) (thanks godmothersfire!)
- Implement the remaining data types to API parity
- ScriptSecurity enum, tentatively: None, Plugin, Studio, Internal
-
require()implementation with user-provided require aliases (thanks godmothersfire!) -
@game/...maps to requiringDataModel...(thanks godmothersfire!) - Roblox compatibility mode
- Render GuiObjects
- Render Frames
- Render TextLabels
- Render ImageLabels
- UIListLayou
- UICorners, UIGradients, UIPaddings, UIStroke, etc
- UISizeConstraint, UIGridLayouts, UIPageLayouts, UIFlexItem etc
- TextButtons and ImageButtons receive input
- TextBoxes are stateful
- Render ScrollingFrames
- Render EditableImages
- Drag and drop
- EditableImages
- ViewportFrames
- Stylesheets?
- Basic physics colliders (thanks Native315!)
- Mesh colliders
- Visual Materials
- Physical Materials
- MaterialService
- PBR
- LightingService
- LightingEffects
- Textures and decals
- GlslSourceContainer, VertexShader, FragmentShader, ComputeShader classes
- Competent lighting/renderer
- MVP player controller preset (Exact obbying can be done later)
Gargantuan 0.2
Section titled “Gargantuan 0.2”Repository
Section titled “Repository”- Monorepository layout (Can be done in 0.1 if deemed feasible)
- Migrate to flecs with an ECS layout (Spook has a reference implementation)
Studio
Section titled “Studio”-
.instance.binformat - Compile projects into executables
- Implement client-server boundaries (run two Gargantuans at once for now)
- Datastores
- Monetization $$$$$$ (by the developer, not Gargantuan)
Worlds
Section titled “Worlds”- Constraints
- ParticleEmitters
- Trails
- Beams
Gargantuan 0.3/1.0
Section titled “Gargantuan 0.3/1.0”Studio
Section titled “Studio”- Implement the assortment of Lute stdlibs
- Implement code modifications with
@std/syntax - Self-hosting game servers
- Self-hosting CDN servers
- API rich enough to get large games onto Gargantuan (ie. Welcome To Hell)
- Visual scripting (block & node based)