Monday, April 25, 2011

Fascinating read

Just read this post , it is about the obscure MMO (Uncharted Waters Online) . It has some deep insights onto game dynamics, rarely exposed , particularly for an obscure  asian f2p game.  What lead me to read is was the mention of UWO as "EvE on the sea" and  some think it was superior  to potbs .But what matters  is not the game , but excellent insights in some consequences  extreme optimization and min maxing can lead to if the game is not consciously designed  in order to avoid.

       The solution to those kind of things are imho simple - let the economy be real. No buying npcs, no npc driven gains or loot drops out of thin air. Don't put artificial systems where the real one would do  better. Stable systems are self balancing,  they reach equilibrium, unless there is some out of whack mechanics "designed" in. Like all those oodles of money made from NPCs and sunk into equally odious moneysinks  !

Among other issues exposed are  severe population imbalance, vulnerability to botting and gold sellers in f2p, . Imho everyone thinking about design should ask himself what mechanism I have in place to prevent such things?

Thursday, April 21, 2011

What MMOs are made of part 2

       In previous post I covered general architecture  for those completely unfamiliar with the subject, in this post I want to cover  some alternatives to using licensed engines  .

        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

     Those 2 are behind most private servers.C++, decent quality  but  use mostly hardcoded logic tailored specifically for WoW. They do replicate wow to various degree of success and are very stable and well performing if sufficient care taken. There exist private servers with stable population of 500+ concurrent players and  some of those  do make money  (watch out for blizzard!) .
  • WCell- obscure academical emu, but my favourite. Very clean C# architecture. Was not tested on scale but coding with it is a pleasure
Upsides of using wow emu
  • 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):
 Technically of  a decent quality (e.g. running stable and not crashing) and probably most mature project out there by virtue of not being open source originally. Double bonus is that all art assets and tools are included (which is huge). Downsides -well its a huge C++ project , written for one specific game. Its not made to be extensible or overly maintenable.Source code is hard to read.
Ancient project, still alive. C++, assets in custom format(with converter).  I played it in. early 2 thousand and gameplay was non existent.Graphics is antiquate by todays standards. New assets and world development I heard is hard.  I didnt check the source code

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...

Friday, April 15, 2011

Rift review

      I meant to post this for a long time - was sitting in my draft box for a while .   I guess I wanted make a deep insightful post but it never turned into it , so just take it as a regular  review :)

I played rift starting in beta 4 all way  to 42 . Started release at headstart. I have level 50 rogue(defiant)  who ran tier1 experts and level 50 warrior(guardian) plus  3 or so  level ~ 10 character I cretead on random servers during long queues on my main one. Time played on all characters ~ 10 days so its definitely not EG style  as I seen everything  but  end game raid:)


Rift is a diku style thempark most closely related to WoW.  It clones wow in all aspects of design including tiny details like inventory, UI  etc. Not that its bad thing per se ,especially taking into account that it also copies Blizzard's production qualities - very polished game trough and trough.

The good parts:

  • Soul system -yes in those big bold letters. because frankly that is main thing which is any way innovative, which is interesting and which was my main reason to play rift at all. On a surface its not really innovative - you get 4 archetypes (mage,rogue, warrior,cleric) each type gets 3 talent trees  just like wow.  The difference is that there is 8 of them to chose from and you can mix and match them into 4  roles. You can switch between any of those roles any time out of combat.

       From one point of view there is not much difference. - In wow you had pve, pvp and (for some classes) tanking specs . What is different here that system  is a lot more flexible  - more than one way to skin a cat, generally within one calling  there are multiple viable ways to to fulfill roles. You can be paladin ,reaver  ,void knight , warlord  and any mix of them in between to make a tank spec.  Many ways to build dps roles (ranged, melee ,aoe etc)

What is more is that archetypes can fulfill more than one role - rogues can tank and offheal, mages can main heal, clerics can tank ,heal and dps
  • Zone design   and art  - pretty good looking ,enjoyed them .Iron peaks was my favorite
  • Polish - good enough that there are no rough edges or bug sticking out .

