[crossfire] Seeking life...

Marc Lehmann schmorp at schmorp.de
Fri Dec 12 15:55:54 CST 2008


On Sat, Nov 01, 2008 at 01:32:22PM +0100, Nicolas Weeger <nicolas.weeger at laposte.net> wrote:
> So, anyone working on something? Anyone having plans for working on CF? Or can
> we close the shop down?

I know, it's a bit late for a reply, but I found it rather satisfying and
funny.

The crossfire/metalforge folks are *actively* driving away everybody who
is willing to do work, and you still seem to wonder about it. Now that's
weird.

Contrast this to Deliantra.

Content:

- deliantra has had vastly improved 64x64 graphics with *working* smoothing
  for over a year.
- almost all textures have been redone, many items and buildings are now
  actually 3d models. known proprietary material has been removed.
- a myriad of map bugs have been fixed.
- npc dialogs have been vastly improved in the server, and most content
  has been updated, starting from mere rewriting of many of the existing (but
  wrong) texts in maps to adding completely new quests, cities and even
  whole new contintents!
- many areas have been bigworldised (this is technically very easy in deliantra).
- there is a multi-stage tutorial and many areas of the world (including
  scorn) have been redone almost completely to work more logically and
  give beginners a more logical introduction to the game. of course,
  the server can give (optional) hints
- I probably forgot a lot here, because I wasn't involved in all of
  these changes, sorry to our content designes if I forgot something
  especially important :)
- Rebalancing: we worked for years on rebalancing the game play, with
  huge successes (you have to see it to understand it), there are
  no known cheats or exploits left, and players actually feel
  that the gaem continues after level 20.
- We also almost completely eradicated the frustration of the high
  death penalty, keeping players from leaving (I am sure you know what
  I am talking about), without endangering the game balance (via nimbus
  and other techniques).
- (oh yes, don't let me mention the region-specific monsters, server-provided
  music, 2d sound effects for monsters and spells, interactive in-game world map
  and many other improvements).

many of these things have only been made possible by advances in the
server, of course.

Client:

- deliantra distributes native OS X/Windows/Linux binaries and naturally,
  very portable source code going along with it.
- the client is very easy to install, in most cases, you simply download
  and start it, no installation or uninstallation required, and certainly
  no obscure libraries.
- the client takes advantage of opengl hardware and works even on very old
  hardware, is full screen, has a minimap, and greatly improves user
  interaction by delivering something that looks and feels like a game, not
  something that looks like some administration console.
- (well, just look at the screenshots at http://www.deliantra.net/screenshots.html).

Server:

Naturally, since we have two strong programmers, Deliantra also "suffers"
from the server being improved the most.

- the server takes advantage of C++ features wherever it can: as a simple
  example, shared strings and objects are transparently refcounted and garbage
  collected, which alone fixed a lot of bugs (especially where crossfire
  accessed freed objects). of course, this also simplifies string handling
  a lot and, in most cases, both speeds it up AND fixes a lot of buffer
  overflows.
- the server is fully asynchronous: map loading/saving, player loading/saving
  and many other tasks are done in the background, so the server is able to
  handle more than 10 players without starting to freeze shortly every time
  a player changes maps.
- the server can load treasures, archetypes, the world map (which is actually
  a png file), faces, music, configuration, extension modules,
  books, regions etc. etc. at runtime and of course asynchronously, without
  disturbing the running game.
- stability: the server doesn't crash. well, we fixed over a hundred crash
  bugs. not only that: the server doesn't lose data on crashes, at least
  it didn't in the last years. To get an impression of what that means:
  our "unique 1" mascot in scorn had to be recreated on every restart (not
  crash!) because crossfire loses data even on clean restarts, while in
  deliantra, despite having had hundreds of crashes (mostly when rewriting
  the map handling parts a year (or two?) ago), the server was simply back
  up 20 seconds later without having lost a single second of playing time,
  no duplicated items and so on.  Or to put it differently, a restart in
  deliantra means a downtime of 10 seconds, while in crossfire, it means
  a major map reset, crashes mean item loss of duplication etc. etc.
- most of the server has been modernised: the skill/slot usage has been
  rationalised, the map handling has been completely redone, as well
  as the object and plug-in system. apart from the many crash bugs
  that have been fixed, a lot of content bugs have been fixed as well,
  such as a rewritten spell strength system, or a lighting system that
  actually works (you will understand if you run around in new scorn at night
  on deliantra vs. crossfire).
- speed: I don't quite understand why crossfire people are even wondering
  about distributed implementations for speed: deliantra uses about 2.5%
  of cpu time with 10 active players, mostly due to obvious bugfixes. It has
  >100ms *less* latency when reacting to user input and can handle a lot more
  players then crossfire has seen in the last year or so (crossfire on the
  same hardware was somewhere between 25% to freezing with 10 active
  players, even without the hanuk bug (has that one been addressed yet in
  cf?)).
- protocol: with the deliantra client, the server can actually deliver
  more than 8 faces/s (without crashing, yay :). whats more, it can deliver
  objects of any size (long books, music etc.), asynchronously, so
  the player can move freely even though content has not been loaded (as
  opposed to freezing and likely dieing in crossfire). the server even
  monitors packet loss of available bandwidth, with automatic bandwidth
  scaling so people can play unhindred even if large (megabytes) data
  faces are being delivered. and all that without dirty hacks such as
  bumping up the packet size, which just makes the game less playable.
- there are about 500 summarised changes for the server alone.

Heck, most of the things that have been planned or mentioned as nice ideas
on this list *have* been implemented for a long time in deliantra.

So why is Deliantra separate?

- leaf made up ever new rules for the metaserver, and in the end, just
  removed us silently by making up *lies* (and of course new rules), despite
  deliantra following *all* rules we had agreed to on IRC before. what really
  happened, of course, is that deliantra was vastly more successful, so
  leaf just wanted to get rid of those other annoying servers in the worst
  possible way.

  of course, he alos did that to *all* other servers with a nonzero amount
  of players. get the idea? metalforge is the most successful server for
  crossfire because other, possibly more innovative and user-friendly
  servers simply get censored...

- the deliantra devs grew very tired of the constant "you cannot do this and
  that becasue of <stupid reason>". To those who remember having told us
  "we cannot do xxx": we actually implemented *all* of what you thought
  couldn't be done. I especially remember the many nights I wasted to discuss
  with some crossfire dev idiot who came up with ever more reasons why 64x64
  graphics (and scaling) cannot be done. I wasn't happy about kicking him
  from the channel, but without these annoying disucssions, we had it
  implemented within about a week.

Yes folks, you *are* responsible for the bad state of affairs. All you do
is make up idiotic regulations, force alternative crossfire servers into
stupid name changes (or just silently block them), and keep telling each
other why so and so is impossible or too hard and why you are soo cool.

I might sound a bit big-nosed, but remember that Deliantra is the living
proof of all this. Have a look at it, be amazed at what very few people can
actually do if they are not constantly hindred by you.

Oh, and yes, I am convinced that deliantra is very close to the philosophy
of crossfire. Many long-term crossfire players describe deliantra as
"crossfire as it should be nowadays".

(I am actually thankful for getting expelled from the metaserver, it
didn't hurt our userbase, and freed a lot of time to actually *do* stuff).

> I admit I'm not motivated at all lately. The code is a real mess, maps are
> pretty boring usually, and the game is going nowhere.

Well, that's your fault, too, so deal with it and quit whining...

Yours Sincerely,
      schmorp (with the consent of other deliantra hackers)

-- 
                The choice of a       Deliantra, the free code+content MORPG
      -----==-     _GNU_              http://www.deliantra.net
      ----==-- _       generation
      ---==---(_)__  __ ____  __      Marc Lehmann
      --==---/ / _ \/ // /\ \/ /      pcg at goof.com
      -=====/_/_//_/\_,_/ /_/\_\




More information about the crossfire mailing list