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