I haven't played RO and so I can't compare the real game to the emulator, but I really find it hard to believe that any homebrew program could emulate with 99.9% effectiveness, a probably multimillion dollar corporate undertaking.
Programming is all about streamlining your code, attempting to recycle that code as much as possible, and simultaneously making it easy enough to understand (while being documented along the way) so someone else can take over for you for whatever reason.
In short, most monsters have a pretty dumb base AI:
1) Melee mobs just chase and hack away aimlessly at the person with hate, using a TP move at various HP intervals.
2) Caster mobs use a spell once every 10-15 seconds if they can, behavior slightly modified if they have Manafront or Chainspell active. Otherwise, they stay glued to the person with hate while also using TP moves.
3) Your novelty mobs that give up at x% HP, flee when near death, warp around, summon buddies, two hour, whatever.
The third category would be the hardest, yeah, but those monsters aren't nearly as numerous as those who would fall under one and two. And even then, the third could borrow code from pre-existing versions creating hybrids.
Overall, things like damage formulae have already been reversed engineered. It's just a matter of the programmers learning what the variables are called by the game and then telling the new code to look there. People would then be free to plug in whatever values along the way to ease or harden the gaming experience.
The hard part, creating the game core and graphical system, has been done for them. This is why a lot of good programmers just don't pick up and make their own game because rendering software costs a metric sh*t-ton while you can pick up a code compiler for much cheaper, if you don't just pirate something outright. Furthermore, unless you do it alone, you need cash to pay others to create these systems from the ground up. From there, there's simply no guarantee people will play your game and return revenue. It ties into my comment about recycling quite nicely, really. Are coders then thieves? In a way. Of course, so are artists, musicians, authors, and whatever other creative profession you can point at. Very little is original/unique anymore.
SE doesn't always make quality games. However, they have the luxury of their successes to cover for their failures. Money and connections make the world go 'round, and it's certainly the sheer lack of it that prevents many would-be programmers from making the leap.
If you think SE does a bad job of policing RMT, hackers, and botters, just wait til you see how well someone does the job when they aren't getting paid for it.
This is where a smaller server population and the ability to ammend your code comes to your advantage. People moderating these servers won't have to supervise 500000 subscribers. No, they'd probably be lucky to see 150.
It's rare people give a sh*t about this, but I used to help maintain and run a server for a Diablo II modification. We kept the community small, utilizing a message board to get know each other outside of the game. All of us knew that D2 was plagued by hacks. People who had infinite HP, item dupes, map hacking, etc.. We didn't want to be a part of it AT ALL. In a party environment, these were all actually pretty easy to spot. For example, when you're in some random generated dungeon and a guy just so happens to go to the waypoint/exit without making a wrong turn, you get suspicious. All character data was also viewable by an outside PERL script that let ANYBODY see what you had equipped or even in your inventory. Nevermind the fact an administrator could just download your character outright and look at it in a solo environment.
People don't get paid to do neighborhood watches, but that doesn't stop them from still wanting to keep crime down in their area. Edited, Aug 31st 2006 at 5:07pm EDT by Seriha