A programmer’s perspective on Civ VI

Discussion in 'Civ6 - General Discussions' started by Hescumeth, Nov 2, 2016.

  1. Olleus

    Olleus Deity

    Joined:
    Oct 30, 2005
    Messages:
    6,478
    Location:
    Beyond the Veil
    Lets be honest, for a game of its size an complexity Civ6 has very few bugs. Far fewer than Civ4 or 5 had on release. I haven't had a single crash in ~70h of game play and only encountered a few bugs that were solved by reloading.

    Remember how the graphical glitches of Civilization 5 where terrain textures wouldn't load? Or how only the eyes of the leader would appear in Civ4 diplomacy screen? Those are big bugs that are hard to patch. The AI in Civ6 is hard to patch, but that isn't really a bug. Solving a handful of UI problems is fine.

    I know that we've paid good money from this and have every right to demand a bug free program, but let's be honest for a moment - the game is as bug free as anyone could have reasonably expected.
     
    bbbt, c4c6 and Gorbles like this.
  2. Kingreaper

    Kingreaper Chieftain

    Joined:
    May 21, 2012
    Messages:
    31
    This is production overflow. The overflow itself is bugged (hence Pony Economy) but that's a far more complicated thing than the production rates.

    That you don't understand this suggests you lack a thorough grounding in Civ.
     
  3. Hescumeth

    Hescumeth Chieftain

    Joined:
    Oct 25, 2016
    Messages:
    9
    @Gorbles : Please sit back for a second and consider - just for a very brief moment - that actually you might be wrong (in parts).

    If this is not arguing on a personal level - then what is? You are not discussing my points or arguments, but you are discussing me. Can't you see that?
    (and on an irrelevant (!!) side-note: yes, I have worked on legacy code which is way beyond the complexity of how complex Civ VI code can be)
     
    LDiCesare likes this.
  4. Hescumeth

    Hescumeth Chieftain

    Joined:
    Oct 25, 2016
    Messages:
    9
    I am a civ I and civ IV deity player. I guess you are not.
     
  5. Gorbles

    Gorbles Load Balanced

    Joined:
    Nov 24, 2014
    Messages:
    6,081
    Location:
    UK
    1. I haven't said anything that could plausibly be incorrect because all I've done is refute your statements. The only way you have of proving me wrong is to prove yourself right. Which you haven't, and arguably you can't (no access or exposure to Firaxis' Civilisation 6 source code).

    2. Please google "ad hominem".

    Saying "you do not know how complicated bugs can be to fix" is not insulting. It is telling you that you don't know how complicated the bugs in Civilisation 6 might be. Do you know how complicated they are? You have to prove your statements, you can't ask me to prove a negative.
     
  6. Hescumeth

    Hescumeth Chieftain

    Joined:
    Oct 25, 2016
    Messages:
    9
    Do you really not see your errors in reasoning here? Just take those 2 statements. You do not see that "you do not know how complicated bugs can be to fix" is a completely different statement than "you don't know how complicated the bugs in Civilisation 6 might be." ??
     
  7. Merri

    Merri Warlord

    Joined:
    Aug 18, 2007
    Messages:
    231
    I see no intention to talk about programmer's point of view here anymore, so this is an attempt to fix the issue. This patch probably fails within the heat of argument, but I'll commit it anyway.


    They've done wonderful job improving abstraction of things. This is directly visible at least in localization side, which is much more convenient to work with than Civilization V was. This time around I actually can know the context I'm working with instead of encountering messy files put together whichever way to get things working. There are comments in both SQL and XML and files don't have multiple concerns mixed in them.

    There are also notable improvements: previously to add a language you essentially had to either translate all at once or include missing strings in English, because the language fallback didn't work correctly and opted for German instead of English. Also you can now actually setup language via SQL instead of forcing user to edit a file to change language. One thing I don't know yet but was nasty with Civ V was that sometimes the game strings that should've been translatable were prehandled to strings before coming to the localization layer, which meant you had to work with the translated string as it was instead of having an option to choose between variants. Also, trying to use a variant resulted in the string disappering entirely in game, making debugging very painful. I really hope internally values are always passed as objects (or whatever the actual structure is) instead of strings this time around.

    But clearly there has been much more attention in abstracting things properly instead of throwing things together while coding on, and that alone is likely to make the codebase nicer to work with than previous Civs.
     
    c4c6, Olleus, Hescumeth and 1 other person like this.
  8. rjg85

    rjg85 Chieftain

    Joined:
    Oct 6, 2010
    Messages:
    68
    Starting a comment with "As a programmer..." is the civfanatics' version of "As a parent..." or "As a proud American..."
    :sleep:
     
    sanchopanda and spuushie like this.
  9. Gorbles

    Gorbles Load Balanced

    Joined:
    Nov 24, 2014
    Messages:
    6,081
    Location:
    UK
    The game in question was Civilisation 6, it was obviously and directly implied. Bearing in mind I already apologised for causing offense. It seems to me, at this point, that you want to act this way in order to avoiding actually engaging with criticism of your theories. A shame :(
     
  10. UWHabs

    UWHabs Deity

    Joined:
    Oct 10, 2008
    Messages:
    4,786
    Location:
    Toronto
    Since we're all programmers here, my take on the above:
    a) Obviously their logic for clearing up war weariness after a war isn't done at the right time, and there's probably some flag in code that's not getting set properly. On reload of the game, presumably it initializes to a new value that will let the WW clear over time. Sometimes these bugs are easy to track down, sometimes not. This is also a case where the UI on the city's penalty could likely be clearer, in which case it might have been more obvious (hey, this has said I'm going to have a WW penalty for the next 20 turns, but it's been mentioned as 20 turns for a few turns now. Wonder if we have a bug here?)
    b) I haven't seen this one. Could be a simple case of they did the 1upt rules up assuming they wouldn't get in a bad situation, then someone added Scythia and didn't notice that things were off in some movement rules. It should be very rare to end up with multiple horsemen on the same square, and it could be something in that first movement that they didn't expect. The number of cases of this might be very small, since it's highly possible they didn't do a ton of debugging playing as Scythia. I mean, you run it enough to check that, yeah, you can get the double horsemen, but especially since there's the +100% production/disbanding unit problem, yeah, it's possible they lacked QA coverage on this
    c) Overflow. Again, they should be more clear in stating that you have carry-over from a previous build, but civ has kind of always been bad about this. They also will re-arrange the governor when you queue a building, so sometimes I might see "settler 4 turns", then select it, and suddenly it would move to 3 turns.
    d) Honestly, to me this shows that they actually spent time trying to build a trading system. If they just had a simple "1 resource = 100 gold" then you don't see bugs. But because they tried to be a bit more fancy, in weird cases obviously some resources end up getting negative valuation. Again, could and potentially should have been caught in QA, but this is also the sort of bug that might have been noticed too late, and you worry like heck about breaking things at the last minute, so better to leave it in than potentially make it worse.
    e) Definitely some weird issues with the cycling. But again, that could be the case of "oh ****, let's not break this more right now".

    So from my take, yeah, there are issues. And yeah, a lot of these issues could have been caught in QA. And it very well likely was pressure to get things out on time at release.

    However, when I view issues like these, I also take comfort in the fact that THESE are the bugs that we're complaining about. We're not complaining that "the game crashes on me every 5 turns", or that "I captured a city and suddenly I can't move my units" or "I went in to capture a city and suddenly my tank disappeared". So yes, while we might be complaining about issues that could very well only take 5 minutes to fix (and then 4 hours to test), the fact that we're not seeing major, core, structural issues shows that they at least got through the biggest of the problems.

    It will only be after the first patch that comes out that we'll truly be able to start making declarations about the state of the code. If it takes them 2 months to come out with a patch and most of these minor issues aren't fixed, then people can complain. But for all we know the next patch will be released in 2 hours from now that fixes all these bugs and more, because the code actually was in great shape but they just barely ran out of time before release and were too scared of screwing something up on release. Especially for a AAA game, it looks a lot worse if they have to come out with a day 0 hotfix because of a major bug, so I'm guessing they're a lot more strict on code freezes as I am working for a small indy game studio.
     
    Ktulu, bbbt, Chinese American and 3 others like this.
  11. Kimurae

    Kimurae Chieftain

    Joined:
    Oct 7, 2016
    Messages:
    55
    As a programmer, I can add these bits to my perspective on playing Civilization VI.
    • Code rushed to release, usually has technical debt.
    • It's absolutely annoying and insulting when folks without access to the source code try to estimate the difficulty/lack of difficulty.
    • Crunch time is stressful, and I for one tend in a useless zombie state towards the end of crunch time.
    From my perspective as a gamer, who has played Civ games since Civ 2
    • These bugs don't detract from gameplay to make the game unplayable.
    • The biggest gameplay detraction is the district cost being tied to technology/civic count. Which is a design flaw, not a bug.
    • The second biggest detraction is the AI, most of which seem to be flawed design.
    • The third is balance which from what I hear... can be fixed by mods.
    TL;DR: Let their programmers take a well deserved break :)
     
    bbbt, DutchJob, Nefelia and 1 other person like this.
  12. Steinernein

    Steinernein Chieftain

    Joined:
    Sep 25, 2011
    Messages:
    13
    If you don't know the bugs in Civ 6 then does it stand that you know how complicated bugs can be? Could it be possible that once the source code is revealed to you that you encounter a bug that is so bizarre and complex that it changes your world view?
     
  13. rschissler

    rschissler King

    Joined:
    Dec 18, 2003
    Messages:
    790
    Location:
    So. Cal, USA
    Finally, a logical argument!
     
  14. Kingreaper

    Kingreaper Chieftain

    Joined:
    May 21, 2012
    Messages:
    31
    The fact that someone who claims to be a deity player can't understand production overflow is hilarious.

    I honestly don't care if you *are* a deity player - your position is blatantly wrong.
     
  15. Larsenex

    Larsenex King

    Joined:
    Oct 31, 2005
    Messages:
    771
    Location:
    Ventura CA

    I amazed at the number of folks who want to dictate to others what they should do with their money. The game is great, the game plays great and if you are not happy,..gee thanks for letting me know.

    Now I am going back to playing Civ VI.
     
    whyidie, bbbt, Nefelia and 1 other person like this.
  16. smartcanuck1988

    smartcanuck1988 Warlord

    Joined:
    Jun 16, 2016
    Messages:
    276
    I am optimistic that Firaxis will deliver a much improved AI once they have dealt with the exploits and collected more usage data on how we play the game.

    Maybe not in the first couple of patches because these will likely be bug fixes mostly. Maybe slight adjustment to some modifiers. But strategy-wise I think only after collecting enough of our feedback and game logs that they can truly improve how the AI plays this game.
     
  17. Kwami

    Kwami Deity

    Joined:
    Oct 3, 2010
    Messages:
    2,197
    I'm a programmer, too!

    Civ VI has some bugs, but far fewer than most game releases these days, and certainly fewer than the past few Civ releases. Firaxis will probably fix most of those bugs in the next patch or two.

    Compared to the average game release these days, Civ VI is very stable. Firaxis will probably fix most stability issues in the next patch or two.

    I'm not sure why I needed to be a programmer to write those things, but it's a good thing that I am!
     
  18. Buccaneer

    Buccaneer Deity

    Joined:
    Nov 2, 2001
    Messages:
    3,562
    Rule #1 in releasing a software product on deadline is to make sure it is stable and can run/play/work all the way through to the end.
     
    Nefelia likes this.
  19. StittsvileJamie

    StittsvileJamie Chieftain

    Joined:
    May 11, 2016
    Messages:
    41
    Location:
    Ottawa, ON
    I am not a programmer.
    My opinion is worthless..

    :(
     
    VTMatt, Larsenex, c4c6 and 2 others like this.
  20. Hescumeth

    Hescumeth Chieftain

    Joined:
    Oct 25, 2016
    Messages:
    9
    You realize you imply I might be a liar?

    Let me still try to get back to the technical stuff I wanted to talk about. The bug we are talking about is not about overflow. I do understand production overflow :). I even tested whether it has to do with production overflow. What I did was produce a few units type A and then a few units type B. Unit A took 2 turns, unit B 8 turns. Producing a few units in a row makes sure it is not an overflow problem.
     

Share This Page