Mod support - how far can it go?

Hi there! I’m actively working on my own monogame extension. Its primary focus is making modding more accessible. It can already use external folders from loading data from xml files, so level editing and basic implementation of variants of in-game elements is possible. What would be really cool though, is to let people import any asset (music/effect/texture/shader) and create their own content for the game (enemies, AI, items…) without being restricted because their idea can’t be created out of a variant of a game element (this is far-fetched, but if anyone wants a map tile to suddenly shoot collectible items w/ a rainbow effect while playing a custom sound effect [ect], it’s better to let them code that than create a ShootItem() method with tons of parameters)

My two main objectives are:
-To have the game build external assets to .xnb in order to easily load them (better alternative to .FromStream())
-To create external scripts for class inheriters that the game can run

Current Questions:
-Wow much of this is supported in monogame/.net?
-What approach would you recommend for implementing those features?
-Do you reckon it’s better to have those building tools as a portable version, or to simply require MG to be intalled on the machine?

-As of 7/12/17, I’ve managed to isolate the build utilities -> this means I could technically get the program to have its own built-in builder. Still experimenting with that. The goal would be to enable any modder with MG installed to freely build their content into the game. Now, what is needed is the whole class system to make it easy and built-in.

Current Goal:
-Making a standalone program for importing assets and building them to xnb via a data file listing said assets (basically, a built-in .mgcb editor)


Let me just say I think your project is a worthwhile goal. I’ve seen plenty of people ask for this kind of thing over the years and I think it could be quite popular if done right.

Btw… where is this project? If it’s open source I strongly suggest getting it on github as soon as possible and linking to it every-time you talk about it.

As for your objectives, I can’t say I know how to do those things off the top of my head, but in theory they should be possible. At least, on PC and perhaps Linux. Creating mods on other platforms (mobile and console) seems unlikely but I doubt that’s what you had in mind anyway.

You’d probably have to dig through the MGCB and Pipeline tools to understand how they currently work. Then come up with some sort of plan for integrating the process into your modding pipeline instead.

Yeah, that seems to be the current route. Last time I tried my program was unlaunchable (laughs sadly), but I gotta get back to it I guess. Still in early dev stage, laying down the basic sprite and whatnot classes (because those would need to link efficiently with whatever mod support I figure out)

I’ll post updates as I make progress!