Deliantra - the free MORPG
History

History of Deliantra

Deliantra is a heavily rewritten version of Crossfire. A lot of work has been done on the game server engine and the content. A lot of development flew into the server code and the game balancing. Here are some of the changes listed. All other significant changes can be read in the news.

Code changes

  • lots of bugfixes, mainly crashfixes
  • better handling of file saving, allowing more reliable regular backups and also a more crash-safe behavoir.
  • a Perl plugin system which is actively used to improve interactivity features, like the tradeshop, mana fountain or the prieses in the churches of gorokh and valriel.
  • the server code has been converted to C++ and a few structs are improved with C++ features (templates, methods, ...)
  • Perl has been moved further into the core of Deliantra, allowing more stable and more interesting plugin extensions to the game.
  • Lots of the loading/saving code for players and maps has been rewritten/changed to handle serialized Perl data.
  • The 'shutdown' command has been improved to save maps and players now before exiting.
  • Updated the server with a linux-specific improvement to the socket handling, The old code sent out 2 TCP packets per command, the new one will bundle them into one segment. This will decrease bandwidth requirements a lot, decreases the chance of packet loss a lot and greatly reduces chances for lag. As a side effect, it decreases latency without the ill side-effects of disabling nagle.
  • Added Linux-specific fast timeout code that kicks players out when the client doesn't ack data after 20 seconds. This makes it possible to quickly re-login after a "catastrophic" even such as losing your internet conenction. Also player-stealing between hostile players is possible.
  • Added a plug-in that asynchronously pre-fetches adjacent maps from disk whenever a player enters a map. This make ist highly probable that maps entered by the player are already in memory and comes at almost no cost (they are loaded into the OS disk cache only). As a net effect, most short freezes due to map loading should be gone.

Balancing changes

  • reduced draining effects by about a factor of 8
  • Enabled limited playerkilling again, when both players are hostile (there is no luck penalty). If one of the players isn't hostile, then you can't attack him/her.
  • Rods are now limited by the use_magic_item skill of the player (+ some extra).
  • The experience table has been adjusted and made a little bit harder. The 'nimbus', where you get back the lost experience compensates this a little bit.
  • Some of the treasurelists have been changed, for example nearly all occurences of rings in monster loot have been replaced by gems.
  • The IPO and Bank don't use the Python plugins anymore and have been replaced by more featureful Perl plugins, eg. live mail notification of the new IPO or the handling of the new royalties in the bank.
  • Added 3d models for some houses and monsters, unfortunately there weren't enough people who had time for modelling, so the graphics set looks more mixed now, more modellers are needed.
  • Furthermore, a setting has been added that allows players to cast town portal in their personal maps such as apartments, big chests in guilds etc.
  • A 'suicide' command has been added.
  • Stealing now never yields more exp than the monster has and also reduces monster experience.
  • Greatly reduced availability of skill scrolls and (to a lesser extent) enchantment scrolls, to enhance class-based gameplay. Also reduced amount of generators in raffle.
  • Greatly reduced experience for playerkills. Disable friendly fire logic in the arena, so you do not have to be hostile anymore just to visit the arena.
  • Put a bargaining scrolls in the Gem shop in scorn for a low price. So that players can begin levelling bargaining early.
  • Monsters don't drop rings anymore, only gems and money instead. Expanded the magic shops a bit, because monsters don't drop rings or spellbooks anymore.
  • Shops have now a default maximum.
  • the difficulty calculations for maps were adjusted together with the generation of scrolls, rods, wands and staffs, which are now more close to the level difficulty.

New systems

Some sub systems have been rewritten in Perl:

  • The event objects have been completly removed from the archetypes and have been replaced with an 'attach' field, which describes a linking point between extensions and objects.
    Look at the perl extensions in the cvs for examples.
  • NPCs have now a greatly increased functionality, they have a map-local states and player-states. Look at the NPC Dialogues documentation, which explaines the Perl interface. The interface allows direct script integration, dialog trees and more.
  • Chat commands, NPC dialogues and lots of other things have been rewritten. One new function that has already been implemented is the 'ignore' commmand. One can ignore shouts/chats, tells or both from one person for a specified amount of hours.

Join this free mmorpg and our great and friendly community. Big and unique game world, many dungeons, scripted quests and instances. Find friends and play in a group. You can join the development and create own maps, quests and content! mmorpg,instances,fantasy,open source,games,game,gaming,online,multiplayer,rpg,RPG,online game,online games,pvp,community,clans,guilds,groups,massive,roleplaying,mmo,mmog,deliantra,crossfire,warcraft,everquest