Would a "Modding Framework" be worth the time devoted?

What is a “Modding Framework”?

A Modding Framework is a system that allows users to create and share mods for a game, enabling others to enjoy new gameplay experiences. It empowers users to expand and modify a game’s content in unique ways, offering endless possibilities for innovation & community creation.

Why a “Modding Framework”?

A Modding Framework may sound like a simple concept but it’s quite complicated to program & manage, while Roblox itself is growing as a platform the unique ways for users to interact & create within the platform don’t seem to be growing at the same rate. I’m planning and committed to creating a Highly Advanced Modding Framework for Developers to use in their games.

Features I Want:

  • Script IDE
  • World Editing
  • Animation Editor
  • Toolbox, Explorer, Properties Editor
  • Mod Shop
  • Mod Uploading
  • Mod Library
  • In-Game Debugger
  • Custom Event Handler
  • Custom Enum Handler
  • Custom Script Privacy Commands (ex: ‘–@private’, ‘–@readonly’, ‘–@public’)
  • Modding With Other Support (TeamCreate)

What would the workflow look like?

The Framework is based on a Module OOP setup, use .init() on both Client & Server to start the Framework which load the Dependencies to the proper sides. The Framework would allow you to also load your own MOD API, using :LoadAPI(API) you can load the Manager.

This ‘MOD API’ would has a Required Function .new(ModFrameworkReference) this you can decide what happens here, in my API I would call :Connect() & returns self metadata.

Important Note: Only one MOD API can be loaded at a time.

I want this Modding Framework to be similar to CurseForge, you have various APIs for Minecraft, I want to allow this Modding Framework to load the API you want it too, of course it would come with a default API, Utilities, etc. Created by me which is used by default when using this framework. Server will always keep authority over the client.


How Would Mods Be Created?

The loaded ‘MOD API’ also has a dependency that is only activated when the user enters ‘Studio Mode’. The ‘Studio Mode’ is a special environment that loads the necessary UI, code editor, and tools for creating mods. This mode will function similarly to a game editor, giving users everything they need to build and modify mods within the game.

Mods can be created 100% in-game.


What classifies as a “Mod”?

A mod can be almost anything really, a new building added, more gameplay features, already existing features extended or removed. The possibilities could be limitless, with the right planning the players could do anything you could while In-Game.


What are my questions?

Would this be useful for the platform?

  • Yes
  • No
  • Maybe

0 voters

Would you use this framework?

  • Yes
  • No
  • Maybe

0 voters

NOTE: I welcome any and all criticism, suggestions, tips, or insights. Please share your thoughts!

2 Likes

Hello, this a great idea.
Planning before you start is of great importance. Making a document for this is better, where you address all the features of this system, and what is important to note. Start simple.

This might take a very long time to complete if you do this project by your own.

Mods inherently should be an “enable the mod” function and “disable the mod” function.
For example, a mod that replaces every building in a map to modern buildings. The function that enables the mod, should remove any old buildings, and create the modern building at that place. The function that disables the mod, removes the modern buildings (if they still exist), and puts the old building in place.

Mods that are to be added (maybe) should be sent to an admin or the owner of the game, and be inspected for any security vulnerabilities or things that cause lag. Above all, the mod should be fun, and can be accepted into the game or not by the owner/admin.

OOP programming creates some limits, like not being able to send objects over the Client-Server bridge because the Metatable cannot be sent with it. So the object will just become a table without the functions you can call to it.

I suggest sticking to functional programming, the dot instead of the aesthetic look of the colon is not going to make a huge difference.

This is just my own knowledge, I highly suggest looking into other games that support mods and looking at how their system works.

2 Likes