Sign in to follow this  
Zuhon

Unity Moddable but not open source?

Recommended Posts

Zuhon    182

Hey! I'm working on my first few games, and I'm trying to learn everything about design I can. One thing though, that I haven't gotten a clear answer on, is how games can be heavily moddable yet not open source? The only realistic answer I've gotten is "In order for your game to support mods, you have to code an entire modding API." Is this the truth? I really want to support the modding community with my games, yet I don't want to make it open source, thus free.

 

Any answers appreciated, thanks smile.png

Share this post


Link to post
Share on other sites
Yourself    1961

It depends what you want players to mod.

If you want them to create new levels for example, ship a level editor with it.

if you want players to modify abilities (for example movement speed of characters), give them a property editor (although I would combine this in the level editor).

If you want however players to have the ability to change everything and even make completly new games with it, you will have to provide a modding API.

Share this post


Link to post
Share on other sites
SimonForsman    7642

Hey! I'm working on my first few games, and I'm trying to learn everything about design I can. One thing though, that I haven't gotten a clear answer on, is how games can be heavily moddable yet not open source? The only realistic answer I've gotten is "In order for your game to support mods, you have to code an entire modding API." Is this the truth? I really want to support the modding community with my games, yet I don't want to make it open source, thus free.

 

Any answers appreciated, thanks smile.png

 

The scope of the mod API depends on how much you want the users to be able to modify.

 

Also, open source != free. (Some opensource licenses(such as the GPL) make it difficult to charge people for the software(in the case of the GPL anyone who gets a license is allowed to sell or give away copies but very few prevent you from doing so.

 

You do however need to draw a clear line between code and other assets that can't be redistributed and code/assets that can be redistributed(as part of a mod) and that is fairly hard to do without a clean API to separate those parts.

Share this post


Link to post
Share on other sites
tapped    412

There are two approaches you can choose between. Both of them needs to be done in the design phase of your project.

 

The first one is to make a plugin based system, using DLL's(dynamic link library) on Windows, or shared libraries on UNIX platform.
You start of creating an executable core, with the engine and other things you don't want a modder to have access to.

However keep in mind what you want the modder to have access to, and export these functions.
Now you can choose to make the game as a mod, or create the game explicit in the executable.
The first approach is the easiest way, and used by Valve for example.

 

The second approach is to give the modder a scripting language, which is linked with some of the functions in your game.

This can easily be done with Python, or Lua. Most games made to day have scripting support, used during the development cycle.
Unreal Tournament uses this approach for example.

When it comes to assets, you need to have a copyright license. The copyright license must be there even if you don't make the game moddable.
However most games use compiled assets, which often are hard to edit or use. This way the modders can only use your assets in your game, but can't edit them.
You should also ship the tools used for compiling assets, so that the modders can create their own assets.

Edited by Tapped

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this