Q4 2010 Development Update Discussion

97 posts / 0 new
Last post
The update
Show
Magic Online Development Update Q4 2010

Wizards of the Coast
Thursday, December 16, 2010




Summary
Construction of the new Magic Online client is running full-bore, and we are targeting late Q1 2011 for a game play beta focused on the new 2-player duel scene. A beta for the full client would follow when all the scenes have finished construction. We continue to work on infrastructure improvements in order to ensure continued system stability. We are starting to take on feature development projects in addition to the infrastructure updates. The system is continuing to perform well as the user base expands.


New Client
The new client is being built using Windows Presentation Foundation (WPF). WPF was our chosen platform when the design project began. We explored using Silverlight in the hopes of opening up more access to Magic Online. In the end, we were unable to find realistic solutions for several issues relating to integrating a Rich Internet Application with our server infrastructure. The shared design environment for WPF and Silverlight means that very little design time was lost in that exploration process. WPF will offer rapid entry into Magic Online for new and existing players with a much lighter install and launch process. WPF provides a richer set of user controls, which is helpful to providing a solid user experience. The platform will allow us to respond rapidly to usability findings. WPF also provides very good support for QA testing.


Infrastructure Update
Our next major infrastructure project will be to deserialize all of the digital objects. Currently the system stores all digital objects individually in the database as part of the original system design. The system currently does not use the serialization, and stacking like digital objects will further reduce the risk of contention in the database. As this is implemented, we will move away from having to ‘print’ collated product such as boosters and store them in the database. This eliminates the possibility of ‘running out’ of a certain class of product. All of these changes will significantly improve the scalability of the greater system, reduce maintenance downtime, and will improve usability.


Q4 Maintenance
The single managed connection module that shipped in September has given us a lot of information about the primary issues that users have been reporting. Logging was significantly improved with that module, and we have been able to isolate the majority of the most reported issues to problems with temporary state management in the client. Our client devs are intensly focused on supporting the new client, so we have chosen to take some aggressive action to solve the current client’s bad behavior on logoff and disconnects. We realize this is less than ideal for a subset of users, but we feel that it is a net gain for those folks who previously were having issues with empty sideboards and not reconnecting to drafts after disconnections.


