I wrote a good deal of code for a two of the popular emulators; starting with SphereServer, and then RunUO, primarily just on the server side and less so on the actual shard side.
Shards (emulators) let the server owner script and customize the game a lot, such that it rarely resembled the real game. A lot of shards were really shitty, in that the minute you created your character you instantly got full skills, tons of gold, free armor, etc. Thus, there was no pride or value in anything.
SphereServer scripting was very clumsy, written in its own quasi-object language. It had a LOT of flaws, but was leaps and bounds above UOX, the first major emulator.
The RunUO came around, written in C#, and was much faster than SphereServer. It scaled to thousands++ of online users. Scripting was all done in C# as well, meaning things were compiled rather than interpreted at runtime as in SphereServer (some things in Sphere were cached, but not many). Most of the active emulator shards today use RunUO.
Shards (emulators) let the server owner script and customize the game a lot, such that it rarely resembled the real game. A lot of shards were really shitty, in that the minute you created your character you instantly got full skills, tons of gold, free armor, etc. Thus, there was no pride or value in anything.
SphereServer scripting was very clumsy, written in its own quasi-object language. It had a LOT of flaws, but was leaps and bounds above UOX, the first major emulator.
The RunUO came around, written in C#, and was much faster than SphereServer. It scaled to thousands++ of online users. Scripting was all done in C# as well, meaning things were compiled rather than interpreted at runtime as in SphereServer (some things in Sphere were cached, but not many). Most of the active emulator shards today use RunUO.