Thursday, February 28, 2013

Answering Ruby

Sometimes I think my blogging background gives me a somewhat different perspective on some of the things that occur in Eve Online.  Not the fact that I blog, just the topics.  I've observed the War on Bots for almost two years and covered CCP's efforts to suppress the practice fairly heavily for about one year.  So sometimes I see danger where others think "So what?"  The recent unpleasantness surrounding the legalized macroing is a case in point.  I'm dumbstruck that people don't see how bad allowing someone to perform hundreds of actions in game with one mouse click is for Eve.  Others think I am totally out of my mind for seeing any problem.  One of those players, Ruby Porto, followed me in the comments from The Mittani DOT Com to the blog.  After reading the comment he left, I thought I'd devote a post to answer them because I think he raises some points I have not adequately explained.  Let's break this down into bite size pieces, interview style.


Ruby:  "Which item, currency, or object is being acquired at an accelerated rate?"

NG:  Whatever the user of the market macro is trying to acquire, so the answer could range from ISK to veldspar.  The key phrase is "accelerated rate".  That phrase seems obvious to me, but I've immersed myself in coverage of the War on Bots for so long maybe I need to explain.  Let's say that a player wants to log in and play .01 ISK games for three hours.  How many market orders can a player effectively monitor if the player only manually opens the market window?  100?  150?  If the player has 1 account or 5, that is a fixed number depending on the player.  Now let's look at a market trader using Eve Mentat that has three accounts.  I think that is fair since Eve Mentat supports up to 5 different cache locations.  If each character has 75 market orders, Eve Mentat can gather the information for 225 items in 3 minutes and 45 seconds.  I'm not a market trader, but I think that is faster than a human can check manually.  And every time a check is done the player running the macro can get up, take a bio break, get a drink, etc., while the player doing things manually is sitting chained to his keyboard trying to keep up.

My numbers are probably off but the theory is that the more items a player can have on the market, the more ISK the player brings in.  The additional capacity a market macro allows represents the "accelerated rate" to which the EULA refers.  That is pretty standard logic when examining why bots violate the EULA.

Ruby:  "If you're claiming that 'data' is an in game object (the only objects that the EULA can cover), how is that different than using the API dump to build your manufacturing spreadsheet instead of going through every BPO in game manually and entering its information that way?"

NG:   Comparing the acquisition of data using the Eve Online API out of game to gathering information in-game is like comparing apples and oranges.  My concern is with what happens within the browser.  My belief is that one click doing multiple actions in game, which is what market tools like Eve Mentat and Eve Metrics do, violates the EULA and is no different from someone programming and using macros in a G15 keyboard.  I actually support making the market data available using the CREST API.

Ruby:  "Define 'normal gameplay.'"

NG:  Normal game play consists of playing with the inputs coming from keyboard and mouse.  No input of commands is generated by code.  AFK mining qualifies as "normal" game play as long as no actions are performed by code and the AFK behavior does not last longer than a human can reasonably play the game.  I am specifically referring to the AFK complex farming exploit from last summer.  Once an action is performed by code, or the action runs for hours, that is not normal, at least in Eve Online.  The definition is different for games like World of Warcraft that allow 3rd party mods.

Ruby:  "My definition is 'using the tools CCP has designed and made available in the manner which CCP intended them be used.' The fact that CCP had to intentionally insert the hooks into the IGB and the fact that they rate limited the use of the hooks indicates pretty strongly that they intended the hooks to allow this."

NG:  As I said in the comments to the article on TMC, I respectfully disagree.  Perhaps my opinion is influenced by the fact that I didn't pay much attention to the IGB changes in Dominion that introduced objects like ShowMarketDetails that enable the macros that run today.  When I started playing in Quantum Rise macro use was considered bad and I don't remember CCP ever announcing that this had changed.

That said, CCP has a history of introducing features subject to exploits.  Does anyone remember the POS exploit that went undetected for years?  Or if 2009 is going back too far, how about last summer's faction warfare exploit?  And I've already mentioned the AFK complex farming exploit that involved performing no single prohibited action, but the sum of the parts called players' actions into question.

I should add that my experience in other MMOs had led to the belief that just because a dev may say something is okay on the forums doesn't necessarily mean that is official policy.  Back in 2009 when I played EverQuest 2 I participated in something called gray shard running and documented my experiences when SOE declared the practice an exploit after launching it live in The Shadow Odyssey expansion four months earlier.  Finding out I participated in an exploit when I thought the devs had specifically allowed the activity was shocking.  The fallout from that announcement wound up shattering my guild and contributed to my leaving the game after playing for over three years.  After that I vowed to myself I wouldn't do anything that seemed shady where the rules of a game were concerned because that would not only cheat the game but cheat myself as well.