The OK Parts:

  • Quests -generic vanilla wow quality quests
  • dungeons - passable
  • graphics - good, but nothing spectacular or breathtaking
  • Rifts - they happen ,you do them. After 10th or so its jsut another game mechanics which does not have significant impact on experience
The bad parts
  • Class balance- I never expected that every soul combination would be balanced , what I expected was reasonable viability of each calling vs another one. As it stands now warrior calling completely shadows every other calling to a ridiculous degree .EDIT after patch 1.1. its the pyro. 
Honestly very bad job on balancing the callings. They should not balance this at release , it causes player to be disenfranchised after nerfs and play styles the got used too

The awful parts:
  • Realm balance. Probably number one factor in decision not to renew my sub. - They split battlegrounds in 4 server cluster, but never bothered balancing them. So it turns out one side completely dominates another (usually its guardians) .Every  pvp designer  knows losing is not fun , losing makes people quit, maintain 50% W:L ratio or else players will leave in droves.
My defiant char 1:10 W:L ratio. My guardian has 8:2  (two separate clusters) . I am good player on my own but I cant turn whole WF around .Its not FPS (where I can  sometimes turn a  pub around all on my own -stroking my ego here :)  ). I would not play game  with 50% W:L because I am forced on losing side.  My guardian toon dominates (by virtue of picking right side), but a) I dont like guardians  b) it does not make overall situation any better for long term

  • World PvP.
