Home
  • Home
  • About
  • FAQ
  • News
  • Articles
  • Forums
  • Contribute

Article Categories

Cities Unlimited
Core Ideas
Design Principles
Drawing Board
Funding
Miscellaneous
Structure

Member Login

Login/Register
What is OpenID?
  • Log in using OpenID
  • Cancel OpenID login
  • Create new account
  • Request new password

Newsletter

Have the latest news and updates about the Metropolis Project delivered to your email address!

Previous issues
Syndicate content
Home » Forums » Game Design

Tools: Integrated Plugin Manager

Submitted by John on Fri, 03/04/2011 - 19:09

From the beginning, one of the goals for Metropolis has been to create a game that is not only "friendly" to modders, but is actually built from the ground up with moddability and extensibility in mind. To that end, part of the goal for the Metropolis Project is to create not just the game, but a set of tools which make modding and configuration accessible to players. Naturally, being open source, the game will be open to modification by anyone, but in practice simply packaging the source code with the game limits modding to those with the technical expertise to not only code, but to make sense of what already exists. By providing utilities that open modding and asset creation to as many people as possible, we can encourage a robust ecosystem of player-created content like the one that exists for Sim City 4.

The specific tool I want to address today is something I've mentioned in several previous articles: A plugin/asset manager for buildings, modules, and scripts. It should be able to accomplish several things:

  1. It should handle game configuration and player settings.
  2. It should manage compatibility and dependency among different configurations of assets and modules.
  3. It should provide a portal to online libraries of additional content.
  4. It should manage game files, so the player is never required to go into the game's file system and add/move things manually.

Let's look at each of these functionalities in turn.

Configuration

The main function of the plugin manager would be to act as a configuration utility for the game itself. As such, it will be tightly integrated with the main program. The player would have three options for accessing it:

Three ways to access the asset manager

  • From the game's main menu. An "options" or "configuration" menu item would open the configuration interface.
  • From the in-game UI. This would be the same system I talked about in the article Option Trees for Roads, Zones, and Objects. "Custom" menu items in the UI would link directly to the relevant section of the configuration manager, and allow for the creation of custom asset types on the fly.
  • From outside the game. I think it's important that a player be able to access the configuration settings and browse their current assets without having to boot up the game itself. To this end the configuration manager should be able to launch as a freestanding utility.

The actual interface of the manager should be organized the same way as was outlined in the Option Trees article above: a cascading hierarchy of options, from the most general to the very specific. Every facet of the game would be included: Building and network assets (whether unique models or procedural scripts), game modules, and other kinds of content. The options displayed would depend on what modules and assets the player had installed; All available items would be displayed, and the player would be able to enable or disable them according to their preferences. There should also be a system in place to create profiles for different game configurations, which could be used as a simple way of saving user preferences, or as an element of mod packages.

Compatibility

Individual game assets would be managed using a package system, similar to that used by the major Linux distributions. Without delving into too much detail about the exact mechanics of the packages, there should be a way to ensure that all the necessary dependencies for a given module or asset be in place before the player can enable it. Additionally, the manager should present conflicting packages, or those which replace each other, in such a way that the player must choose one or the other.

The system of configuration profiles I mentioned above would also come into play here. A saved configuration profile would contain all the necessary information for a player to enable a certain mod package; loading such a profile would cause the utility to look for the packages it specifies and prompt the player to:

  • Enable the any packages that are disabled.
  • Disable any packages that conflict with the newly enabled ones.
  • Download any necessary packages that are missing from the online repository.

Which brings me to the next point...

Repository Access

A necessary complement to a game that supports player-created assets is a forum for those assets to be shared and discussed among the wider community. If Metropolis is successful, we will want to establish these kinds of online repositories, whether they are hosted directly by the project, on one or more of the major fansites (Simtropolis or SC4D being the obvious examples), or both. Unlike Sim City 4, however, I would like to integrate access to these repositories directly into the game, so that the player can download new assets as they play. In other words, you would be able to search for, download and install new buildings organically, as the circumstances in the city dictate, rather than the old system of quitting the game, getting on the web, searching for a building, downloading it, unpacking it, installing it, and then booting up the game again. Having this functionality would not only provide a smoother user experience, but would encourage more players who might otherwise be turned off by the hassle to use contributed assets.

Of course, it's not always the case that custom content just fulfills some specific need; Part of the fun is to browse through the most recent or well-regarded player creations and download something that strikes your fancy. This would, of course, still be possible, as the same databases of content would be accessible through a web interface, with the offline configuration utility, and ingame.

The contents of the repository would be organized the same way assets are organized in the game itself, most likely with a tag system. This parallel structure would make searching from the ingame menus easier, as the browser would immediately jump to the appropriate assets depending on where it was accessed from. For example: the player opens the menu for municipal services, and then the submenu for police stations. From there they click on the "custom" button to access the plugin manager. The plugin manager shows all the currently available buildings that have the potential to be police stations; But another button would open a pane listing all the assets from the online repository with the same function, which could then be downloaded and installed with a single click.

iTunes interface and file system
Itunes libraries can be accessed easily without using the iTunes application.

File Management

Last of all, the manager should keep plugin, asset and module files organized in a coherent way. While it should be able to do this without any player interference, it's important that files are kept in a logical, human-readable format. The model here would be something like iTunes, which has good file-handling capabilities, but also organizes things in a common-sense fashion so they can be accessed outside the program itself.

While not as eye-popping as some features, a good set of utilities like this will go a long way towards making Metropolis a smooth and enjoyable game to play.

  • Email this page
  • Design Principles
  • Game Design

2 reponses to "Tools: Integrated Plugin Manager"

1. This tool is very simple and

Submitted by Mighty_Borlaug on Mon, 03/07/2011 - 11:18.

This tool is very simple and useful! I think this would be 100% hassle free compared to how it has to be done in SC4. The parallels are correct! If any more time or hassle is added to this phase, the game begins to discourage the user from adding content. Crimony! Why hasn't someone done this already?!

  • reply

2. Someone wrote a rudimentary

Submitted by John on Mon, 03/07/2011 - 21:49.

Someone wrote a rudimentary plugin manager for SC4, as I recall, but it was still pretty rough, and obviously didn't integrate with the main program. It really is a big turn off to have to manually install all those extras, even though it's barely worth playing SC4 without the NAM, etc.; I got a new computer a few months ago and honestly I haven't even bothered reinstalling SC4 for just that reason.

  • reply

Post new comment

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <img> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

Recent Forum Posts

  • Suspension
  • SEE THIS RIGHT NOW!!
  • Sim City 5: Finally Coming, In 2013
  • Sim City 5 Rumors Afoot (Again)
  • Drawing Board II: Building Speed
more

Who's online

There are currently 0 users and 1 guest online.
  • Background
  • Charter
  • Contact
  • Donate