/AeroGameFramework

AeroGameFramework is a Roblox game framework that makes development easy and fun. The framework is designed to simplify the communication between modules and seamlessly bridge the gap between the server and client.

Primary LanguageLuaMIT LicenseMIT

⚠️ Project is archived ⚠️

AeroGameFramework is no longer maintained and should not be used in future projects. Knit is the successor to AGF. Over time, it has become clear that AGF forces bad design decisions on developers and leads to a messy and fragmented code-base.


Logo

Lint

AeroGameFramework

A powerful game framework for the Roblox platform.

AeroGameFramework is a Roblox game framework that makes development easy and fun. The framework is designed to simplify the communication between modules and seamlessly bridge the gap between the server and client. Never again will you have to touch RemoteFunctions or RemoteEvents.

Join the Discord server for further discussion about the framework.

Documentation

Visit the documentation site.

Video Tutorial

Visit the AGF Tutorial playlist.

Example

Here is an example of a client-side controller invoking a server-side service to respawn the player. Notice that no remote objects have to be explicitly referenced:

-- Client:
local MyController = {}

function MyController:Start()
	local didRespawn = self.Services.MyService:Respawn()
	if (didRespawn) then
		...
	end
end

return MyController
-- Server:
local MyService = {Client = {}}

function MyService.Client:Respawn(player)

	local humanoid = player.Character and player.Character:FindFirstChild("Humanoid")

	-- Only allow respawning if the player is dead:
	if ((not humanoid) or humanoid.Health == 0) then
		player:LoadCharacter()
		return true
	end

	return false

end

return MyService

These are complete code examples. They could be put into the framework and work as-is.

Support

Support AGF by buying me a coffee and keeping me energized to keep up the work on this project! Any support is very much appreciated.

Buy me a coffeeBuy me a coffee