(Or,
why RunUO has not happened yet, or even why it is not very feasible)
Alright. There has, again, been a lot of talk about switching emulators since
Sphere .51a is so limited etc. This pops up every now and then (for good reasons,
I might add!) and the discussion usually looks exactly the same as the last
time it was brought up; so I thought I'd write a post now, detailing the facts
of why we haven't switched yet, what problems there are and what advantages
there are.
~ RunUO ~
This is an emulator many of you, players and staff alike, have high hopes for.
It is very well made, stable, not very buggy at all and with an impressive amount
of features built into it from the start. So, why haven't we switched over to
it already? I asked myself the same question a long time ago, until I started
digging a bit deeper.
The sad truth of the matter is that while RunUO is indeed very customizable,
it is built from the ground up to emulate OSI clones, as in shards that emulate
the official servers, with everything that implies. It is completely built around
the "game" aspect, and has zero support for things like what we do on Legacy
in the form of quests and whatnot. Out of the box, with no added scripts, GMs
don't even have the ability to make NPCs talk, sad as though it may seem. People
have asked for equivalents to .xsay, .control and a lot of other commands for
a long time, but the developers have said that they will never implement anything
like that. Now, it should be said that some scripters have taken it on themselves
to do so, and while commands like .xsay are functional, there is still no "proper"
.control, just workarounds for it, which would make running quests much more
difficult.
How bad is that? In my opinion, pretty bad, but after some adjustment... well,
it might be bearable. But then there's the next problem, scripting. Sphere .51a
uses a script language called SphereScript, which is very intuitive and just
plain easy to learn, if limited in its applications. RunUO uses C# (C-sharp),
a programming language that's -far- more complex. This wouldn't be a problem
if anyone on staff actually knew it, but none of us does, and while I don't
speak for the rest of the staff in this, I can say that the task of learning
an entirely new programming language is far too daunting for me, at least.
So what can be done? Well, we have accepted scripts from players in the past,
so there's an option right there... but quite frankly, that's not enough. Scripting
can't be entirely in the hands of the players, for many reasons. They need to
be held to a certain standard, written in (mostly) the same way, the staff needs
a way to check for bugs, fix balance issues, write "secret" quest-related scripts,
and dare I say it, make sure there are no exploits in player-contributed scripts,
etc... the bottom line is that unless one of the current staff members takes
it upon himself/herself to learn C#, a conversion will never happen.
There are some other concerns too, namely the loss of the world etc - but that's
a temporary concern, and could be worked around. As it stands, while RunUO could
bring significant benefits, it also has significant disadvantages compared to
even our old Sphere .51a, and it is in my eyes not a feasible option for a server
switch at all... at least not at the moment.
~ Sphere .56 ~
Sphere .56 is a new offshoot of the SphereServer "family" - it's actually newer
than Sphere's release candidates for Sphere 1.0, which is a buggy mess and should
never ever be-- okay, tangent. Back on track.
.56 offers -tons- of new features over our current server emulator, including
a myriad of bugfixes and things. It is not quite up to RunUO's standards yet,
but far closer than what we have today, with a substantially more powerful version
of the SphereScript language for implementing new features. It does have its
own share of problems, including a number of bugs that have not been fixed yet;
the latest release is .56a, which had a number of daunting issues, but .56b
is slated to be released soon, and by the looks of it it seems more stable by
far. It should be said that .56 is not being developed by the "original" Sphere
developers - they are busy working on 1.0 and their new MMORPG. Instead, .56
is being written by some who felt that the newer Sphere versions were inferior
to the established but old .55i, and decided to improve on it instead.
So, advantages vs. disadvantages. First of all, .56 has some clear advantages
in that it uses SphereScript, same as our current emulator. The language has
been developed and changed a bit, so some (re-)learning will still be necessary,
but nowhere near the amount of work learning C# would require. Also, chances
are we could keep a lot of the world (if not all) if we converted to a newer
version of Sphere, which would save a substantial amount of work for us. Also
on the GM side, it would allow us to keep using Axis which is a -great- tool
for GMing. RunUO has a similar (but much slower) tool called Pandora's Box,
however. Using .56 would also allow us to keep many of our scripts with some
rewriting, and would add many new features.
The disadvantages are that it doesn't offer the same amount of customization
as RunUO (though still a very good amount) and it isn't as modern or up to date.
The current Sphere community is also smaller than RunUO, I believe, so it's
not as easy to get support for it.
This is in my eyes a -far- more feasible option for a new emulator.
~ Other Emulators ~
To be honest, I'm not up to date with the other emulators out there, except
for SteamEngine which might be a viable option since it uses SphereScript as
well - though development on it is a little slow.
The others like WolfPack, UOX, POL, etc all have different script languages
and as such suffer from many of the same problems as RunUO. Thoughts on this
are welcome, of course.
Anyway, I hope that this might have cleared some things up for some of you.
I've been a bit concerned over this since RunUO may indeed seem all nice and
shiny - and granted, it's great in many ways - but under the surface, it's not
the same story for a shard like ours, at least. I'm not saying that it is entirely
out of the picture, but right now it's not a very great option, to be frank.
Feel free to post your thoughts and insights on the matter, as input is always
welcome.