ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/www/src/content/history.content.php
Revision: 1.6
Committed: Wed Apr 28 06:20:08 2010 UTC (14 years, 2 months ago) by elmex
Branch: MAIN
CVS Tags: HEAD
Changes since 1.5: +2 -2 lines
Log Message:
*** empty log message ***

File Contents

# Content
1 <div id="content">
2 <h2>History of Deliantra</h2><br />
3 <a class='button' href='about.html'>Introduction</a>
4 <a class='button' href='faq.html'>FAQ</a>
5 <a class='button' href='history.html'>History</a>
6 <div style='clear: both; margin-bottom: 20px;'></div>
7 <p>
8 Deliantra is a heavily rewritten version of Crossfire. A lot of work
9 has been done on the game server engine and the content.
10 Not only has the server code been improved but much work has also been done to help
11 balance the game. This page lists some of the significant changes from Crossfire
12 to Deliantra.
13 </p>
14
15 <h3>Code Changes</h3>
16
17 <ul>
18 <li>
19 lots of bugfixes, mainly crashfixes
20 </li>
21 <li>
22 better handling of file saving, allowing more reliable regular backups
23 and also a more crash-safe behavoir.
24 </li>
25 <li>
26 a Perl plugin system which is actively used to improve interactivity features,
27 like the tradeshop, mana fountain, and NPC behaviour and dialog.
28 </li>
29 <li>
30 the server code has been converted to C++ and a few structs are improved with
31 C++ features (templates, methods, ...)
32 </li>
33 <li>
34 Perl has been moved further into the core of Deliantra, allowing more stable
35 and more interesting plugin extensions to the game.
36 </li>
37 <li>
38 Lots of the loading/saving code for players and maps has been rewritten/changed
39 to handle serialized Perl data.
40 </li>
41 <li>
42 The 'shutdown' command has been improved to save maps and players now before
43 exiting.
44 </li>
45 <li>
46 Updated the server with a linux-specific improvement to the socket handling,
47 The old code sent out 2 TCP packets per command, the new one will bundle them
48 into one segment. This will decrease bandwidth requirements a lot, decreases the
49 chance of packet loss a lot and greatly reduces chances for lag. As a side effect,
50 it decreases latency without the ill side-effects of disabling nagle.
51 </li>
52 <li>
53 Added Linux-specific fast timeout code that kicks players out when the client
54 doesn't ack data after 20 seconds. This makes it possible to quickly re-login
55 after a "catastrophic" even such as losing your internet conenction. Also
56 player-stealing between hostile players is possible.
57 </li>
58 <li>
59 Added a plug-in that asynchronously pre-fetches adjacent maps from disk
60 whenever a player enters a map. This make ist highly probable that maps entered by
61 the player are already in memory and comes at almost no cost (they are loaded into
62 the OS disk cache only). As a net effect, most short freezes due to map loading
63 should be gone.
64 </li>
65 </ul>
66
67 <h3>Balancing changes</h3>
68
69 <ul>
70 <li>reduced draining effects by about a factor of 8</li>
71 <li>
72 Enabled limited playerkilling again, when both players are
73 hostile (there is no luck penalty). If one of the players isn't
74 hostile, then you can't attack him/her.
75 </li>
76 <li>
77 Rods are now limited by the use_magic_item skill of the player (+ some extra).
78 </li>
79 <li>
80 The experience table has been adjusted and made a little bit harder.
81 The 'nimbus', where you get back the lost experience compensates this a little bit.
82 </li>
83 <li>
84 Some of the treasurelists have been changed, for example nearly all
85 occurences of rings in monster loot have been replaced by gems.
86 </li>
87 <li>
88 The IPO and Bank don't use the Python plugins anymore and have been replaced by
89 more featureful Perl plugins, eg. live mail notification of the new IPO or the handling
90 of the new royalties in the bank.
91 </li>
92 <li>
93 Added 3d models for some houses and monsters, unfortunately there weren't enough
94 people who had time for modelling, so the graphics set looks more mixed now, more
95 modellers are needed.
96 </li>
97 <li>
98 Furthermore, a setting has been added that allows players to cast town portal
99 in their personal maps such as apartments, big chests in guilds etc.
100 </li>
101 <li>
102 A 'suicide' command has been added.
103 </li>
104 <li>
105 Stealing now never yields more exp than the monster has and also reduces monster experience.
106 </li>
107 <li>
108 Greatly reduced availability of skill scrolls and (to a lesser extent) enchantment scrolls,
109 to enhance class-based gameplay. Also reduced amount of generators in raffle.
110 </li>
111 <li>
112 Greatly reduced experience for playerkills. Disable friendly fire logic in the arena,
113 so you do not have to be hostile anymore just to visit the arena.
114 </li>
115 <li>
116 Put a bargaining scrolls in the Gem shop in scorn for a low price.
117 So that players can begin levelling bargaining early.
118 </li>
119 <li>
120 Monsters don't drop rings anymore, only gems and money instead.
121 Expanded the magic shops a bit, because monsters don't drop rings or spellbooks anymore.
122 </li>
123 <li>
124 Shops have now a default maximum.
125 </li>
126 <li>
127 the difficulty calculations for maps were adjusted together with the generation
128 of scrolls, rods, wands and staffs, which are now more close to the level difficulty.
129 </li>
130 </ul>
131
132 <h3>New systems</h3>
133
134 <p>
135 Some sub systems have been rewritten in Perl:
136 </p>
137
138 <ul>
139 <li>
140 The event objects have been completly removed from the archetypes and have been
141 replaced with an 'attach' field, which describes a linking point between extensions and
142 objects.<br />
143 Look at the <a href="http://cvs.schmorp.de/deliantra/maps/perl/">perl extensions in the cvs</a> for
144 examples.
145 </li>
146
147 <li>
148 NPCs have now a greatly increased functionality, they have a map-local states and
149 player-states. Look at the
150 <a href="doc/development/NPC_Dialogue.html">NPC Dialogues</a>
151 documentation, which explaines the Perl interface.
152 The interface allows direct script integration, dialog trees and more.
153 </li>
154
155 <li>
156 Chat commands, NPC dialogues and lots of other things have been rewritten.
157 One new function that has already been implemented is the 'ignore' commmand.
158 One can ignore shouts/chats, tells or both from one person for a specified amount of
159 hours.
160 </li>
161 </ul>
162 </div>