Introduction
Welcome to Volt, an extremely powerful game framework. You may have heard of other frameworks such as AGF or Knit which are both very popular and for good reason. They’re great frameworks. That said, Volt offers itself as an alternative. While AGF & Knit focus on the server-client boundary side of Roblox, Volt focuses on organization and control flow while still offering user-friendly solutions for handling the client-server boundary.
Advantages
Lightweight
Volt is lightweight and will have little to no noticeable impact on your game’s performance. It’s compact and requires 5 essential modules to run properly only spanning ~200 lines of code with the potential for even further future optimization.
Powerful Directory & Import System
Various parts of Volt use an intuitive directory system. For example, Volt comes equipped with an import
function for importing modules. Let’s say you had a module in ReplicatedStorage → SomeFolder → MyModule. Using Volt all you have to type to import it is
local myModule = Volt.import('SomeFolder/MyModule')
Furthermore, when importing in Volt there’s a neat little priority system that will check multiple directories if Volt fails to find what you’re trying to import.
Control Flow
As stated in the introduction Volt gives users the ability to manipulate the control flow of their game. What this means is that you have the power to control what order your scripts run in. The way Roblox executes your scripts is entirely random meaning something might run before something else you expect to run first. This problem isn’t seen with Volt as it uses scripts known as executables where you define their control flow.
Client & Server Executables
Executables are simply module scripts with a few special attributes. Think of them like either a server script or local script. If you’re familiar with AGF & Knit executables can also be seen as incorporating both services and controllers. Executables can run synchronously or asynchronously and are ran based on how they are passed into Volt. This is how control flow is manipulated.
Documentation
Plugin
To simplify the creation of executables a plugin exists and is maintained. For more information view here.
https://www.roblox.com/library/6899608114/Volt-Plugin
Demo Place
Feel free to check out this Volt demo place. It showcases a few executables working side-by-side to handle UI, parts, a money system, and server/client interaction. The place is uncopylocked so feel free to take a look at the code inside to learn how it uses Volt.
https://www.roblox.com/games/6900493438/Volt-Demo