I think I need to make one final point.  My solution to the situation is to, as I put it over on TMC:
"...make market data available via a CREST API while at the same time changing the way information is cached for use by the market window and removing the functionality within the in-game browser that allows massive looping to open market windows. Such a solution ideally would result in little if any loss of current functionality and would hinder market bots that rely on the built-in functionality of the IGB."
I'm not calling for bans.  I'm not calling for asset seizure.  I just want Eve turned into a player vs. player game, not a player vs. macro or macro vs. macro game.  Winning in Eve should not turn on who is using the best mod in-game.  That's what I turned by back on when I left Azeroth.

13 comments:

  1. I'll put it simply. Why should I have a part-time trader alt when I know I'm going to be plowed under by somebody's macro? Macro use discourages wider player involvement. Less players, less game.

    ReplyDelete
    Replies
    1. I agree completely. I used to love the market. Now I hate it. Market bots and macros are killing the game for me.

      Delete
  2. Just remove the ability special discount you get when you "modify" a market order. Make it cost the same as creating a new market order.

    Make market orders unmodifiable for the first 24 hours (5 min is a pointless delay).

    Two simple changes that will effectively level the playing field between players and macros. Currently the game mechanics favours macros.

    ReplyDelete
    Replies
    1. extra "ability" snuck in

      Delete
    2. There should be a deal the market game. Making the use of macro impractical.As the game should be run via human speed.
      This raising the item by 1Cent with out cost is nuts.

      Role Play reason
      There are (civilian) brokers working hard in making these changes, it will take them a few minutes for the people to process orders. They also need to be paid. So there should be a cost in changing orders.

      Or give everyone access to these macros. to level the playing field.



      Delete
    3. The legal "macro" (the IGB market hooks) is available to everyone. There are a number of websites that will use them to cycle through market items and populate your cache. You can also make your own website for the IGB to use them.

      I think you'll find that a populated cache isn't quite the "automation" that it's been made out to be.


      (As far as realism, in the IRL stock and commodities markets, there are computers making tens of thousands of trades an hour with stocks they hold for fractions of a second based on complicated predictive algorithms. Doesn't stop human daytraders from making money on longer holds. Not suggesting that this would be a good model for the game to copy, just that saying the commodities market of the future is run manually seems a little silly.)

      Delete
  3. These macros exist because CCP choose to implement the most labor intensive market possible. For example, as a seller, why can I not state a minimum acceptable sell price? As a buyer, why cannot I set a maximum acceptable buy price? Why cannot the game automatically match buyers and sellers? If two people are trying to buy an item, and both of their maximum buy orders are above the sellers minimum sell order, the game awards the item, and debits the account, of the person willing to pay the most. If both buyers have the same reserve price, it is randomized. The market information page would show the price that the last transaction occurred at. Eve has shit markets and when people try to unshitify them, they run into all sorts of problems. Fix the markets and you kill the macros.

    ReplyDelete
    Replies
    1. " For example, as a seller, why can I not state a minimum acceptable sell price?"

      You can, that's exactly what the current system is. Same for the buying side. What you're asking for, it seems, is the ability to set a minimum acceptable sell price, but to hide that information from the buyers, where it is now openly displayed. Your proposal would result in the buyers testing the waters with multiple single item sales, trying to find your preset minimum price, and then filling your order. Or, you're advocating hiding the quantity of purchase/sell orders as well? I can see how bots would be adversely affected by that...although I can also see how that would drive all market activity to a very few hubs, which I'm not sure is a consequence CCP would accept. It's very easy to claim that EVE has "shit markets", but it's harder to propose a superior alternative that addresses every concern. Jita already occasionally hits its system cap; under your proposal it would live there 23/7

      Delete
    2. Amplifying that response: In the real world, you have sell-only markets with fixed prices (retail stores/online imitations), and many stock markets with rules resembling the ones you advocate, as well cases in between, auction markets, etc. You, as far as I can tell, are noticing that the market rules for EVE are inefficient compared to those for modern stock markets, when you look at the 2-3 largest trade hubs. However, EVE has one set of market rules, which work much better than your example for every system which is not a massive trade hub--just as applying stock market trading rules to a local store in some backcountry area in the real world would fail miserably. One possibility, which mitigates the defects of moving all systems to this new system, would be to move only the top 5 trade hubs to such a system, and leave the rest as is. Or, even better in my opinion, to add in an additional market under your principles to the current large trade hubs, and see whether people, given the choice, switched to it.

      Delete
  4. People want to maximize their sales. This is why they play the .01 isk games. I might be willing to sell an item for 100M, but if it is currently selling at 120M, I am leaving a lot of money on the table if I create a sell order at 100M. I would most likely be better off baby sitting my order and this is is the root of people using Macros.

    The point is that there are many ways to organize markets and bots and macros are a direct result of the way CCP has chosen to organize the market. For example, we could imagine a blind auction system. Every seller submits an item for sale with a hidden reserve price. Buyers submit sealed, i.e. blind, bids. The highest bidder wins the item and pays his bid price. People could place standing orders where they want to buy X number of item Y at price Z. Every time item Y comes up for sale, the game checks to see if price Z is the winning bid.

    Market activity is already driven to several large hubs. People that are serious about moving large quantities of goods have a strong incentive to haul their goods to where the markets are strongest. I do not think this would change under any alternative system.

    You are correct that there are market rules. CCP has chosen those rules. It is my argument that those rules directly create the problem of market botting and macros. Ebay chose an auction system that rewarded bid sniping so people create bots to automate the process of sniping bids. My suggestion is that rather than having a debate about what is or is not a bot that we instead debate what alternate rules could possibly eliminate the need for market bots.

    ReplyDelete
    Replies
    1. "Market activity is already driven to several large hubs. People that are serious about moving large quantities of goods have a strong incentive to haul their goods to where the markets are strongest. I do not think this would change under any alternative system."

      Yes, the large majority of major players in the current market go to the large hubs. However, going to a blind market auction in every system, which would indeed be effective at reducing bots, would drive EVERYONE to the market hubs. Since the restrictions on hub activity are on number of pilots on system, not total ISK moved, focusing only upon the larger players misses the point completely. Having a system where all of the large market players congregate, then hauling smaller quantities out to regional hubs, and then to even smaller minihubs, is the logical response to these system limits. Under a blind market system, even the smallest buyers/sellers would go to a large market hub, creating 23/7 queues to get into Jita. Surely you can see that this is not only a change, but an undesirable one?

      "My suggestion is that rather than having a debate about what is or is not a bot that we instead debate what alternate rules could possibly eliminate the need for market bots."

      I agree completely. I merely am pointing out possible additional constraints for our search. A blind auction system works well for a centralized stock market, but very poorly for a small and distant system--and Jita simply cannot handle additional pilots. There's simply no use in coming up with alternatives that CCP will instantly turn down as technically unfeasible.

      Delete
  5. "Just remove the ability special discount you get when you "modify" a market order. Make it cost the same as creating a new market order."

    ^^^ Definitely

    "Make market orders unmodifiable for the first 24 hours (5 min is a pointless delay)."

    Dunno about that though. 5 minutes might be too little but 24 hours is extremely excessive.

    It's best to implement things like that incrementally. Just change the cost of modifying an order to be exactly the same as entering a new order at the same price. See how that works. If that doesn't slow the bots and no-lifers down enough then think about making other changes.

    ReplyDelete
  6. "NG: Whatever the user of the market macro is trying to acquire, so the answer could range from ISK to veldspar."

    And the IGB Javascript hooks do nothing to acquire those items. They only allow you to acquire information, like the API system does. Before you can claim that using the IGB Javascript hooks (which don't really fit the profile of a macro [i.e. repeating keyboard/mouse inputs]) are against the EULA, you have to show that the *Data* that they acquire is an "Item, Currency, or Object."

    "Comparing the acquisition of data using the Eve Online API out of game to gathering information in-game is like comparing apples and oranges"

    One is using a CCP designed tool to acquire and process data at a faster rate than you could acquire and process it manually. The other is the IGB browser hooks.

    The IGB Hooks are equivalent to CCP releasing it via CREST.

    "Normal game play consists of playing with the inputs coming from keyboard and mouse. No input of commands is generated by code."

    The Auto-Repeat function on modules is an input generated by code. It's kosher because CCP wrote that code.
    The IGB market hooks produce inputs generated by code. Guess who wrote the code that generates the inputs? (It's CCP. They wrote and included the IGB market hooks.)

    "That said, CCP has a history of introducing features subject to exploits."

    All of those exploits had to do with unintentional bad coding (POSes, arguably AFK farming), or unintentional bad game design (Hi, Forex) resulting in something unexpected. The IGB market hooks are quite clearly intentional, and quite clearly intended for use (they've been around for years, and nobody's made a secret of them [unlike the POS item dupeing]), and quite clearly do exactly what they are expected to do. Also, unlike those exploits you mentioned, use of the IGB market hooks provides you with no in game items, currency, or objects.

    What other possible use do you see for a tool that:
    a) Allows a Website to open a market window for any item,
    b) Allows that Website to open multiple items in series and,
    c) includes a time delay between accepting commands
    that doesn't fit under your definition of a Macro?

    I think it would be great if the information were released via CREST. I'm just saying that using the IGB market hooks is equivalent, and pretty clearly not a Bot, Macro, or Exploit. And, if your solution is to simply provide the same information all at once (i.e. at an even faster rate), how does that make the game more of a "player vs. player game, not a player vs. macro or macro vs. macro game"? If CREST does the same hourly pull limit as the normal API, won't high end traders simply sub more accounts to more closely approximate real time information, turning it into a "player vs alts" game?

    Also, if CCP (the ultimate arbiter of all things EULA) didn't approve of their current (and as far as I can tell, only) usage, why haven't they removed them from the IGB? Is there some "legitimate" usage you can see for the hooks that would be negatively impacted?

    ReplyDelete