Does not happen. City raids does not happen, Nothing happens. Its not wow 2004, its a game where on pvp server players kill rift mob first and then ("maybe") will kill each other. Its so anemic even I stopped bothering killing reds - seriously after enemy mage /wave me and I didnt even bother to kill her, I knew right there - world pvp is dead in the game . I had a faint hope the WoW 2004 expereience would be there at least for a few months, but it was not - players either grind heroics , either do BGs.  Like I was afraid instances kill world action.


 Another wow clone. Nice art , polish, content etc. But nothing new.  WoW TBC style without  arenas. So stick to WoW if you like themeparks.

    Monday, April 11, 2011

    Black Prophecy beta review

      Game was very low on my radar as I heard that it was heavily instanced (big no-no for me unless its straight up FPS) . But with Jumpgate: Evolution dead that seems only thing for space sims. Plus World Of tanks is basically same thing (lobby based instance action game) and it was very fun, so I registered for beta and got my invite.

    I installed it a couple of weeks ago but only played this weekend . Ended up "nolifing"  - was pretty damn addictive .Sunk about  15 hours in it or so .

    So first impressions:

    • Old school space sim . Fly your fighter , blow stuff up
    • Production values are high (graphics, sound ,cutscenes)
    • Multiplayer part is  laggy it times
    • Damn its fun!
    It is heavily instanced and it does lag pretty bad with more than few players in system. But the feel is of a quality single player  space sim. And it does feel good. Controls are  responsive and flying feels fluid.  Combat is very dynamic (good freespace/privateer/tie-fighter feel)

    Story so far is great and missions are well made. They must run out of content at some point but so far it held well. Multiplayer part lacks many basics ,(such as proper chat ,auction system ,etc) , but its workable  You can fly co-op missions(preferable way for leveling  , there are open pvp sectors

    Points for min-maxers  (hard learned after re-rolling my 3d char:
    • There is no respec so you can screw up really easily. Only solution is reroll (but you can create new lvl 6 char if you completed prologue at least once)
    • Most effective spec is sink all points in ship/one  weapon type,rest spending in hull. Ignore shields completely, only spend 5 points max in engines and only spend 1 point in tactics for each 10 lvls .
    • Particle beams rape face. 
    • Lvl5 engine BP   worth a  fortune. I sold mine to vendor like a moron :(
    • Levels mean a lot and the power curves are insane ( on my lvl 14 I can blow up ppl  of lvl 8 or same lvl in suboptimal specs in 3 seconds flat)
    • But it still skill based sim - smart flying can win vs superior opponents) 
    • Best way to lvl 8-16 is run  "jump into battle" mission with 2 ppl .~1.6k xp per run

    Overall great fun game. Recommend to anyone who likes space sims to play at  least 15 lvls. you wont be disappointed - it is a quality space sim game FOR FREE . At least firsts 18 levels- just play it as such.

    I am not sure how the Multiplayer/Cash shop part pans out long term ,as of now apparently there is really nothing to do yet at cap.  But there are player stations in game already , so it might turn out pretty good (though I wouldn't hold too much hope for that yet - there needs to be a lot more clan content and economy/crafting for that to work )

    Thursday, April 7, 2011

    What MMOs are made of

            There is lots of posts lately about design in MMO blogosphere, there were series covering various aspects at Nils's (combat one I liked the most ) even syncaine posted one.  But at the core of every MMO is technology stack. MMOs are a complex software projects (probably one of the most complex as far as software goes) with many interconnected systems

    MMO has 2 big parts
    1. Client
    2. Server
    Client is  what players see and interact with.  Your typical game engine with mmo tailored network stack and UI.  All the art assets (maps, texture  ,models,animations)  sit on client as well.  And "Typical game engine":
    • Graphics engine
    • UI and controls
    • Sound
    • Network stack
    Single player also have "AI" and game logic scripting. But in MMOs those are done server side. 

    Server side in turn typically consists of 
    • Front end (for example load balancer + acct mgmt server .those handle initial logins and directs client to appropriate shard, they do little else.
    • Application Servers - those are ones handling the actual game, sometimes its several different type of applications (chat ,combat , scripts (mob and events) ,individual zones)
    • Backend storage  (typically SQL db servers) - handling long term storage (such as player characters, banks , static zone information etc)
    • Various glue in between systems (such as object caching, message transport etc)
    All this does not have to be physically separate servers , everything can run on same machine (even the client). Larger installation have more sophistication for purposes of resiliency and load balancing.

           Server communicates to client information about actors ( other players ,mobs, script events) , client communicates information about player action (character coordinates and actions).The trickiest part in client-server is designing good system to handle many concurrent players interacting at same  ,all with variable amount of latency without artifacts such as lag and rubberbanding. Planetside has probably one of the best examples of network stack as it allowed  twitch combat with hundreds of players

    Some good read  network stack shows some insight on actual implementation :

    Some people may think that server is most important part, downplaying the importance of client. But its actually not correct.Client is probably most resources intensive part to develop (art assets ,graphics  etc -this is all client side development) and one of most important for success of the game -as its the part players actually interacts with . Server side has to be stable and perform well  it  is very important and not a trivial problem to solve, and can bury the project if not done right, but on its own even the most perfect server does not make a game

    Realistically one cannot make a complete MMO engine from scratch all on its own. Its takes a team of experienced professionals working many years -that means hefty payroll costs .And then comes the content cost (which are typically many more times the engine cost)

    What are options for making MMO? - you can take license existing engine  (for $$$) then concentrate on creating content and tailoring it to your needs. Typically licensings costs are high though,  there are 2   mainstream commerical offerings :

    Costs are pretty high  and you don't get access to source code unless paying for most expensive licensing options (in a range of hundreds thousands of dollars). Licensing engine is very attractive option as engine is taken care of and one can concentrate on gameplay and content .Downsides are is that you are limited in what you can do  by what engine can (or cannot do)

    One of the first examples of successfully developing  AAA mmo using this approach is DaoC. At that time there was no mmo engines so they used gamebryo game engine with custom tailored network stack and custom server side.

    SWTOR uses hero engine, and lobby based world of tanks uses big world. So 3d party engines  are  certainly proven and mature enough to be  a good foundation
    Downsides are that there are significant costs upfront, and while it become much more affordable lately it still looks a bit out of reach of small indy teams.Costs keep falling though so one day it could become affordable for basically anyone.

    In next post I ll cover the "open sores" side of the equation :)