Results 1 to 21 of 21

Thread: From one developer to another...

Hybrid View

  1. #1
    Join Date
    Jul 2008
    Location
    London, UK
    Posts
    342

    From one developer to another...

    Man, I love this game (despite a mini-rant I'm about to post on another board ), but having spent a large proportion of my life developing games and debugging them by eye, I can see a couple of fundamental problems XCOM has going on. One may be the cause of the other, and the other may be the cause of many, if not all, of the weird little things that go wrong with this game...

    1. The armour class value for customising soldiers is not initialised. Often this isn't problem (assuming it's never used to index a writeable array) as it just defaults to 0, while the only valid values for it appear to be 1 or 2. But I've had a couple of instances where I've gone in to customise and this value has been "[unavailable]", whatever that means - I'm guessing there is junk in the value... But if this value is not initialised, what else is also not?

    2. Memory is being written out of bounds somewhere. This could be a string copy into a buffer too small for it (e.g. forgetting the \0 that terminates strings..? Or maybe as above, an uninitialised value, in this case a pointer, that is testing against null to determine it's validity..? Writing memory out of bounds leads to all manor of strange effects, and I've certainly seen a broad range of them in XCOM.
    The most obvious effect graphically are corrupted textures, most commonly on the dropship cutscene as it leaves or returns to base - something corrupts a green artifact into the texture. But it can also manifest itself in an enemy projectile texture, where it either nullifies or overwrites the alpha map (or maybe it is simply overwriting a stored transparency RGB value somewhere? I don't know how the engine handles texture transparency) so that the bullet appears in a solid yellow rectangle.

    It might be worth spending time investigating the code around the procedural fire. I imagine the code controlling that is pretty complicated and error prone. Instances of strange effects certainly seem to increase when a building starts to burn...


    Hopefully the right person will read this and hopefully it will help track down an issue. If not, oh well. The game is still awesome, despite it's unstable nature

  2. #2
    Quote Originally Posted by InfiniteStates View Post
    It might be worth spending time investigating the code
    Worth? You already bought game. Who cares about what after?

  3. #3
    Join Date
    Sep 2012
    Posts
    387
    Quote Originally Posted by Oblitus View Post
    Worth? You already bought game. Who cares about what after?
    Let's not be cynical now - they're already released 2 patches, for goodness' sake.

  4. #4
    Quote Originally Posted by Matt516 View Post
    Let's not be cynical now - they're already released 2 patches, for goodness' sake.
    Cosmetical ones. They even don't fix broken key bindings.

  5. #5
    Join Date
    Sep 2012
    Posts
    105
    Quote Originally Posted by Oblitus View Post
    Cosmetical ones. They even don't fix broken key bindings.
    Plus a few potentially game-breaking bugs, but let's just ignore that to make our argument seem more convincing, okay?

  6. #6
    Join Date
    Aug 2007
    Location
    Australia
    Posts
    2,298
    Quote Originally Posted by Oblitus View Post
    Worth? You already bought game. Who cares about what after?
    Firaxis evidentally does, given they have been patching the game since release and are intending on releasing another patch in the near future, plus DLC.

  7. #7
    Join Date
    Sep 2012
    Posts
    245
    Quote Originally Posted by Oblitus View Post
    Worth? You already bought game. Who cares about what after?
    They still want you to keep playing until you buy all those nice DLCs that will give 3 missions for only 999.99$.

  8. #8
    If you post bugs, please just list what you observe and steps to reproduce it.

    It makes no sense in trying to debug for the developers if all you have is speculation, and not the source code.
    Now it just kind of seems like you're tooting your own horn like "I am a great developer in comparison to..." Which kind of defeats the purpose of a bug report.

    To me it seems kind of condescending to assume any developer worth his / her metal does not know how to initialize variables. Surely it can happen by mistake (bugs / ☺☺☺☺ happens!), but it has no point giving beginners programming class to developers that have already proven themselves (or else they would not be working on a AAA title like XCom for Firaxis)

    So bug report: observation / expectation / steps to reproduce / other artifacts. Nothing more. And especially quit tooting your own horn, it's silly.

  9. #9
    Join Date
    Oct 2012
    Posts
    362
    Quote Originally Posted by dontmesstftdup View Post
    To me it seems kind of condescending to assume any developer worth his / her metal does not know how to initialize variables.
    I've seen it happen in professional software. It's rare, but it does occur, most likely due to a silly oversight and not a lack of knowledge or expertise.

  10. #10
    Join Date
    Jul 2008
    Location
    London, UK
    Posts
    342
    Quote Originally Posted by Maurice76 View Post
    I've seen it happen in professional software. It's rare, but it does occur, most likely due to a silly oversight and not a lack of knowledge or expertise.
    Or crunch time and/or burnout

  11. #11
    That was an interesting post, InfiniteStates.
    I'm also a développer, thought not in the game industry, and I really enjoyed your diagnosis, even if those bugs are clearly about the PC version while I play the PS3 one.

    May I add that what most players don't realize is that:
    - the PS3 is a nightmare when i comes to coding. When it came out, a friend of mine had gotten his hands on the PS3 coding manual in order to try and use it as a powerful calculator. We rapidly gave up since the core of the coding is all about parallel coding and management. Too complex for us at the time.
    - yes, the game was clearly rushed in order to avoid being released in the dreaded nov-christmas period, along with all the big players such as Medal of Duty and Halo XIV. Not the smartest move but at least an understandable one.

    Developers over at Firaxis have all my sympathy for having been rushed and still fighting their way over not one but three platforms in order to fix the game. I am frustrated, a bit, as a customer, but after having spent the last 5 weeks at my workplace coding like a madman for a software version supposedly requiring 12 weeks of work, I can't badmouth anyone.

    Hey, I bought Fallout: NV, I know a joke when I see one.

  12. #12
    Join Date
    Jul 2008
    Location
    London, UK
    Posts
    342
    Quote Originally Posted by Oblitus View Post
    Worth? You already bought game. Who cares about what after?
    Developers often care. It's publishers that tend to stand in the way of patches on console because of the cost. Also, unless they have a royalty based contract, developers get the same money whether the game sells 1 or 1 million.


    Quote Originally Posted by Dancis Frake View Post
    That was an interesting post, InfiniteStates.
    I'm also a développer, thought not in the game industry, and I really enjoyed your diagnosis, even if those bugs are clearly about the PC version while I play the PS3 one.
    Thanks! I am playing the PS3 version as well, and appreciate its hard to develop for. However, bounds checking memory writes is a very different problem to parallel processing... Also, LOL @ Medal of Duty

    I'm not sure about it being rushed though... It was in development for several years.


    Quote Originally Posted by Mijin View Post
    I second Dancis Frake; it's fine giving suggestions but it's unlikely that the developers are unable or unwilling to fix the bugs. Probably they've been on "crunch time" for weeks or months just getting the content in. And they are probably as disappointed as we are that Firaxis decided to pull the cake out of the oven and slice it up while it still has a gooey centre.
    Sometimes you can get so close to a problem (or bug) that you lose sight of it though. I solve 90% of my bugs when I go for a smoke, because I've stepped away and can see the bigger picture.

  13. #13
    Join Date
    Jul 2008
    Location
    London, UK
    Posts
    342
    Thanks for the advice, although I would hardly call it "tooting my own horn".

    I wouldn't exactly say the developers have proven themselves either. Fixing some serious issues in either one of the two patches would have proven that. Instead, the MP just seems slightly more prone to soft-locking, and the matchmaking is as horrendously broken as it always was. Plus, the sound cutting out when playing the very first splash screen should scream to someone of something going wrong very early in the runtime.

    I've absolutely no doubt that the developers know how to initialise variables, in the same way I'm pretty sure surgeons can't qualify before they've fully grasped the concept of removing surgical tools from patients, but it still happens.

    It's clear to anyone with eyes that the armour decor field isn't always initialised. And any developer knows that tracking down naughty memory writes is painstaking unless the codebase has built in debug tools. And even then it can be tricky tracing the source (pun intended).

    However...

    Quote Originally Posted by InfiniteStates View Post
    Sometimes you can get so close to a problem (or bug) that you lose sight of it though. I solve 90% of my bugs when I go for a smoke, because I've stepped away and can see the bigger picture.
    Or in other words, sometimes you can't see the wood for the trees.

  14. #14
    Join Date
    Nov 2012
    Posts
    3
    I second Dancis Frake; it's fine giving suggestions but it's unlikely that the developers are unable or unwilling to fix the bugs. Probably they've been on "crunch time" for weeks or months just getting the content in. And they are probably as disappointed as we are that Firaxis decided to pull the cake out of the oven and slice it up while it still has a gooey centre.

    I have high hopes for the third patch. I do think most of these bugs should be easy to fix so it's just a question of whether management is prepared to give a few developers a few weeks to resolve them.

  15. #15
    Nice post States, I hope it helps Firaxis get a handle on things . Like you, I think the game is awesome, and that's after a save file on PS3 becoming unrecoverable 15 hours into a playthrough (playing on Ironman, so only the one save). I am taking a break from it after that though - I'll start my next game after the next patch, in the hope that I'll have a better chance of getting to the end of it.

  16. #16
    Join Date
    Oct 2010
    Posts
    640
    I'm going to buy this game for PC on Steam. It looks great, the metascore is above my threshold and the reviews give it positive remarks.

    Oh and since mention of PS3 above, will there be a PSVita version?

  17. #17
    Quote Originally Posted by InfiniteStates View Post
    Or crunch time and/or burnout
    Well said - the idea that everyone always does their job with enough time to consider everything properly is pretty far-fetched. If anything, the increased acceleration of infotech means we've got far more information, but less time to consider it, and you get errors. Plus, the more pressure, the less scope there is to have a more robust process with greater checking and testing.

    Quote Originally Posted by aeligos View Post
    I'm going to buy this game for PC on Steam. It looks great, the metascore is above my threshold and the reviews give it positive remarks.

    Oh and since mention of PS3 above, will there be a PSVita version?
    Yeargh - don't work with metascore 'thresholds' - most 'professional' games journalists are little more than enthusiastic kids (under the age of 25), many with relatively limited experience in gaming (few young gamers have much grounding outside the big blockbusters these days, including many of the 'professionals' on the big sites). Metacritic is just the summing of all these views, adding in some established but incredibly erratic blogs. Use as a guide, by all means, but having a meta threshold means you'll miss out on some great interactive experiences.

    And make sure you have staggered save backups even on PC. XCOM is an awesome game, but it's an awesome game with game-breaking bugs, including save game corruption.

  18. #18
    Join Date
    Jul 2008
    Location
    London, UK
    Posts
    342
    Quote Originally Posted by Axe99 View Post
    And make sure you have staggered save backups even on PC. XCOM is an awesome game, but it's an awesome game with game-breaking bugs, including save game corruption.
    Indeed

    This game is awesome - absolutely buy it. Just be prepared for bugs that are mostly workable. Although losing an ironman save file after 15 hours can be soul destroying, it's not a common issue.

  19. #19
    Join Date
    Jul 2008
    Location
    London, UK
    Posts
    342
    Quote Originally Posted by InfiniteStates View Post
    ...But I've had a couple of instances where I've gone in to customise and this value has been "[unavailable]", whatever that means - I'm guessing there is junk in the value...
    I've just realised this happens when you try and customise a unit that is wearing armour other than the default

  20. #20
    Join Date
    May 2012
    Location
    x-com certified apple orchard
    Posts
    2,291
    1. The armour class value for customising soldiers is not initialised. Often this isn't problem (assuming it's never used to index a writeable array) as it just defaults to 0, while the only valid values for it appear to be 1 or 2. But I've had a couple of instances where I've gone in to customise and this value has been "[unavailable]", whatever that means - I'm guessing there is junk in the value... But if this value is not initialised, what else is also not?
    AFAIK, the armor deco is designed for the default body armor, the carapace armor & the skeleton armor only. all armor after that may or may not work w/ the ESP. i find the skeleton armor to my liking [sleeker & more appealing] and i use it as a base armor. [equip a skeleton suit w/ default settings, change armor deco value for ESP look. when you equip another armor, say an archangel or a ghost, it will still look like a ESP skeleton suit w/ a slight visual variation]

    the only time i encountered the "unavailable" text is when i equip an archangel/ghost armor [could be true for titan/psi too] to a soldier equipped w/ a non decoed armor. as long as you have any of the 3 base armor equipped w/ deco on before changing to another armor, the armor deco value should still be available...

  21. #21
    Join Date
    Sep 2012
    Posts
    387
    Quote Originally Posted by carldivine View Post
    Equip a skeleton suit w/ default settings, change armor deco value for ESP look. when you equip another armor, say an archangel or a ghost, it will still look like a ESP skeleton suit w/ a slight visual variation.
    That's odd - I've tried to do this and haven't had any success. It just defaults to the normal look for the second armor. Does that only work with the lategame armors that don't have their own alternate decos? I tried it with skeleton => carapace and just got the default carapace look.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •