[MUD-Dev] Java or LPC (DGD)?

Lars Duening lars at bearnip.com
Mon Aug 11 21:45:22 CEST 2003


While I am happy to see LDMud mentioned (*bows gracefully, mumbling
"Thank you! Thank you!"*), I'd like to add some clarifications for
the benefit of the readership at large.

LPC is a C-like programming language for MUDs which is currently
implemented in three different drivers: DGD, MudOS and LDMud. While
all drivers adhere to the same design philosophy, they differ in the
details.

  DGD: smallest LPC feature set (no structs, no closures);
  disk-based and able to restart from a binary state-dump; object
  code can be replaced in-place; no historical baggage; can compile
  LPC to C; can be licensed for commercial use.

  LDMud: largest LPC feature set; memory-based; object persistance
  must be implemented manually using the historic save-object
  mechanism or through the use of a mySQL or Postgres database;
  object code can be replaced at run-time, but affects only newly
  created objects; complicated through backwards compatibility to
  older drivers; can not be used for commercial muds directly.

  MudOS: large LPC feature set; memory-based; slightly cleaner
  structure at the expense of backwards compatibility; can handle
  arbitrary TCP/IP connections; can compile LPC to C; can not be
  used for commercial muds directly; development has stalled.

All three drivers limit the execution time of LPC code by counting
the number of bytecode instructions executed. Other features worth
mentioning is the ability to swap long-unused objects to disk to
reduce the size of the in-memory working set; and the ability to
destruct objects in order to take them out of the game by force.

As for which system is better - that answer really depends on your
needs.

--
Lars Duening; lars at bearnip.com
GPG Key: http://www.bearnip.com/lars/lars-duening.gpgkey
_______________________________________________
MUD-Dev mailing list
MUD-Dev at kanga.nu
https://www.kanga.nu/lists/listinfo/mud-dev



More information about the mud-dev-archive mailing list