Introduction
First of all, thank you for checking out my framework. I really appreciate that 😄. I put a lot of work into this framework by exploring all sorts of different design patterns, possibilities of utility functions and performance improvements. Enough talking, let's get started!
What is Quebec?
Quebec is a modular Roblox game framework developed for vanilla Luau. It's entirely written in pure Luau and therefore 100% compatible with Roblox. The goal of Quebec is to create a seamless developer experience, because developing Roblox games can quickly become a mess, especially for bigger games.
To achieve this, Quebec uses services and controllers. These are called "singletons" in Quebec, because they are only instantiated once, and never multiple times. A singleton is essentially a place where your game logic lives.
Normally, a singleton has one specific field or task to avoid clutter and improve organization. The best example for this is: DataService, MonetizationService & JoinService
, where each service has it's own purpose.
What are the benefits?
Quebec provides the developer with a lot of benefits. Some notable ones are:
Organized and well-structured codebase
Built-in utility functions and modules
Little to no performance loss
Lifecycle events to act upon game events seamlessly
Opt-in architecture: You only use, what you need
Load order: A singleton will only start, once it's dependencies have already started
... and more
I am still not convinced
If you are uncertain if you need Quebec, just try it out. You can always revert back! And also, we accept new contributors on our GitHub 😉
Last updated