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.

Potential Features:

  • 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)

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 are only created on the Roblox Platform, Never will you visit a third-party service.


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.


Mod Moderation

You, the developer, have access to the moderation tool, through which you can review mods that have been published but not set to public, including the code, builds, etc.

I will also provide a module system that looks through the mod’s code and looks for suspicious activity, like the use of HTTPService, DataStoreService, loadstring(), require(), getfenv(), setfenv(), pcall(), etc.

You could also make your own plugin to work with the moderation tool.


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!

3 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

After research majority of modding frameworks use an OOP code cycle. (Example: Minecraft (JAVA), Skyrim, etc)

This doesn’t mean they are locked to one Programming Paradigm, I want the users to feel like they are using Roblox Studio.

I was planning on adding enabling & disabling mods, for the replacement of things I’m creating a custom Change History that can find what was changed and revert it back, it will also work with the editor.

Mods will be sent to a Moderation Tool for the developers to access, updated the post to address that.

I will post a Document here for all to read and help me improve the vision for this project!

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

Hi,
I recommend looking into the approach of Retro studio as well. They built a whole old-school Roblox Studio where you can make your own games, inside the Roblox Client. I hope for your ideas to become a reality.

1 Like