Stories
Slash Boxes
Comments

SoylentNews is people

SoylentNews is powered by your submissions, so send in your scoop. Only 15 submissions in the queue.
posted by martyb on Saturday July 14 2018, @10:30PM   Printer-friendly
from the shoulda-used-better-AI-to-test-the-AI dept.

A years-old, one-letter typo led to Aliens: Colonial Marines' weird AI

History may never be kind to Aliens: Colonial Marines, but the present tense isn't looking so good for the lawsuit- and complaint-ridden Gearbox game, either. This week brought to our attention one of the weirdest coding typos we've ever seen in a game—which has apparently been hidden inside of A:CM's PC version since its 2013 launch.

[...] Upon researching [the game's fan-made patch] patch, ResetERA readers noticed something in the moddb.com notes that somehow escaped the gaming community at large in October 2017: the discovery of a one-letter typo in A:CM's INI files. As moddb.com user jamesdickinson963 pointed out last year, the game's "PecanEngine.ini" file references a "tether" system in assigning AI commands to the series' infamous monsters (which I'll call "xenomorphs" for brevity's sake, even though that term isn't necessarily the right one). However, one of its two mentions of the term "tether" is misspelled as "teather."

Dickinson's post alleges that this command, when spelled correctly, "controls tactical position adjustment, patrolling, and target zoning. When a xeno is spawned, it is attached to a zone tether. This zone tells the xeno what area is its fighting space and where different exits are. In combat, a xeno will be forced to switch to a new tether (such as one behind you) so as to flank or disperse so they aren't so grouped up, etc." Thanks to how the engine parsed this typo, it never caused any crashes; instead, the engine ignored the unfamiliar term. Thus, the game's monsters never received the smarter, useful information that had been programmed from the get-go. Instead, they often ran around like in the below, infamous image. [Image]

From the comments:

I can kinda see QA missing it, since the AI is nondeterministic, it'd be hard get a bug created to say "the AI seems... bad"

Aliens: Colonial Marines.


Original Submission

This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
(1)
  • (Score: 1, Interesting) by Anonymous Coward on Saturday July 14 2018, @10:35PM (2 children)

    by Anonymous Coward on Saturday July 14 2018, @10:35PM (#707361)

    Suing videogames for mis-representation? Who do I go after for misrepresenting something as "trustworthy computing"?

    • (Score: 2) by takyon on Sunday July 15 2018, @12:22AM (1 child)

      by takyon (881) <reversethis-{gro ... s} {ta} {noykat}> on Sunday July 15 2018, @12:22AM (#707381) Journal

      Maybe latch onto an Intel/AMD Meltdown/Spectre class action lawsuit?

      --
      [SIG] 10/28/2017: Soylent Upgrade v14 [soylentnews.org]
      • (Score: 0) by Anonymous Coward on Sunday July 15 2018, @02:41AM

        by Anonymous Coward on Sunday July 15 2018, @02:41AM (#707424)

        That would be a better issue for Mr. Vim to use when presenting his case for the elimination of "retroactive liability,” when there are developments in any of the lawsuits.

  • (Score: 2) by JoeMerchant on Saturday July 14 2018, @11:47PM (5 children)

    by JoeMerchant (3937) on Saturday July 14 2018, @11:47PM (#707367)

    it'd be hard get a bug created to say "the AI seems... bad"

    If the AI designers and implementers ever bothered to play test their own work, it should have been obvious to them in 2 seconds flat.

    --
    🌻🌻 [google.com]
    • (Score: 1, Informative) by Anonymous Coward on Sunday July 15 2018, @01:30AM

      by Anonymous Coward on Sunday July 15 2018, @01:30AM (#707396)

      If the AI designers and implementers ever bothered to play test their own work, it should have been obvious to them in 2 seconds flat.

      To be fair, they were probably busy working on Borderlands 2 using the funding that Sega had provided for Aliens: Colonial Marines [gamespot.com].

    • (Score: 3, Insightful) by kaganar on Sunday July 15 2018, @01:37AM (2 children)

      by kaganar (605) on Sunday July 15 2018, @01:37AM (#707400)

      You're speaking as if this is a one or two person team. Of course the designers/implementers play-tested their work -- they probably did so throughout the lifetime of the product. However, somewhere along the way someone introduced a typo, it didn't get caught due to deadline or process constraints, and the result was poor consumer-facing AI. The problem wasn't the designers or devs -- it was systemic.

      • (Score: 3, Insightful) by JoeMerchant on Sunday July 15 2018, @02:11AM (1 child)

        by JoeMerchant (3937) on Sunday July 15 2018, @02:11AM (#707413)

        Of course the designers/implementers play-tested their work

        Precision of language: play-tested the shipping product.

        --
        🌻🌻 [google.com]
        • (Score: 1, Insightful) by Anonymous Coward on Sunday July 15 2018, @04:38AM

          by Anonymous Coward on Sunday July 15 2018, @04:38AM (#707467)

          Of course the designers/implementers play-tested their work

          Precision of language: play-tested the shipping product.

          If they were play-testing it for months in order to locate obvious bugs during development, do you honestly think the devs would want to continue playing it longer than they absolutely had to once it was out the door?

    • (Score: 2) by darkfeline on Monday July 16 2018, @12:18AM

      by darkfeline (1030) on Monday July 16 2018, @12:18AM (#707753) Homepage

      It was a typo in a config file though. What if that was introduced at the last minute by some poor smuck removing a debug=True line and elbowed the keyboard?

      Game fully tested, remove debug line, print gold master, oops.

      --
      Join the SDF Public Access UNIX System today!
  • (Score: 5, Funny) by The Mighty Buzzard on Sunday July 15 2018, @02:15AM (7 children)

    Bloody amateurs. Breaking part of something is half-assing it. I could break this entire site with a semicolon.

    --
    My rights don't end where your fear begins.
    • (Score: 5, Funny) by coolgopher on Sunday July 15 2018, @02:27AM (5 children)

      by coolgopher (1157) on Sunday July 15 2018, @02:27AM (#707421)

      But intentionally doing so would make you a full colon, nothing semi about that :P

    • (Score: 3, Funny) by jelizondo on Sunday July 15 2018, @03:43AM

      by jelizondo (653) Subscriber Badge on Sunday July 15 2018, @03:43AM (#707454) Journal

      Bloody amateurs

      Get off my lawn! I could break the entire site by not using a semicolon!

      You have much too learn... (grin)

  • (Score: 4, Funny) by SomeGuy on Sunday July 15 2018, @02:20AM (3 children)

    by SomeGuy (5632) on Sunday July 15 2018, @02:20AM (#707419)

    That still nothing compared to the alpha quality game "Big Rigs": https://en.wikipedia.org/wiki/Big_Rigs:_Over_the_Road_Racing [wikipedia.org]

    • (Score: 2) by takyon on Sunday July 15 2018, @02:46AM

      by takyon (881) <reversethis-{gro ... s} {ta} {noykat}> on Sunday July 15 2018, @02:46AM (#707425) Journal

      Or the perpetually "hopping" AI cars in Streets of Simcity.

      --
      [SIG] 10/28/2017: Soylent Upgrade v14 [soylentnews.org]
    • (Score: 2, Interesting) by Anonymous Coward on Sunday July 15 2018, @06:41AM

      by Anonymous Coward on Sunday July 15 2018, @06:41AM (#707518)

      Re: the game... beautiful cover art.

      It would be awful tempting to buy that if seen on the shelf...

      With all this law about once you buy software, they don't have to take it back, this kind of stuff is inevitable. Turn something out dirt cheap, put all your money in promotion and generating buzz, get the cash while you can, then get the hell outta Dodge and change your name. Just meet the letter of the law and make sure at least there is a disk in the box. Beyond that, every buck you spend on your product comes directly from your profit. If no one knows you now, they will remember you... but no biggie... you change your name, rinse, lather, and repeat... from a nice foreign leisure world.

      Kinda like some movies I have seen. Utter waste of perfectly good film.

    • (Score: 2) by shortscreen on Sunday July 15 2018, @07:59AM

      by shortscreen (2252) on Sunday July 15 2018, @07:59AM (#707543) Journal

      sounds more like a tech demo than a game, but still probably more fun than Desert Bus or Custer's Revenge

  • (Score: 2) by pkrasimirov on Sunday July 15 2018, @08:14AM (2 children)

    by pkrasimirov (3358) Subscriber Badge on Sunday July 15 2018, @08:14AM (#707547)

    Fail fast and fail noisy. Otherwise you hide the turd and ship it right to the fanbois who start smearing it.

    Of course many people are uncomfortable with pushing the red button because it draws attention. Because it will show a typo. Or an integer overflow. Or a buffer overrun, etc. So they either Log-A-Warning™ instead or simply ignore it altogether.

    This behavior is so convenient and soothing I've even seen it in security-related stuff. Oh that site cert does not validate? Better ignore it and connect, after all that's just yet another error they know how to deal with!

    And so the aliens are (not) going in circles :D

    Circles... reminds me of the Diablo aura circle formula bug where using the wrong sign makes it a star instead.

    And talking about ignored AI config reminds me of the Civ6 AI typo "bug": https://forums.somethingawful.com/showthread.php?threadid=3775912&userid=0&perpage=40&pagenumber=456 [somethingawful.com]

    All these were discovered by players. Because somebody did not want to fail when they should.

    • (Score: 2) by unauthorized on Sunday July 15 2018, @09:32AM (1 child)

      by unauthorized (3776) on Sunday July 15 2018, @09:32AM (#707560)

      CTD for every minor error is an awful design choice. For one, it makes testing a real bitch because the engine could take a very long time to initialize even on top tier hardware, making it a real PITA to track down multiple bugs or the origin issue of the crashing bug.

      But the even bigger problem you will run in is that minor errors sometimes occur on the user's end because of defective hardware, buggy firmware, funky Windows registry tweaks, driver updates breaking your code and so on. Even through it's usually not your team's fault, the endless articles of "game X crashes for many users" will all point fingers at you.

      Sometimes failure is acceptable. Graceful fallback should be the go-to paradigm of choice for any code where reliability is more important than absolute consistency. Your security example doesn't fall into that category because consistency is always #1 priority there, but a texture or shader failing to load absolutely should not cause the engine to crash and burn.

      The problem here really isn't on the developer's side, is on the consumer's side for not pressuring video game companies to release bug-free products. Maximizing profit equals minimizing quality as much as the studio can get away with. This is what happens when you let them get away with buggy releases.

      • (Score: 2) by pkrasimirov on Monday July 16 2018, @06:40PM

        by pkrasimirov (3358) Subscriber Badge on Monday July 16 2018, @06:40PM (#708007)

        CTD is not meant for the end-user but for the tester. Once all CTDs are fixed you are good to go. Then they should be switched to "ignore" and configurable to be "warning" for support. Of course this impacts the schedule so the managers don't allow it.

        My point is "make noise when there is a problem". If nobody cares for the problems then obviously the noise will be annoying at most.

  • (Score: 2, Insightful) by notrandom on Sunday July 15 2018, @10:11AM (1 child)

    by notrandom (5820) on Sunday July 15 2018, @10:11AM (#707572)

    "One letter typo led to bug in Judge/Police/whatever AI algorithm. 5000 people awaiting retrial by AI." - New York Times 2050

    ... :)

    • (Score: 2) by Rivenaleem on Monday July 16 2018, @01:30PM

      by Rivenaleem (3400) on Monday July 16 2018, @01:30PM (#707879)

      Yes, I can see the problem between ordering the AI to retry or retire the 5,000 people.

  • (Score: 3, Interesting) by ledow on Sunday July 15 2018, @11:24AM (2 children)

    by ledow (5567) on Sunday July 15 2018, @11:24AM (#707580) Homepage

    So they wrote a poor parser, which didn't warn about non-existent variables, or they didn't even bother to check the warnings from said parser before shipping, then didn't notice it in all the post-release debacle, never bothered patch it etc. etc. etc.

    Whatever way you look at it, it's their fault, they pushed out a title before it was ready (a highly-anticipated and big-name title that could literally have restarted the movie->game genres), and they had code practices that didn't even spot what is a glaringly obvious error to any parser written with any kind of sense (and they wrote or used such a parser knowing that!).

    It's not a question of a bug report that says "the AI is bad". ONE SINGLE PLAYTHROUGH tells you that you need to drastically re-do the AI, that there's something so terribly wrong (even if "programmed" correctly) that it's no good for a big-name game. It's not a "big", it's a "QA" report. "This is crap, and horrible for the player."

    I'm finding it really hard to have sympathy, especially when they dropped the price of the game SO QUICKLY after launch. It wasn't just a typo in the way of bad AI that killed the game, it was a wholesale flop on many levels. They knew that.

    a) I'm a MAD Aliens fan, I hate all the stuff that came after, and I've been crowing for years about wanting an Alien games with the real actors, weapons noises, etc. Literally, decades of wanting that game.
    b) Yes, I bought it. When it was literally $5. And supposedly "patched". I wasn't going to touch it at all after reading the very first, post-release, non-embargoed review, and I would never have bought it before that.
    c) I played it, got to a "barricade" scenario bit where your guys are trying to open the door, and you're in a big warehouse and aliens just keep coming. I literally uninstalled it an hour later without making much progress from there.

    The AI on the aliens was shit. But the AI on your teammates was even worse. I'd often turn around and they're all dead despite being in an enclave where nothing could get through, or just standing there like idiots watching their teammates die. They didn't move, they didn't shoot back, it was awful, you were basically on your own. Someone released the mod that supposedly makes the best of the game, and I watched a video and couldn't even bring myself to try that either.

    Then they did the Alien:Isolation, and I couldn't stand that either. They shat on the franchise when they could have reinvented the whole thing. How great would Alien games be in full VR? That's something I'd buy a setup for. But they're no good.

    That a bug passed through and affected the AI? That's not the full story. That bug was there because nobody cared that the game was crap and unplayable, and the developers didn't bother to do the most cursory of automated checks on their code. Otherwise it would have been patched before release.

    • (Score: 0) by Anonymous Coward on Sunday July 15 2018, @05:05PM

      by Anonymous Coward on Sunday July 15 2018, @05:05PM (#707653)

      I remembered that Atari Jaguar had VR headgear and Alien VS predator game. I actually saw the Jaguar with the AVP game in a gameshow once when i was a kid. Didn't get to play it. But apparently the VR gear was just a prototype and it was never released and AVP did not work with it anyway.

    • (Score: 0) by Anonymous Coward on Sunday July 15 2018, @08:16PM

      by Anonymous Coward on Sunday July 15 2018, @08:16PM (#707703)

      No body writes ini parers anymore. Any good settings library will provide an option for a default value if the settings key isn't found. I haven't seen any of them log a message when they fallback to the default value. At least some minor thought went into the programming it if didn't crash without an AI manager. That sort-of implies they had/have multiple AI managers.

  • (Score: 0) by Anonymous Coward on Monday July 16 2018, @12:35AM

    by Anonymous Coward on Monday July 16 2018, @12:35AM (#707757)

    If you fix the INI, is it significantly better, or is the AI still something you'd describe as "fucking lame"?

(1)