riptide/core
v0.8.0 ยท
A lightweight and professional framework for Roblox.
____ _ __ _ __
/ __ \(_)___ / /_(_)___/ /__
/ /_/ / / __ \/ __/ / __ / _ \
/ _, _/ / /_/ / /_/ / /_/ / __/
/_/ |_/_/ .___/\__/_/\__,_/\___/
/_/
A lightweight, strictly-typed, and modular framework for Roblox.
๐ Why Riptide?
Riptide was built from the ground up for production Roblox games. It solves the most common architecture problems while remaining invisible, staying out of your way, and scaling elegantly.
- Deterministic Lifecycle: Phased initialization (
InitโStart) eliminates race conditions. - Dependency Injection: Ditch circular
require()chains. Inject your dependencies safely using canonical paths. - Unified Networking: One single
RemoteEventandRemoteFunctionhandle your entire game's network traffic. ZeroReplicatedStorageclutter. Let Riptide multiplex everything. - Strictly Typed: 100%
--!strictLuau. Enjoy flawless autocomplete and compile-time safety right out of the box. - Built-in Power: Comes fully loaded with a robust
StateMachine,ComponentService, andStateReplication.
๐ฆ Installation
Riptide is distributed via Pesde. Install it directly into your project using the Pesde CLI:
pesde add riptide/core
๐ Quick Look
Write clean, modular code with predictable execution phases.
--!strict
local RiptidePkg = require(ReplicatedStorage.Packages.Riptide)
type Riptide = RiptidePkg.Riptide
local PlayerState = {}
function PlayerState:Init(Riptide: Riptide)
self.DataService = Riptide.GetService("DataService")
Riptide.Network.Register("PlayerJumped", function(player, height)
print(player.Name .. " jumped " .. height .. " studs!")
end)
end
function PlayerState:Start(Riptide: Riptide)
self.DataService:GiveMoney(100)
end
return PlayerState
๐ Documentation
For complete setup guides, API reference, and examples, visit our official documentation site:
๐ Go to Riptide Documentation
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.