This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
dev [2017/09/20 15:28] leaf Link for new page to summarize Spell Shuffle implementation |
dev [2024/01/19 00:21] leaf [Maps] Add link to Lander - World Map Generator page |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | Back to the [[:Start|Crossfire Main]] page | ||
+ | |||
====== Development ====== | ====== 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 [[https://crossfire.real-time.com/irc/index.html|libera.chat irc]] or [[https://crossfire.real-time.com/discord/index.html|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 | ||
+ | - [[:server:server_compiling|Install a local development server]] | ||
+ | - [[gridarta|Install the map editor (Gridarta)]] | ||
+ | - (optional) [[:cre:compiling|Install the Crossfire Resource Editor (CRE)]] to edit quests, objects, and monsters in a GUI | ||
+ | |||
+ | For help with the above on Linux, see [[:dev:linux|Linux Development Guide]]. | ||
- | The best place to discuss the development of Crossfire is the irc channel #crossfire on the irc server chat.freenode.net (6666) | + | To work on the game clients: |
- | ==== Getting Started ==== | + | * [[:client:client_compiling|Crossfire GTK2 Client Compile Guide]] details how to install the GTK2 client from source. |
- | Information on installing Crossfire from the source code including accessing the developmental version ([[:trunk]]): | + | * [[:jxclient:compiling|Crossfire Java Client Compile Guide]] details how to build JXClient from sources. |
- | * [[server:server_compiling|Crossfire Server Compile Guide]] details how to install the server from source. | + | |
- | * [[client:client_compiling|Crossfire Client Compile Guide]] details how to install the client from source. | + | |
- | * [[dev:linux|Linux Development Guide]] details what linux environment should be used to develop from | + | |
===== Information for Development ===== | ===== Information for Development ===== | ||
Line 16: | Line 28: | ||
==== Archetypes ==== | ==== Archetypes ==== | ||
Information about modifying and creating new objects such as items, monsters, spells using existing code: | Information about modifying and creating new objects such as items, monsters, spells using existing code: | ||
- | * [[:Making Archetypes]] | + | * [[:arch:Making Archetypes]] |
- | * [[:Custom Item Creation]] - Information and guidelines about creating custom items. | + | * [[:arch:Custom Item Creation]] - Information and guidelines about creating custom items. |
- | * [[:Custom Creature Creation]] - Information and guidelines about creating custom creatures. | + | * [[:arch:Custom Creature Creation]] - Information and guidelines about creating custom creatures. |
- | * [[:Graphics Guide]] - Information to aid the creation of archetypical art. | + | * [[:arch:Graphics Guide]] - Information to aid the creation of archetypical art. |
- | * [[:Item Type Guide]] - Information about how different types and attributes affect objects. | + | * [[:arch: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. | + | * [[:arch: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 | + | * [[:arch:spell_shuffle:Spell Shuffle]] - New testing and experimental archetype branch that contains spell tweaks and spell school reorganization |
==== Maps ==== | ==== Maps ==== | ||
Guides for how to design maps in crossfire that are consistent in look and feel with existing maps: | Guides for how to design maps in crossfire that are consistent in look and feel with existing maps: | ||
- | * [[:Map Making]] - This is a guide on what is an acceptable map and what is unacceptable. Also, how/where to contribute maps. | + | * [[:maps:Map Making Guide]] - This is a guide on what is an acceptable map and what is unacceptable. Also, how/where to contribute maps. |
- | * [[:Map-Making Guide]] - Notes, details and suggestions on making maps | + | * [[:maps:dev:Notes on Map Making]] - Notes, details and suggestions on making maps. |
- | * [[:Map Scale]] - A note about the scale of maps]] | + | * [[:maps:Yardstick]] - A note about the scale and size relations of maps compared to reality. |
+ | * [[https://sourceforge.net/p/crossfire/crossfire-server/ci/master/tree/doc/Developers/objects|Simple dialogs]] (go to section J, "NPC's Speak out") | ||
+ | * [[user:cavesomething:guide_to_quest_dialogs|Python/Quest Dialogs]] [[https://sourceforge.net/p/crossfire/crossfire-maps/ci/master/tree/python/CFDialog.py|more information]] | ||
+ | * [[lander|Lander]] - World Map Generator | ||
==== Code ==== | ==== Code ==== | ||
Guides for modification and creation of new code: | Guides for modification and creation of new code: | ||
- | * [[:Coding Style Guide]] - Guidelines for coding syle for the crossfire server and clients. | + | * [[:Coding Style Guide]] - Guidelines for coding style for the crossfire server and clients. |
- | * [[dev:server_design|Server Design]] | + | * [[:dev:Server Design]] |
* [[:server plugin|Server Plugins]] | * [[:server plugin|Server Plugins]] | ||
- | * [[:Insult Generator]] and [[:Insult Generator Source Code]] | + | * [[:cfpython:Insult Generator]] |
==== Architecture ==== | ==== Architecture ==== | ||
- | * [[dev:objects]] | + | * [[:dev:objects]] |
- | * [[dev:object_fields]] | + | * [[:dev:object_fields]] |
- | * [[dev:misc]] | + | * [[:dev:misc]] |
- | * [[dev:god intervention]] | + | * [[:dev:god intervention]] |
- | * [[dev:shared_strings]] | + | * [[:dev:shared_strings]] |
- | * [[dev:random-maps]] | + | * [[:dev:random-maps]] |
- | * [[dev:random-styles]] | + | * [[:dev:random-styles]] |
- | * [[dev:runes]] | + | * [[:dev:runes]] |
- | * [[dev:shops]] | + | * [[:dev:shops]] |
- | * [[dev:skills]] | + | * [[:dev:skills]] |
- | * [[dev:spells]] | + | * [[:dev:spells]] |
- | * [[dev:weather]] | + | * [[:dev:weather]] |
- | * [[howto:add_body_slot]] | + | * [[:howto:add_body_slot]] |
===== TODO and Ideas ===== | ===== TODO and Ideas ===== | ||
Line 69: | Line 84: | ||
==== Crossfire Wiki ==== | ==== Crossfire Wiki ==== | ||
Contributing to the Crossfire Wiki is simplest way to assist in the development of Crossfire. | Contributing to the Crossfire Wiki is simplest way to assist in the development of Crossfire. | ||
- | * [[orphans and missing|Missing/Orphaned Pages]] - Try to keep these pages to a minimum | + | * [[:orphans and missing|Missing/Orphaned Pages]] - Try to keep these pages to a minimum |
- | * [[wiki:Style Guide]] - Guidance on maintaining consistency on pages of the Crossfire Wiki | + | * [[:wiki:Style Guide]] - Guidance on maintaining consistency on pages of the Crossfire Wiki |
===== Misc ===== | ===== Misc ===== | ||
- | * [[:Attribution Policy]] - Policy of attribution for patches. | + | * [[:sourceforge:Attribution Policy]] - Policy of attribution for patches. |
- | * [[:Checkin Guidelines]] - SVN checkin procedure | + | * [[:sourceforge:Checkin Guidelines]] - SVN checkin procedure |
* [[:Crossfire Release Cycle]] | * [[:Crossfire Release Cycle]] | ||
* [[:Crossfire Release Guide]] - Steps need to make an official release of crossfire. | * [[:Crossfire Release Guide]] - Steps need to make an official release of crossfire. | ||
- | * [[:SourceForge Migration]] notes, tips and help | + | * [[:sourceforge:SourceForge Migration]] notes, tips and help |
* Get together ([[:g2g]]) meeting notes, summary, proposal(s) | * Get together ([[:g2g]]) meeting notes, summary, proposal(s) | ||
+ | * [[:crossfire:forks|Forks]] List of known forks of crossfire | ||