Developers often mistake the opinions of a vocal minority of users
with the best interests of their users. It is an easy mistake to make.
Sometimes, when trying to imagine what users want, we even manage to
entirely confuse our imagination with a reality that may be quite
different. I have come to the conclusion that the obsession with
"mods" in open source games fall into the latter category. It is an
idea that appeals because of the great work some people have done with
mods on popular commercial games, and some developers think that if
only they make their game open enough, easy enough to modify in a
myriad of ways, then the same will happen to their games.

This is mistaken for a variety of reasons.

First, the great majority of volunteer contributions to games happen
to be maps. Plain maps with standard rules. This is also the most
popular non-core contribution in almost any game that have them. Just
more of the same. People apparently like variety over a common theme,
while learning arbitrary new rules just to play can be a bother.

Second, the canonical examples of great mods are not really mods at
all - they are total conversions. They strip the existing game down to
its bare bone engine and build it up again with new stuff. The first
Counterstrike is a great example of this. Some of the more popular
Starcraft "mods" are maps that are scripted to work by totally
different rules altogether, they do not seem like playing regular
Starcraft at all, and work more like miniature total conversions than
small modifications ("mods").

Third, maintaining small modifications (mods) to a large core of
rapidly moving game code is a nightmare. Open source developers do not
like stable interfaces, and even when they claim to and the interface
is purported to be stable, then it just so happens that if they are
not continually tested as part of the core game rules (or by unit
tests - which also happen not to be popular), they fall prey to rapid
bit rot and become broken. Popular suggested or created modifications
to the game rules quickly become integrated into the core rules,
draining the pool of mods available for players.

I developed for Freeciv for a while, and started off with like most
others with a huge enthusiasm for generalizing the underlying code so
that others could plug in other kinds of rulesets (rulesets being what
we called mods). In the more than ten years that I have followed
Freeciv development, generalizing the code to allow different rulesets
has been one of the main, if the not the main, goal that people have
been working toward. Despite all this, and despite a lot of progress
on this front, there are no more mods available for players when I
stopped watching closely a year ago than there were ten years ago. The
mean number of popular, complete, working mods has in all those years
been... zero.

This rather irrational, at least from a development perspective,
obsession with mods did not only mean that a lot of time was spent on
features that did not benefit a lot of players. This would not be such
a great concern, because we the developers had great fun exploring the
possibilities and working out the challenges of such generalized code.
The problem was that a generalized code engine that supports all kinds
of strange rules is inherently more difficult to maintain, and very
much more difficult to write an actual, fun game on top of. Creating
an AI that is challenging and fun to play against is a huge problem if
it cannot make a lot of assumptions about the kind of world it will
inhabit. While the AI only grew moderately more difficult to play
against, it grew considerably slower because of all the extra
calculations it had to run to understand the possibilities in the
generalized rules engine.

As for Warzone, we are facing the same issues, just that we are now
where Freeciv was ten years ago. Our mean number of working, complete
mods is zero. That is, if we do not count Rebalance, which is an
exception that pretty much proves my point, since not only was the mod
absorbed into our core, we even assimilated its developer... ;-) So
let's not make the same mistakes that Freeciv did. Users in general
are not going to learn the arcane switches and incantations necessary
for making mods work (--mod_mp?), and as long as we refuse to greatly
simplify the way mods are treated, we will not be able to offer an
appealing user interface for users to access them.

What we need first and foremost is an easier way for users to create,
distribute and download maps.

After that we need a better way to offer users a way to install and
play total modifications. Those are either new campaigns, or totally
different and network incompatible multiplayer/skirmish games using
their own AIs and own game data. Overriding base game data is a risky
way to create them, since even small changes to non-overridden base
data could break it. So the best way to create them is to replace
everything. Then we can offer a menu where such conversions can be

As for the small mods that just change one or two things, like
increasing mg firepower or adding flying trucks... I dare say they are
by and large not needed, and won't be used, except as a proof of
concept. For that you can use ordinary patches to the core game data,
and deal with them like we deal with code patches. In the long run,
supporting them is probably harmful.

So in order to get good support for user modifications, we should
remove support for mods.

  - Per

Warzone-dev mailing list

Reply via email to