Back to the Crossfire Main page
Development
This section provides guidelines and information intended for developers, map editors, or curious players who wish to modify the game.
If you are interested in contributing to the game, this is the place to look.
Getting Help
The best place to discuss the development of Crossfire is the libera.chat irc or Discord channels named “crossfire”.
Getting Started
To work on game content including maps, quests, graphics, and the server:
Use Git to clone the server, map, and archetype repositories
-
-
-
For help with the above on Linux, see Linux Development Guide.
To work on the game clients:
The following sections provide information on guidance for developing Crossfire to maintain a consistent and engaging Crossfire experience.
Archetypes
Information about modifying and creating new objects such as items, monsters, spells using existing code:
-
-
-
-
Item Type Guide - Information about how different types and attributes affect objects.
Spell Numbers - The “spellnumber” works like an ID, it is needed to specify spells in various object-types. E.g. spellbooks, rods/wands/scrolls, firewalls… etc.
Spell Shuffle - New testing and experimental archetype branch that contains spell tweaks and spell school reorganization
Maps
Guides for how to design maps in crossfire that are consistent in look and feel with existing maps:
Map Making Guide - This is a guide on what is an acceptable map and what is unacceptable. Also, how/where to contribute maps.
-
Yardstick - A note about the scale and size relations of maps compared to reality.
-
-
-
Code
Guides for modification and creation of new code:
Architecture
TODO and Ideas
TODO lists
The TODO list represent ideas that have general consensus and are currently being worked on or due to be worked on soon. These are an excellent starting points for new developers who wish to contribute to the project.
Ideas
These pages contain general discussion that hasn't made it on to the TODO list yet.
Server Scratchpad: changes to the way the server currently works (improvements to movement or networking code)
Client Scratchpad: Ideas on limitations or ideas in the way the client runs that have been discussed and are worth jotting down
UI Proposals - Rough sketches and ideas for possible revision to the look and feel of the UI(s)
Gameplay scratchpad: Ideas that focus on in game content that are worth jotting down as a possible future TODO
Documentation
Crossfire Wiki
Contributing to the Crossfire Wiki is simplest way to assist in the development of Crossfire.
-
Style Guide - Guidance on maintaining consistency on pages of the Crossfire Wiki
Misc
-
-
-
-
-
Get together (
g2g) meeting notes, summary, proposal(s)
Forks List of known forks of crossfire