Thursday, 12 September 2013

Blunder - CN Mindlink

Finally one of my buy orders for the new navy mindlinks got filled. It's about time! Unfortunately for the seller he messed up and sold it for a tiny fraction of what it's worth.



The funny part is my buy order was for 150 million. CCP not only won't fix their retarded order filling logic, they won't even acknowledge it's a problem. Pretty sad when you consider it wouldn't take more than a few minutes for a competent semi-competent coder to fix.

Using pseudo code what we have now (for both buy and sell orders) is functionally equivalent to:

price=enteredprice;

When it should be something like this for sell orders:

if (price=enteredprice < hibuyorder) then price = hibuyorder;

And for buy orders it should be something like this:

if (price=enteredprice > losellorder) then price = losellorder;

Sure it might be slightly more complex than that depending on exactly how (and how well) the existing code was written but it can't be very much more complicated. Nothing that would take very long at all to fix even if it's buried deep in some of the worst spaghetti code ever written.

4 comments:

  1. "The funny part is my buy order was for 150 million. CCP not only won't fix their retarded order filling logic, they won't even acknowledge it's a problem."

    It's not a problem, well at least not for me.

    ReplyDelete
  2. You assume that fixing this issue is not a big deal, because you are on the outside. It's one of the biggest gripe I have with what you write. There is a guy like that at work. "It only take 5 minutes to fix...", his exact words btw.

    When you get into hundreds of thousands or millions of lines of code, its not always easy to change even simple things. The same class that's handling the input and processing the order could be doing literally hundreds of other things as well. So, assuming that its a simple change is naive at best.

    If we look at the insights that we have been given concerning POS changes, it's built on top of the NPC AI code, since it has the ability to run POS guns and attack hostile targets on its own. So what the community assumed was a simple change, would require rewriting the entire POS code to separate out the AI code.

    And is something like this really where we want our development dollars going? The market works fine 99.9999% of the time. Now if you take the click fest that is S&I interface, that truly is horrible, and needs some love.

    Just my 2 cents.

    ReplyDelete
    Replies
    1. Sorry but that is BS. They obviously already have code to match the best bid/ask to the new order. All they have to do is set transaction price = best bid/ask price instead of entered price. It may not be a 5 minute solution but it isn't a difficult or complicated problem by any stretch of the imagination.

      And yes this is a big deal partly because the interface is laggy and inconsistent, helping to cause these issues in the first place, but also because it is the fairest way to clear a market which is why the proposed methodology is used by every major stock exchange in the (real) world.

      I'm not sure what the economist is doing at CCP if he/she isn't screaming and jumping up and down about this, seeing as a properly functioning market has got to be one of the most if not the most important part of the game economy.

      Delete
    2. It isn't a complex problem like the POS changes. No matter how complex Eve itself is or what shape the code is in, it wouldn't take very long to fix.

      It wouldn't require a complete redesign of a complex interface like you seem to be implying for S&I either, it's a simple logic change that would be trivial to implement.

      Delete