ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/www/src/history.html
Revision: 1.3
Committed: Wed Apr 7 19:56:31 2010 UTC (14 years, 3 months ago) by sf-dustfinger
Content type: text/html
Branch: MAIN
CVS Tags: HEAD
Changes since 1.2: +0 -0 lines
State: FILE REMOVED
Log Message:
Cleaning up old files.

File Contents

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