2011 Development Plan



  • Deliver card set releases

  • WPF Client

  • Alternate Entry Fees

  • Stacked Digital Objects

  • Real-time Collation

  • Multiplayer Support – Improved player management, new multiplayer duel scene in the WPF client.

  • Leagues – Chris (WotC_K) will talk more about Leagues in Q1 2011. Internal project name = Sandwiches.

  • Additional Features – announcement and details in Q2

  • Gordon Culp
    Director – Game Systems Design
    Magic: The Gathering Digital Studio
    Wizards of the Coast, LLC



    Discuss!

    Magic and Magic Online Volunteer Community Lead. On Strike

    I'm trying to make my official VCL posts in purple.

    You posted saying my thread was moved/locked but nothing happened.


    Show
    Unfortunately, VCLs do not currently have the tools necessary to take moderation actions directly. VCLs submit their actions to ORCs, who then actually perform the action. This processing can take between a few minutes and several hours, depending on how busy/attentive the ORCs are.

    If you see something that needs VCL attention, please use this thread to make a request and a VCL will look at it as soon as possible. CoC violations should be reported to Customer Service using the "report post" button. Please do not disrupt the thread by making requests of either kind in-thread.

    General MTGO FAQ

    Yes, the Shuffler is Random!
    The definitive thread on the Magic Online shuffler.

    Magic Math Made Easy
    Draw probabilities, Swiss results, Elo ratings and booster EV

    Event EV Calculator
    Calculate the EV for any event with a fixed number of rounds and prizes based on record

    Dual means two. A duel is a battle between two people. Lands that make two colors of mana are dual lands. A normal Magic battle is a duel.
    Thanks to PhoenixLAU for the [thread=1097559]awesome avatar[/thread]!
    Quotables

    Show
    "While a picture is worth a thousand words, each lolcat actually produces a negative wordcount." -Ith "I think "Highly Informed Sarcasm" should be our Magic Online General motto." -Ith "Sorry, but this thread seems just like spam. TT is for off-topic discussion, not no-topic discussion." -WizO_Kwai_Chang "Stop that! If you're not careful, rational thinking may catch on!" -Sax "... the only word i see that fits is incompitant." -Mr44 (sic) "You know a thread is gonna be locked when it gets to the hexadecimal stage." -Gathion "It's a good gig" - Gleemax "I tell people often, if you guys want to rant, you've certainly got the right to (provided you obey CoC/ToS stuff), and I don't even really blame you. But if you see something you think needs changing a well thought-out, constructive post does more to make that happen." - Worth Wollpert
    Leagues = sandwiches.

    I knew it!!!
    Alternate Entry Fees

    hummmm wonder what this could be.... 

    .... does this mean we can spill the beans now?
    I am Blue/Green
    I am Blue/Green
    Take The Magic Dual Colour Test - Beta today!
    Created with Rum and Monkey's Personality Test Generator.
    I am both rational and instinctive. I value self-knowledge and understanding of the world; my ultimate goal is self-improvement and improvement of the world around me. At best, I am focused and methodical; at worst, I am obsessive and amoral.
    Leagues = sandwiches.

    I knew it!!!

    So...Alexis is coding leagues?


    Update sounds ok to me, I suppose.
    We can put the nail in browser-MTGO's coffin for the forseeable future (whew).

    My forever unfinished blog of the 2010 MTGO Community Cup: if you're ever bored...
    I have absolutely no technical knowledge of this, but I'm assuming the browser based client has been killed?  Did I read that right?
    Needs more screenshot. ;)
    Calavera on MTGO I collect Zendikar Foil Basic lands. Trade me yours! Things that I want to see changed on MTGO: 1: 64 man drafts added to rotation of Events. 2: Visual/Audible Notification of disconnect, deckbuild/afk time expiring and round starts. 3: Prize Payouts as close to draft sets as possible. 4: Rotate Classic draft queues monthly! 5: MOCS level events for Classic/Pauper 6: Power 9! 7: Award Promo Cards for Constructed PEs (esp for Legacy/Classic) 8: Program Split option back in! 9: Set Favorite version in deck editor (i.e. always use x swamp) 10: Better sorting of gold cards in deck editor. 11: Bring leagues Back!
    Really disappointed that support for non-Windows OSes has been dropped.
     
    But hopeful that a new client built with a focus on usability will be a big improvement on the current client.
     
    Yep, that would mean the browser-based MTGO is dead.  But being based on Silverlight, it would have been DOA anyway.  Basically, they're taking the Sliverlight build and porting it over to a new client based on existing Windows structures if I'm reading that correctly.  I don't know how that would impact a potential Mac client, but it would definately seem to kill any chance for an iPad app in the near future.

    Leagues = sandwiches = starving community.  Maybe there's some way to provide us food stamps until the sandwiches are delivered in 2013.

    I still could care less about the proposed new duel scenes, but I know if we're given a real API -- that would be a much better long-term solution.  But, it appears that isn't even a consideration at this point.

    The big thing to read into all of this is how they're planning to completely rewrite how the digital object database is handled.  Right now, every single object has a unique code.  Going forward, there will be standardized objects and a serial count of those objects in the database.  That's great from the programming standpoint -- but I'm thinking of a couple issues that might arise already.  I'll be curious to see the initial release.

    Anyway, the important thing is that the program is moving forward.  Let's see where it goes.  ;)

    Later,

    Don!

     
    A failure to plan, is a plan to fail.
    Interesting that they don't use the serialization.  I would think that it would streamline cases of tracking down credit card fraud rather than manually looking at a trade trail.

    I would be interested in knowing what features of mtgo (if any) will be lost with v4.  I wasn't around for v2, but it is my understanding that several non-trivial features were lost in the v2->v3 conversion.  Can we expect the same thing with v4?

    Since I wasn't around for v2, I don't have firsthand knowledge and someone can correct me if I'm wrong.  But at a high-level what I understand is that one could naively interpret the user experience of v2->v3 as trading leagues for a client/server that could actually handle the volume of growth mtgo saw.  This was worth it since we could all then actually play mtgo instead of being bogged down by lag.

    Are we going to be trading some significant feature in v3 for a slicker more intuitive interface with v4, or will we get the best of both worlds?
    Oh great, more having to dual install OSes just to play a card game!  Does WotC have stock in Microsoft or something?  Based on the UI disaster that is the current Magic Online client and decisions like these, I have exactly zero confidence in the MTGO team's ability to deliver a product I'd actually enjoy using.

    I've got about another six paragraphs of invective and contempt I'd like to spew, but whatever.  Thanks for disappointing me, WotC.
    Interesting that they don't use the serialization.  I would think that it would streamline cases of tracking down credit card fraud rather than manually looking at a trade trail.

    I would be interested in knowing what features of mtgo (if any) will be lost with v4.  I wasn't around for v2, but it is my understanding that several non-trivial features were lost in the v2->v3 conversion.  Can we expect the same thing with v4?

    Since I wasn't around for v2, I don't have firsthand knowledge and someone can correct me if I'm wrong.  But at a high-level what I understand is that one could naively interpret the user experience of v2->v3 as trading leagues for a client/server that could actually handle the volume of growth mtgo saw.  This was worth it since we could all then actually play mtgo instead of being bogged down by lag.

    Are we going to be trading some significant feature in v3 for a slicker more intuitive interface with v4, or will we get the best of both worlds?



    +1. Nice line of enquiry. Can only be speculation at this point, but history tells us they will trade richness of experience for simplicity of programming, and still stuff it up.

    He uses his folly like a stalking-horse, and under the presentation of that he shoots his wit.
    I don't mean to proliferate sexist attitudes, but the joke writes itself.

    WotC_Someone: Hey guys, status update, these events are happening, and I'm posting a poll...
    That_Guy: GET BACK IN THE KITCHEN AND MAKE ME A SANDWITCH!!

    (I would never.)

    I had something thoughtful to say about the state of the client quitting itself, but my browser ate it.
    Oh great, more having to dual install OSes just to play a card game! 


    en.wikipedia.org/wiki/File:Operating_sys...
    release in Russian please!  ~__~
    Another major update supporting only windows... that is extremely dissapointing. You're adding a cost to the product for no reason. I hope I didn't have to own windows to run it... there's no other reason I want windows, really.
    so let's see . . . Macs are about 10% of market right now. . . I suspect that skews much higher for male nerds 16-30. Someone must have pointed this out to WotC at some point . . . maybe? *sigh* All I want is an excuse to give Wizards more money, but noooooo.

    Some of this sounds like good news. Moving away from the digital object model does sound better provided they can guarantee the numbers are always going to be maintained correctly. I cautiously welcome another new client, but am a bit worried that the client state problems will be ported across. I also hope that nothing gets lost, there's more to life than duels, and would really like to see an improved multi player view.

    While this mostly sounds good I'll believe it when I see it.
    DCI Certified Level 2 Judge
    You're adding a cost to the product for no reason.



    *rofl*

    Show me a good platform that will allow a reasonably rich client experience, works with the existing Magic Online backend, and works seamlessly on every major platform. Even then, there's still a huge reason: their developer base doesn't know it yet. That will at least double development cost (either through new hires or through learning costs). If you can't show me that platform (and I don't think you can), you'll double not only upfront costs (one client code base per platform), but also ongoing costs (two separate development teams).

    Do you think there's enough Mac OS-only users out there who would play Magic Online only if there's a native Mac OS client to support at least doubling your development costs? I really don't. That would add a real cost to the product, and not just to the Mac users.
    I for one could not care less about Mac support - pretty computers for pretty boys...
    But has anybody ever realized THIS (a little bit overgeneralized but you'll know what I mean):
    Linux users = nerds = potential MTGO customers ?
    Talking about channeling and target groups...
    Your reasoning with OS popularity seems like a little bit of  thinking along this line: The most widely used language of the world is mandarin, therefore CNN shoud broadcast in mandarin!
    But what do I know, I am not in marketing - and perhaps for good reasons.
    Just like somebody already wrote before, I am also running a windows VM solely for the purpose of playing a game. This seems ridiculous...
    Interesting that they don't use the serialization.  I would think that it would streamline cases of tracking down credit card fraud rather than manually looking at a trade trail.

    I would be interested in knowing what features of mtgo (if any) will be lost with v4.  I wasn't around for v2, but it is my understanding that several non-trivial features were lost in the v2->v3 conversion.  Can we expect the same thing with v4?

    Since I wasn't around for v2, I don't have firsthand knowledge and someone can correct me if I'm wrong.  But at a high-level what I understand is that one could naively interpret the user experience of v2->v3 as trading leagues for a client/server that could actually handle the volume of growth mtgo saw.  This was worth it since we could all then actually play mtgo instead of being bogged down by lag.

    Are we going to be trading some significant feature in v3 for a slicker more intuitive interface with v4, or will we get the best of both worlds?

    Yeah, I was wondering about tracking the cards in certain situations too...but, they claim they never use it, so I guess they have other ways of tracking stuff or something...

    My forever unfinished blog of the 2010 MTGO Community Cup: if you're ever bored...
    The really big news here is the Infrastructure Update.
    As a programmer, I'm frankly astonished that MTGO worked at all without serialized objects on its current scale. Virtually "printing" boosters and storing each card individually is a terrible idea and must be putting ridiculous load on the DB. It also creates silly side effects like "running out of" virtual products.
    The really big news here is the Infrastructure Update.
    As a programmer, I'm frankly astonished that MTGO worked at all without serialized objects on its current scale. Virtually "printing" boosters and storing each card individually is a terrible idea and must be putting ridiculous load on the DB. It also creates silly side effects like "running out of" virtual products.



    It is currently serialized.  The new system will be "deserialized".  Definitely should drastically reduce the amount of data stored in the database.   The key is making sure that the changeover is correct, as it's fairly easy to see ways that it could get screwy.
    4. Don't speak dumb, or you'll be struck dumb. Remember, the name of the game is heads I win, tails you lose.
    ... I cautiously welcome another new client, but am a bit worried that the client state problems will be ported across. I also hope that nothing gets lost, there's more to life than duels, and would really like to see an improved multi player view.

    +1 in general, +10 on the MP.

    And no leagues for 3 more years.

    I do not wish to participate in this Community Site.

    just like some of the previous posters i am also concerned on going back once more with a new client release.  i feel like, you guys will come up with a worse client and then tell us, hey yes it is bad but this time it will be much easier to add new stuff. 2 years later, you will say : sorry we couldnt do any improvement on the client but with V5 everything will be fine. Devolution is what i see. V6 probably will be text based and run in Ms-Dos.
    You know the funny thing, I've never heard the term "deserialized" used when referring to storing things in a database before this thread. Rather the opposite actually.

    Serialization: the decomposition of an object (structure) for transmission and/or storage purposes.

    That's what I was taught when I was in university, and took the databases/information systems branch. As in, before your complex tree of objects is sent over to the server, it's serialized into a more compact string of data. Operative words "more compact".

    Deserialization is what you do when you take something OUT of a database, and turn it into an object structure. Another more informal name for deserialization is "inflating".

    You understand that the concept of deserializing in order to store things more efficiently raises my eyebrows to say the least.
    Free Speech
    Free speech is the right to speak your mind without government censorship and without fear of extralegal retaliation like harassment or violence. That’s all! Free speech doesn’t include the right to speak your mind on any forum anywhere. The government may not prevent you from speaking, but private parties, like blog owners or corporations, aren’t required to let you use their property as your platform. Free speech doesn’t include the right to be believed or to be taken seriously. People may mock, ridicule or laugh at what you say, or they may reject it outright. Free speech doesn’t include the right to be listened to. People who don’t desire to hear your opinion can hang up on you, block you on social media, change the channel, close the browser tab. Free speech doesn’t give you the right to bombard people with harassing messages or otherwise force them to pay attention to you against their will. And free speech doesn’t include the right to suffer no consequences whatsoever for your expressed opinions.
    You understand that the concept of deserializing in order to store things more efficiently raises my eyebrows to say the least.



    your picture is scary. can't you go back to the earlier one? Embarassed

    your picture is scary. can't you go back to the earlier one?



    Bah you missed my ninja edit. Anyway, it's the new art for Word of Command didn't you know? ;)
    Free Speech
    Free speech is the right to speak your mind without government censorship and without fear of extralegal retaliation like harassment or violence. That’s all! Free speech doesn’t include the right to speak your mind on any forum anywhere. The government may not prevent you from speaking, but private parties, like blog owners or corporations, aren’t required to let you use their property as your platform. Free speech doesn’t include the right to be believed or to be taken seriously. People may mock, ridicule or laugh at what you say, or they may reject it outright. Free speech doesn’t include the right to be listened to. People who don’t desire to hear your opinion can hang up on you, block you on social media, change the channel, close the browser tab. Free speech doesn’t give you the right to bombard people with harassing messages or otherwise force them to pay attention to you against their will. And free speech doesn’t include the right to suffer no consequences whatsoever for your expressed opinions.
    You know the funny thing, I've never heard the term "deserialized" used in relation to database storage before this thread.

    Serialization: the decomposition of an object (structure) for transmission and/or storage purposes.

    That's what I was taught when I was in university, and took the databases/information systems branch. As in, before your complex tree of objects is sent over to the server, it's serialized into a more compact string of data. Operative words "more compact".

    Deserialization is what you do when you take something OUT of a database, and turn it into an object structure. another more informal name for deserialization is "inflating".

    You understand that the concept of deserializing in order to store things more efficiently raises my eyebrows to say the least.

    I think it's an instance of a non-tech person trying to convey an idea that they don't have a clear grasp on. It may be something like going from linear non-indexed files [sequential or "serial"] to non-linear indexed files. (Very grossly oversimplified example, but you get what I mean, I think) (I can see WotC using large sequential files on tape drives!Laughing) My landlord calls moving files from the HDD to a USB stick "downloading", so it could happen.

    I do not wish to participate in this Community Site.

    Well why don't they just say "we've decided punch cards are not waterproof, so we'll be moving to papertape soon. Screen resolution will probably increase a lot". Just as meaningless really. The story given in no way explains how they're expecting to gain efficiency, because it 1) uses the wrong words or 2) describes the wrong actions for the intended effect.
    Free Speech
    Free speech is the right to speak your mind without government censorship and without fear of extralegal retaliation like harassment or violence. That’s all! Free speech doesn’t include the right to speak your mind on any forum anywhere. The government may not prevent you from speaking, but private parties, like blog owners or corporations, aren’t required to let you use their property as your platform. Free speech doesn’t include the right to be believed or to be taken seriously. People may mock, ridicule or laugh at what you say, or they may reject it outright. Free speech doesn’t include the right to be listened to. People who don’t desire to hear your opinion can hang up on you, block you on social media, change the channel, close the browser tab. Free speech doesn’t give you the right to bombard people with harassing messages or otherwise force them to pay attention to you against their will. And free speech doesn’t include the right to suffer no consequences whatsoever for your expressed opinions.
    The use of "serialization" that Gordon is using in his post is the attribute of possessing a serial number. In the current database each item contains a unique serial number.  In the new database each item will not have that number but rather a count value for how many copies of that element is owned by the particular user.   So the new database has a max size of # of users * # of elements.


    Is that the wrong definition of "serialization" in regards to database design?   If this was a internal requirements statement generated for the DB people, sure.   For a public document to describe what's going on, nope.
    4. Don't speak dumb, or you'll be struck dumb. Remember, the name of the game is heads I win, tails you lose.
    Well why don't they just say "we've decided punch cards are not waterproof, so we'll be moving to papertape soon. Screen resolution will probably increase a lot". Just as meaningless really. The story given in no way explains how they're expecting to gain efficiency, because it 1) uses the wrong words or 2) describes the wrong actions for the intended effect.



    Wait, you actually expected wotc to use the correct words to describe the correct things?  Come on you should know better than that now.

    How many times have they actually gotten an event release article right?
    Thanks Gordon for the update. Could we get a monthly update next year instead of quarterly? Even a quick note or a WIP screen shot, or even your thoughts on a particular design feature you guys are working on.

    Sure it kicks off some complaining, but there is that anyways. The mtg daily manages to wip out 2-3 articles per day.

    Cheers!
    I agree with Hossicle.  A monthly update would be a very good thing. 

    You see the thing is I forgot entierly that there was work being done on a new client.  I was growing, as always, increasingly frustraited with the current state of MTGO.  Now that I know there is at least something of a reason for the neglect I am at least hopeful that things will get better.

    Keeping the community informed keeps the community involved.  Involved customers spend more money. 

    Some days I wake up feeling like MTGO is cutting features, cutting prize support, and is utterly neglected by both Wizards and the MTGO staff.  Other days I feel like by working together we are really building a beautiful venue where we can come together and all play our favorit game, Magic, the Gathering.  Guess which days I manage to make it to the store.
    The use of "serialization" that Gordon is using in his post is the attribute of possessing a serial number. In the current database each item contains a unique serial number.  In the new database each item will not have that number but rather a count value for how many copies of that element is owned by the particular user.   So the new database has a max size of # of users * # of elements.


    Is that the wrong definition of "serialization" in regards to database design?   If this was a internal requirements statement generated for the DB people, sure.   For a public document to describe what's going on, nope.



    Thank you for unconfuseling me. I read through the thread after the initial update post and started getting more and more confused wondering where people were getting their ideas from. The initial updated sounded to me, just as you described. Unique Ids for digital objects are obsolete  when considering the vastness of the digital mtg world. (I use the term 'world' to describe all the objects collectively.) So it makes sense that they will now move away from doing that and instead keep object counts (how many of a specific card you own.)

    Really sometimes people overthink things  (myself included) in their attempt to be analytically critical. Or perhaps since we are talking about technology where a wrong term can change things dramatically people are just seeking a little bit too much precision in their information.

    Winter.Wolf (ugh at this new forum with the ridiculous double login)

    IM ready for the beta part of this, so I can see if I can break it.Tongue out
    Should be interesting! Bring it on and let the pain begin.!

    Let Wotc know that Standard Pauper needs in game support! WoTc does listen! HERE

    BETA BOARDS Moderator

    Want to know about the next Magic Online Player Run Events? Then click the link and check it out!

    Making MTGO a better place by BETA testing!

    How to apply for beta

    Community Cup Player 2011
     

    Three more months till the beta starts is disappointing... I was really hoping it was almost go....

    What if they made everyone beta the client on the live server... But using free masques drafts! People might actually crack som masques block then ;)
    Calavera on MTGO I collect Zendikar Foil Basic lands. Trade me yours! Things that I want to see changed on MTGO: 1: 64 man drafts added to rotation of Events. 2: Visual/Audible Notification of disconnect, deckbuild/afk time expiring and round starts. 3: Prize Payouts as close to draft sets as possible. 4: Rotate Classic draft queues monthly! 5: MOCS level events for Classic/Pauper 6: Power 9! 7: Award Promo Cards for Constructed PEs (esp for Legacy/Classic) 8: Program Split option back in! 9: Set Favorite version in deck editor (i.e. always use x swamp) 10: Better sorting of gold cards in deck editor. 11: Bring leagues Back!
    Well why don't they just say "we've decided punch cards are not waterproof, so we'll be moving to papertape soon. Screen resolution will probably increase a lot". Just as meaningless really. The story given in no way explains how they're expecting to gain efficiency, because it 1) uses the wrong words or 2) describes the wrong actions for the intended effect.



    Wait, you actually expected wotc to use the correct words to describe the correct things?  Come on you should know better than that now.

    How many times have they actually gotten an event release article right?


    I agree that this is the correct interpretation. It's a shame that the statement is written in such a confusing way.  I entirely failed to understand what it through several reads until I finally realised they were talking about serial numbers.
    Leagues.

    Leagues – Chris (WotC_K) will talk more about Leagues in Q1 2011

    First off, thank you for mentioning leagues in the update.  The mere presence of leagues in the update eliminates speculation that WOTC is ignoring them.  I hope the talk is constructive and leads to some ACTION.  Let me know if I can help in anyway (ie. Beta, online brainstorm session, cookies, etc).
    Leagues.

    .  The mere presence of leagues in the update eliminates speculation that WOTC is ignoring them.  I .



    what makes you think so? new client will probably be live next year these days without leagues, and leagues will take at least another six months.
    Leagues.

    .  The mere presence of leagues in the update eliminates speculation that WOTC is ignoring them.  I .



    what makes you think so? new client will probably be live next year these days without leagues, and leagues will take at least another six months.



    The mention of leagues means that either WotC plans to implement them or they are actively lying about that.  Either way means that they are not being ignored.
    4. Don't speak dumb, or you'll be struck dumb. Remember, the name of the game is heads I win, tails you lose.
    Sign In to post comments