Exploration Game with Extensions as Mods

I had an idea as I was daydreaming about video games, and was wondering if it either sounds like a good/possible idea, or if it has even been done before.

I want to make a game that, by itself, was just a plotless exploration/sandbox game that provided a basic system for essential stuff like conversation, combat, leveling up, and such. Along with it, though, there would be several optional extensions that could be downloaded to provide plotlines for the player to follow, new abilities, new locations, and so forth. Ideally, players who liked the game could contribute their own extensions.

Is it even possible to install extensions for an interactive fiction game after it’s already been published? If so, does this sound like a cool idea from a game design standpoint?

It sounds quite a lot like Eamon. But that was on the 8-bit Apple II in the 80s and 90s. In a form that exists today, it sounds like Eamon Deluxe:

eamonag.org/pages/eamondx.htm

  • Wade

I think it’s brilliant! But that’s because I’m already tinkering on something very much like this. :slight_smile: Too early to say more though.

The roguelike ToME does something like this – it is an engine with modules that can be loaded into it.

This would be pretty tough to do with something like Inform, I think.

Theoretically you could do it with TADS 3.1 and it’s dynamic compiler. But I think it would be easier instead to do something like porting Inform’s parser to Python.

Seems like you might be able to do it with Guncho, though I don’t know hardly anything about Guncho.

It also sounds kind of like a MUD, which I also know hardly anything about.

It’s an interesting idea, it’s just doing things sort of in reverse.

Usually extensions (as monikered) “extend” the vocabulary of the game engine for someone writing a game to add more things it will do…shortcutting the author from having to write code for a process that’s difficult or complicated.

You certainly could write a killer engine as game code, then plug rooms and details in with an extension. I would imagine some people might do this on their own for some specific reason. The problem is this is totally backwards for an end user. They would need to obtain the Inform 7 (or whatever system) IDE, understand how to install an extension, then play the game either in the editor, which allows them quite a few cheats and cosmic powers, or compile it out for themselves for play using an interpreter. It sort of makes me think of that episode of THAT 70’S SHOW where Kitty and Red Foreman go to a restaurant with a new-fangled salad bar and he throws a fit saying “If I wanted my wife to make her own salad, we could have stayed at home!”

If you manage to make a really neat set of integrated systems for conversation, combat, magic, all that…it would probably be more of a benefit to release that as an extension, so you and other authors could make use of it. Your goal would be to make a suite of utilities that altogether are more useful in concert (or possibly simpler to use, or exist in less of a memory footprint, say so the game could have lots of features and still compile in Z-Code) than any other handful of the stalwart extensions that already exist.

For example - I tried using Output Filtering to save myself having to correct a bunch of line breaks and capitalization issues, but that extension is a bear, requiring Text Capture and slowing my glulx project down unacceptably with all the other things that were going on.

One type of extension that might be useful would be one that allowed an author to define RPG like statistics and easily manipulate them in a game with dice-rolling mechanics that incorporated magic and combat so you could do something like:

Cave is a room. A troll is a kind of aggressive monster. A troll is usually level 2. There are three trolls in Cave. A troll usually incorporates a damage bonus of +2. A troll usually incorporates an attack bonus of +1. A troll defeat usually grants 100xp/Player Level. A club is a kind of weapon. A club usually causes 1d6 damage. A club usually hits with a 3 on 1d6. A troll usually carries one club. A troll usually loots 1d10 gold. A troll sometimes loots a treasure map with a 2 on 1d20. MegaTroll is a kind of troll. MegaTroll is a boss monster [giving bonus XP]. MegaTroll loots 3d6 gold. MegaTroll incorporates a damage bonus of 1d6. MegaTroll incorporates an attack bonus of -2 [due to his only having one eye and no depth perception]. MegaTroll loots the Amulet of Awesomeness. A MegaTroll defeat grants 300xp.

Your idea, though, is ambitious, and I’d love to see what you come up with!

Hmm, forgive my ignorance–but couldn’t it be done almost like a variable? There is a system in inform 7 to load information–for instance, one can allow the player to input information in game, like “Are your eyes blue?”. I haven’t investigated it, but isn’t it (theoretically) possible to allow the player to copy/paste a giant block of text at a prompt?