Then there exist many various emulators, which I think deserve special mention as today your best bet to running high population private server is to run an emulator of one of the popular games. UO, Lineage2 and WoW are 3 most popular choices. You get all your assets for free, high quality polished client and name (which can be a curse since original property owners might chase you down and close your server, securing addition financing from investors also looks untenable if emulating is your approach ) .
I am largely unfamiliar with UO and Lineage emulations ,but for UO there are large amount of successful shards. 2d nature of a game and open source clients would allow you considerable extensibility at low costs.
Lineage2 did not look personally attractive to me
- Arcemu -extensible with external lua http://arcemu.org/
- Trinity . but probably more stable and better performing http://www.trinitycore.org/f/
- WCell- obscure academical emu, but my favourite. Very clean C# architecture. Was not tested on scale but coding with it is a pleasure
- best in the market client, complete with all art assets ,sounds etc
- Best combat mechanics FOR FREE
- Large, active and experienced emu community . tons of already built ready to use turnkey stuff
- Considerable customization options because of very rich feature set of WoW - there is a lot of things WoW already supports which you dont need to code a new, and you can build amazing new gameplay with features already there
- Name recognition
- Coding completely new features could be hard ,Since ultimately you constrained by WoW architecture (which again is pure awesome)
- Name recognition can be a bane as people would expect/perceive you to be first and foremost a "WoW" . If you build innovative game it can be hard to attract right audience
- Blizzard can shut you down
Overall my approach would be to pick most stable client target (woltk ) .Freeze it as a target (wow changes network stack, game mechanics, new content from time to time, so writing for current wow emu is always a moving target). Completely rebrand everything wow related, develop and use as many custom assets as you can (models, menus etc). You would possibly neeed hack the client to provide client UIs hooks for completely new mechanics (and use moddable wow ui to extend it), but again wow is awesome you could do most everything with what is already there.
This for long time looked like a best option to me , but ultimately the biggest problems are the legal threats . There is a way out in case if you can make server popular enough to be able to gather money to get a custom client written. But art assets are still hard and before that you can be shut down at any point ,
You have to stay below radar cause of legal threat but you wont gain popularity (and without popularity there wont be money). .Vicious circle
Complete open source stacks (end to end -including the client and toolset):
- Ryzom (originally commerical game ) http://dev.ryzom.com/
- Planetforge http://www.planeshift.it/
Personally I am not comfortable with C++ to a degree of pursuing that pathway. Plus I think there is a lot of legacy approaches and large amount of legacy code. Ryzom is only one truly tested on large scale so I would probably choose it if I had to.
Running out of space , energy and time for this post , but To be Continued in Part 3...