Skip to content

Commit

Permalink
Modding Manual home page
Browse files Browse the repository at this point in the history
  • Loading branch information
jwrober committed Sep 10, 2021
1 parent a6f9bee commit 3bb0349
Showing 1 changed file with 76 additions and 1 deletion.
77 changes: 76 additions & 1 deletion docs/Modding/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,84 @@ Modding
Modding
The Modding category is an area for documentation editors to provide tips and other details on modifying
aspects of Freeciv21 such as Rulesets, Musicsets, Soundsets and Tilesets. All of these areas allow for a
large amount of varyability in game play that is not hardcoded in the software. This is one of the
large amount of varyability in game play that is not hardcoded in the software. This is one of the
strengths of Freeciv21.

There are five major areas of Modding that are often called "Modpacks" and are written by "Modders".

#. Rulesets
#. Tilesets
#. Soundsets
#. Musicsets
#. Scenarios

All of the Modpacks are written in plain text files, except for Scenarios. The plain text files resemble
:literal:`ini` files in format and are known as :literal:`spec` files to Freeciv21. Scenarios are specially
designed saved games that have been edited for a specific purpose. Examples include: Earth Map, Europe 1900,
Americas Map, etc.

Rulesets
========

Rulesets are a collection of :literal:`spec` files that fully define a game's rules. Rulesets are broken down
into 12 files. The :literal:`spec` files for rulesets are defined as follows:

- game.serv
- game/buildings.ruleset
- game/cities.ruleset
- game/effects.ruleset
- game/game.ruleset
- game/governments.ruleset
- game/nations.ruleset
- game/script.lua
- game/styles.ruleset
- game/techs.ruleset
- game/terrain.ruleset
- game/units.ruleset

Have a look at :file:`civ2civ3.serv` and associated files in :file:`/civ2civ3` for an example.

Tilesets
========

Tilesets are a collection of :literal:`spec` files that fully define the look and feel of the game map, units,
buildings, etc. This is effectively the graphics layer of Freeciv21. A tileset a Modder can create a whole new
custom graphics look and feel. The file layout for a tileset can vary depending on how the author wants to
break out the varying layers. It will always start with a top-level :literal:`.tilespec` file and with a
directory of the same name will have :literal:`.png` graphics files and associated :literal:`.spec` files to
explain to Freeciv21 what to do when.

Have a look at :file:`amplio.tilespec` and associated files in :file:`/amplio` for an example.

Soundsets
=========

Soundsets are a collection of :literal:`spec` files that allow a Modder to add sound files to varying events
that happen inside the game. Events such as founding a city, or attacking a unit can have a sound associated
with them. There is a huge number of events in Freeciv21 that a Modder can attach a sound file to. Soundsets
will start with a top-lvel :literal:`.soundset` file and with a directory of the same name will have
:literal:`.ogg` sound files to play in the client.

Have a look at :file:`stdsounds.soundspec` and associated files in :file:`/stdsounds` for an example.

Musicsets
=========

Musicsets are a collection of :literal:`spec` files that allow a Modder to add Music files to play as a
soundtrack inside the game. Game music follows the game based on the nation selected and the mood. The mood is
essentially binary: peace or war. Musicsets will start with a top-lvel :literal:`.musicset` file and with a
directory of the same name will have :literal:`.ogg` sound files to play in the client.

Have a look at :file:`stdmusic.musicspec` and associated files in :file:`/stdmusic` for an example.

Scenarios
=========

Scenarios are custom saved games that a player can load and play. A Modder will use the map editor to create
a map of the scenario and enable/change varying aspects of the game to set up the game scenario.

Have a look at the scenarios shipped with Freeciv21 in :file:`/scenarios` for some examples.


.. toctree::
modpack-installer.rst
Expand Down

0 comments on commit 3bb0349

Please sign in to comment.