dev:server_design
Table of Contents
Server redesign goals
Put down your goals here, till let's say the 15th of december :)
Player-wise
- fun game!
- coherent and content-rich world
- no senseless hacking
- enough sugar around quests to they are more than 'kill this guy' or 'bring me X of this thing'
- many more things to do than 'hack the next dungeon'
- cooperative and competitive aspects, depending on the mood of the players
- maybe don't have the player as 'hero' but 'regular citizen'
- stable
- protocol compatible with clients
- multilanguage
- visually appealing “enough”
- very easy to get started with
- in-game map building (much more integrated than current map building system)
- enable players to have a real influence on the world
- revamp player creation mechanism
- have an account linked to various characters?
Content-wise
- compatible with Crossfire's current content (maps, archetypes, …), though some breakage is allowed if needed
- dynamic archetype recollection - no need to restart the server
- better handling of media updates to client
- Better (any) sound improvement - environmental, spell effects, damage, etc
- easy to extend (plugins, scripts), keeping compatibility with current CF's system
- soft-coded rules - put the most things in configuration or easy to isolate/swap modules
- add file in map distribution which says what minimal version of archetype is, and special archetype with $id$ string so server will know if requirements are met
Technical-wise
- crossplatform
- unit tests
- avoid lock ups (massive spells and such)
- Keep multithreading programming mind (does not mean it should be multithreaded, but design it so that could be done later)
- documentation (design stuff, things like 'how is a class prevented to use weapons: through the use of a force' etc.)
- modular code, to easily expand/change stuff
- build system that doesn't require a lot of manual tweaking
Design
This will be written after the 15th of december, when we'll have goals decided :)
dev/server_design.txt · Last modified: 2025/04/18 13:08 by 127.0.0.1