midnight tea
Twitter Guru
gateway beverage
Posts: 8,319 Likes: 20,579
inherit
gateway beverage
109
0
20,579
midnight tea
8,319
August 2016
midnighttea
|
Post by midnight tea on Sept 16, 2017 10:10:25 GMT
Do you actually have any experience creating games or any familiarity with gamin engines to assume that your 'extremely basic problem' actually translates to problem occurring in gamedev? I get it. You like BioWare and you don't like it when they get criticized. But you're reaching for some very thin and short straws here. You completely ignore how I explained that the thinking is the problem here, not the execution, and keep repeating how I need to be a Frostbite expert.
Checking and manipulating the contents of variables is the most basic tool of any programming language or engine, including Frostbite. Without that, you practically can't code. Frostbite does it too, as anyone with any PC Frostbite game can check for themselves. Pull up the console and let it spit out a few variables.
I suspect that you're probably not actually interested in understanding the problem and merely want to deflect criticism by constantly questioning my competence to make that criticism, but I'll try to explain one last time again.
There is a way to check if a creature's hit points are 0. This means there is a way to have the engine report a creature's hit points to the game's code and check that value. Whether the code checks that value for exactly 0 or less than 1 is irrelevant at that point. The flaw is the idea to check for 0 in the first place instead of less than 1. It would be a problem with any coding language and any engine, because the thinking is flawed. And that's why it is a rookie mistake.
To give a general example: if you want a car's fuel gauge light up a warning sign when your fuel is low, you don't check whether your fuel is, say, exactly at 20%. You check whether it's 20% or less. This is a simple, obvious logic problem that does not require you to be an engineer or an expert of the car model in question. It applies on a general level. No, I didn't say you need to be a Frostbite expert - my question was fairly straightforward and non-sarcastic, but I see that instead of answering I mostly get ad homs and insinuations. And no - not all people who ask questions for the sake of precision "don't like when things they like get criticized", but there are so many baseless accusations flying around and Dunnig-Kruger effect is so rampant on the Internet (and overall) you're going to forgive me that I'm not going to believe a rando on the Internet without asking a few questions first. Anyway - most what I get is that you merely assume that Frostbite or gamedev works the way you think it does, while I see that a fellow programmer above this rant has expressed something of a different opinion when it comes to potential differences between programming for other purposes than gaming.
|
|
Gileadan
N5
Agent 46
Clearance Level Ultra
Games: Mass Effect Trilogy, Dragon Age: Origins, Dragon Age 2, Dragon Age Inquisition, KOTOR, Baldur's Gate, Neverwinter Nights, Jade Empire, Mass Effect Andromeda
Origin: ALoneGretchin
Posts: 2,914 Likes: 7,478
inherit
Agent 46
177
0
7,478
Gileadan
Clearance Level Ultra
2,914
August 2016
gileadan
Mass Effect Trilogy, Dragon Age: Origins, Dragon Age 2, Dragon Age Inquisition, KOTOR, Baldur's Gate, Neverwinter Nights, Jade Empire, Mass Effect Andromeda
ALoneGretchin
|
Post by Gileadan on Sept 16, 2017 10:30:00 GMT
I get it. You like BioWare and you don't like it when they get criticized. But you're reaching for some very thin and short straws here. You completely ignore how I explained that the thinking is the problem here, not the execution, and keep repeating how I need to be a Frostbite expert.
Checking and manipulating the contents of variables is the most basic tool of any programming language or engine, including Frostbite. Without that, you practically can't code. Frostbite does it too, as anyone with any PC Frostbite game can check for themselves. Pull up the console and let it spit out a few variables.
I suspect that you're probably not actually interested in understanding the problem and merely want to deflect criticism by constantly questioning my competence to make that criticism, but I'll try to explain one last time again.
There is a way to check if a creature's hit points are 0. This means there is a way to have the engine report a creature's hit points to the game's code and check that value. Whether the code checks that value for exactly 0 or less than 1 is irrelevant at that point. The flaw is the idea to check for 0 in the first place instead of less than 1. It would be a problem with any coding language and any engine, because the thinking is flawed. And that's why it is a rookie mistake.
To give a general example: if you want a car's fuel gauge light up a warning sign when your fuel is low, you don't check whether your fuel is, say, exactly at 20%. You check whether it's 20% or less. This is a simple, obvious logic problem that does not require you to be an engineer or an expert of the car model in question. It applies on a general level. No, I didn't say you need to be a Frostbite expert - my question was fairly straightforward and non-sarcastic, but I see that instead of answering I mostly get ad homs and insinuations. And no - not all people who ask questions for the sake of precision "don't like when things they like get criticized", but there are so many baseless accusations flying around and Dunnig-Kruger effect is so rampant on the Internet (and overall) you're going to forgive me that I'm not going to believe a rando on the Internet without asking a few questions first. Anyway - most what I get is that you merely assume that Frostbite or gamedev works the way you think it does, while I see that a fellow programmer above this rant has expressed something of a different opinion when it comes to potential differences between programming for other purposes than gaming. I meant no sarcasm either, and think that my replies were as straightforward as I could possibly make them. Maybe I am not good at explaining myself to someone who may not be a fellow coder. I honestly think that the logic as I presented it is the correct one, and would be extremely surprised if that wasn't the case. I may not be a game dev, but I have done coding for two decades now.
|
|
inherit
168
0
14,267
Rascoth
4,264
August 2016
rascoth
|
Post by Rascoth on Sept 16, 2017 11:06:29 GMT
"Please not an mmo..." That made me laugh, what kind of game you think you played in DAI? xD As a person who played World of Warcraft for 10 years, the most successful MMO of all time, I'm pretty confident in saying that DAI is a SP RPG. This comparison of DAI to an MMO needs to die. Some fetch quests does not an MMO make. ALL of the DA games have had fetch quests, even the much-lauded DAO. A larger world does not an MMO make, as I don't recall that Skyrim has ever been derisively referred to as an MMO, nor has Witcher 3 been. Heck, even SWTOR, an actual MMO, goes against the typical MMO style by having Bioware-style involved character arcs, dialogues, and character relationships. MMO stands for Massively Multiplayer Online. That's it. Even DAI's MP feature doesn't fit that, since that involved being organized into small competing teams; there is nothing "massive" about it. Bless you! Over a decade in MMO world (including WoW) makes me roll my eyes whenever someone compares DAI to one. It's almost audible. Overall structure of SP RPG like DAI and MMO is different, so comparing DAI to MMO just because of some odd quests is imo stupid. And as you said, fetch quests are pretty much everywhere, even in so-loved DAO. I really wish I could like post more than once, but I can't so here's and
|
|
inherit
ღ I am a golem. Obviously.
440
0
25,690
phoray
Gotta be kiddin me
13,168
August 2016
phoray
Dragon Age: Origins, Dragon Age 2, Dragon Age Inquisition, Dragon Age The Veilguard
|
Post by phoray on Sept 16, 2017 11:42:18 GMT
Patrick Weekes @patrickweekesBecause it tastes like water with dirt in it OH MY GOODNESS. It's not just me.
|
|
inherit
4964
0
Jun 17, 2017 17:29:55 GMT
3,701
arvaarad
1,465
Mar 18, 2017 16:32:40 GMT
March 2017
arvaarad
Dragon Age: Origins, Dragon Age 2, Jade Empire
|
Post by arvaarad on Sept 16, 2017 13:25:42 GMT
There is a way to check if a creature's hit points are 0. This means there is a way to have the engine report a creature's hit points to the game's code and check that value. Whether the code checks that value for exactly 0 or less than 1 is irrelevant at that point. The flaw is the idea to check for 0 in the first place instead of less than 1. I didn't get the impression that this was an == vs. <= problem. I would assume health goes to 0 at death and stays nonnegative. It seemed like more an issue of, a creature can be dead at 0 hp, and that comes with certain characteristics and restrictions. And also, temporarily, they can be dying at 0 hp. Meaning "while they're still falling to the ground". So there are, necessarily, multiple different versions of "really dead" in play: Can I apply conditions? !dead Can the boss talk to me? !dead Can I loot the body? dead && !dying Is combat over? dead && !dying And so on. A dev looking at all the (dead && !dying) cases might reasonably decide to combine them into one function, so they don't have to repeat that all over the code. So they might write a function like "completelyDead()" or something. Later, some other dev might come across that method and figure it's the standard way of checking for death. For example, they might ask "Can I apply conditions?" and answer "!completelyDead()". But that would fail if the creature is dead and dying, because they're not supposed to accept conditions. But "!completelyDead()" is true; they're still in the process of dying. Since dying is such a temporary state, someone who didn't work on the dying code might not realize there's this extra flag that shouldn't apply to their feature.
|
|
inherit
ღ I am a golem. Obviously.
440
0
25,690
phoray
Gotta be kiddin me
13,168
August 2016
phoray
Dragon Age: Origins, Dragon Age 2, Dragon Age Inquisition, Dragon Age The Veilguard
|
Post by phoray on Sept 16, 2017 13:34:28 GMT
I'm not a programmer... But my husband has a master's degree in mathematics but assures be that this Grand Knowledge (I have math phobia) does not make him qualified to be an accountant. Coding /=/ logic. Someone else's job is the logic, I'm supposing? I'm in Ultrasound and people think I have this knowledge about all the medications on the market. HA, no. That's a nurse's and Doc's job to memorize all those pills and dole them out. Point is, we're a specialized society.
|
|
inherit
4964
0
Jun 17, 2017 17:29:55 GMT
3,701
arvaarad
1,465
Mar 18, 2017 16:32:40 GMT
March 2017
arvaarad
Dragon Age: Origins, Dragon Age 2, Jade Empire
|
Post by arvaarad on Sept 16, 2017 14:17:24 GMT
I'm not a programmer... But my husband has a master's degree in mathematics but assures me that this Grand Knowledge (I have math phobia) does not make him qualified to be an accountant. I also have a math degree, and I agree with both you and your husband. I loathed math until I got to calculus. That's when the math really begins, and the "math" (aka "the tedious, error-prone arithmetic that should be done by computers, not people") starts to go away. I expect most mathematicians would be pretty bad at any jobs that call for adding numbers bigger than 2 or 3. That's what we were escaping by majoring in math.
|
|
midnight tea
Twitter Guru
gateway beverage
Posts: 8,319 Likes: 20,579
inherit
gateway beverage
109
0
20,579
midnight tea
8,319
August 2016
midnighttea
|
Post by midnight tea on Sept 16, 2017 14:23:51 GMT
I'm not a programmer... But my husband has a master's degree in mathematics but assures me that this Grand Knowledge (I have math phobia) does not make him qualified to be an accountant. I also have a math degree, and I agree with both you and your husband. I loathed math until I got to calculus. That's when the math really begins, and the "math" (aka "the tedious, error-prone arithmetic that should be done by computers, not people") starts to go away. I expect most mathematicians would be pretty bad at any jobs that call for adding numbers bigger than 2 or 3. That's what we were escaping by majoring in math. Anybody who claims to understand math (I seriously began writing 'magic' at first) is a secret Reptilian. There, I said it
|
|
Hrungr
Twitter Guru
ღ N-Special
More coffee...? More coffee.
Staff Mini-Profile Theme: Hrungr
Games: Mass Effect Trilogy, Dragon Age: Origins, Dragon Age 2, Dragon Age Inquisition, Baldur's Gate, Neverwinter Nights, Jade Empire, Mass Effect Andromeda, Anthem, Mass Effect Legendary Edition
Origin: Hrungr
Prime Posts: 18,258
Prime Likes: 65,767
Posts: 31,134 Likes: 113,694
inherit
ღ N-Special
151
0
113,694
Hrungr
More coffee...? More coffee.
31,134
August 2016
hrungr
Hrungr
Mass Effect Trilogy, Dragon Age: Origins, Dragon Age 2, Dragon Age Inquisition, Baldur's Gate, Neverwinter Nights, Jade Empire, Mass Effect Andromeda, Anthem, Mass Effect Legendary Edition
Hrungr
18,258
65,767
|
Post by Hrungr on Sept 16, 2017 14:56:35 GMT
Mark Darrah Retweeted Sophie Leah @soellea Just got banners completed for my medieval wedding. Couldn't not include my fave series ever @biomarkdarrah @mike_Laidlaw @patrickweekes pbs.twimg.com/media/DJ1xk5KWAAE7_-K.jpg
|
|
inherit
299
0
Member is Online
6,514
AlleluiaElizabeth
2,658
August 2016
alleluiaelizabeth
Mass Effect Trilogy, Dragon Age: Origins, Dragon Age 2, Dragon Age Inquisition, Mass Effect Andromeda, Mass Effect Legendary Edition, Dragon Age The Veilguard
|
Post by AlleluiaElizabeth on Sept 16, 2017 14:57:13 GMT
I get it. You like BioWare and you don't like it when they get criticized. But you're reaching for some very thin and short straws here. You completely ignore how I explained that the thinking is the problem here, not the execution, and keep repeating how I need to be a Frostbite expert.
Checking and manipulating the contents of variables is the most basic tool of any programming language or engine, including Frostbite. Without that, you practically can't code. Frostbite does it too, as anyone with any PC Frostbite game can check for themselves. Pull up the console and let it spit out a few variables.
I suspect that you're probably not actually interested in understanding the problem and merely want to deflect criticism by constantly questioning my competence to make that criticism, but I'll try to explain one last time again.
There is a way to check if a creature's hit points are 0. This means there is a way to have the engine report a creature's hit points to the game's code and check that value. Whether the code checks that value for exactly 0 or less than 1 is irrelevant at that point. The flaw is the idea to check for 0 in the first place instead of less than 1. It would be a problem with any coding language and any engine, because the thinking is flawed. And that's why it is a rookie mistake.
To give a general example: if you want a car's fuel gauge light up a warning sign when your fuel is low, you don't check whether your fuel is, say, exactly at 20%. You check whether it's 20% or less. This is a simple, obvious logic problem that does not require you to be an engineer or an expert of the car model in question. It applies on a general level. No, I didn't say you need to be a Frostbite expert - my question was fairly straightforward and non-sarcastic, but I see that instead of answering I mostly get ad homs and insinuations. And no - not all people who ask questions for the sake of precision "don't like when things they like get criticized", but there are so many baseless accusations flying around and Dunnig-Kruger effect is so rampant on the Internet (and overall) you're going to forgive me that I'm not going to believe a rando on the Internet without asking a few questions first. Anyway - most what I get is that you merely assume that Frostbite or gamedev works the way you think it does, while I see that a fellow programmer above this rant has expressed something of a different opinion when it comes to potential differences between programming for other purposes than gaming. Tea, come on now. The only answers he could have given to "Are you familiar with maing games in Frostbite?" are "Yes, I am." or "No I am not.", with the likely answer being the "No" b/c he probably doesn't work for EA. And what would your response have been? Guessing something along the lines of "Well, then you don't know the exact problems they're facing."? (IE, exactly what you do in the second paragraph of this quote.) There was no point in you asking the question otherwise. You weren't being sarcastic, but you were being persnickety. I think Gileadan has a point. He should tweet it to the devs. Politely. Maybe ask "Couldn't you just set the death/dying condition to less than 1 to avoid that?" or something. They may have a good counterpoint. They may say "That's exactly what we ended up doing. Good catch!". They may just not know and he'd be giving them a good idea for the future. Bioware is wizards at many things, but there's always room for improvement. I'm not a programmer... But my husband has a master's degree in mathematics but assures be that this Grand Knowledge (I have math phobia) does not make him qualified to be an accountant. Coding /=/ logic. Someone else's job is the logic, I'm supposing? I'm in Ultrasound and people think I have this knowledge about all the medications on the market. HA, no. That's a nurse's and Doc's job to memorize all those pills and dole them out. Point is, we're a specialized society. I'm learning some programming currently and logic is kinda part of the deal. If you want to reach an end goal with your code, you need to work out the steps to get there. Unless you meant something else by "logic" and I'm not understanding?
|
|
Hrungr
Twitter Guru
ღ N-Special
More coffee...? More coffee.
Staff Mini-Profile Theme: Hrungr
Games: Mass Effect Trilogy, Dragon Age: Origins, Dragon Age 2, Dragon Age Inquisition, Baldur's Gate, Neverwinter Nights, Jade Empire, Mass Effect Andromeda, Anthem, Mass Effect Legendary Edition
Origin: Hrungr
Prime Posts: 18,258
Prime Likes: 65,767
Posts: 31,134 Likes: 113,694
inherit
ღ N-Special
151
0
113,694
Hrungr
More coffee...? More coffee.
31,134
August 2016
hrungr
Hrungr
Mass Effect Trilogy, Dragon Age: Origins, Dragon Age 2, Dragon Age Inquisition, Baldur's Gate, Neverwinter Nights, Jade Empire, Mass Effect Andromeda, Anthem, Mass Effect Legendary Edition
Hrungr
18,258
65,767
|
Post by Hrungr on Sept 16, 2017 15:03:21 GMT
More from the Dying/Dead topic (including Devs from other studios chiming in)... Amber Yust @aiianeI've definitely seen things that would immediately remove the actual entity and just replace it wholesale with a separate corpse entity, Mark Darrah @biomarkdarrahYup, I've seen that too. Only what is creatures can be rezed? Then you are swapping back and forth, losing status data each time Furkan C137 tacsearWhat about deathblow animations? Mark Darrah @biomarkdarrahOh god Mark Darrah @biomarkdarrah And... And Rayna? 🤷 @and_RaynaDon't forget about what you do withdraw the bodies after death. Do they have collisions? Can you get stuck in the middle of a pile of death? DickMandrake @dickmandrakeExample of this from Spyro: Year of the Dragon - pausing/exiting level right before Spyro dies disables all water boundaries Mark Darrah @biomarkdarrahAs it does... Sabrina Gilli_chanThis explains stuff like this Note: he is dead, I killed him and then he got back up and started moonwalking 😆 i.imgur.com/rKJLzJJ.gif Mark Darrah @biomarkdarrah For example
|
|
inherit
8750
0
Apr 26, 2018 20:05:42 GMT
1,585
tacsear
1,072
Jun 16, 2017 19:04:21 GMT
June 2017
tacsear
Mass Effect Trilogy, Dragon Age: Origins, Dragon Age 2, Dragon Age Inquisition, KOTOR
Painkiller3477
|
Post by tacsear on Sept 16, 2017 15:47:31 GMT
More from the Dying/Dead topic (including Devs from other studios chiming in)... Amber Yust @aiianeI've definitely seen things that would immediately remove the actual entity and just replace it wholesale with a separate corpse entity, Mark Darrah @biomarkdarrahYup, I've seen that too. Only what is creatures can be rezed? Then you are swapping back and forth, losing status data each time Furkan C137 tacsearWhat about deathblow animations? Mark Darrah @biomarkdarrahOh god Mark Darrah @biomarkdarrah And... And Rayna? 🤷 @and_RaynaDon't forget about what you do withdraw the bodies after death. Do they have collisions? Can you get stuck in the middle of a pile of death? DickMandrake @dickmandrakeExample of this from Spyro: Year of the Dragon - pausing/exiting level right before Spyro dies disables all water boundaries Mark Darrah @biomarkdarrahAs it does... Sabrina Gilli_chanThis explains stuff like this Note: he is dead, I killed him and then he got back up and started moonwalking 😆 i.imgur.com/rKJLzJJ.gif Mark Darrah @biomarkdarrah For example Am I famous now?
|
|
midnight tea
Twitter Guru
gateway beverage
Posts: 8,319 Likes: 20,579
inherit
gateway beverage
109
0
20,579
midnight tea
8,319
August 2016
midnighttea
|
Post by midnight tea on Sept 16, 2017 15:48:31 GMT
Tea, come on now. The only answers he could have given to "Are you familiar with maing games in Frostbite?" are "Yes, I am." or "No I am not.", with the likely answer being the "No" b/c he probably doesn't work for EA. And what would your response have been? Guessing something along the lines of "Well, then you don't know the exact problems they're facing."? (IE, exactly what you do in the second paragraph of this quote.) There was no point in you asking the question otherwise. You weren't being sarcastic, but you were being persnickety. I think Gileadan has a point. He should tweet it to the devs. Politely. Maybe ask "Couldn't you just set the death/dying condition to less than 1 to avoid that?" or something. They may have a good counterpoint. They may say "That's exactly what we ended up doing. Good catch!". They may just not know and he'd be giving them a good idea for the future. Bioware is wizards at many things, but there's always room for improvement. It's not "persnickety" to ask an entirely legitimate question. I know from my own profession that having expertise on one field doesn't mean that I have one on another or that presented problem will have the same solution as one applicable somewhere else. I'm not a programmer and I have no idea who I'm talking to, so I figured I may as well begin asking someone who sounded very certain of their verdict, despite different people with programming background having different opinion on the matter on this very thread. So sorry if my curiosity mixed with healthy skepticism sounded insidious enough for you to start nitpicking on my intentions, but it was hardly a spot to not ask those exact questions.
|
|
Hrungr
Twitter Guru
ღ N-Special
More coffee...? More coffee.
Staff Mini-Profile Theme: Hrungr
Games: Mass Effect Trilogy, Dragon Age: Origins, Dragon Age 2, Dragon Age Inquisition, Baldur's Gate, Neverwinter Nights, Jade Empire, Mass Effect Andromeda, Anthem, Mass Effect Legendary Edition
Origin: Hrungr
Prime Posts: 18,258
Prime Likes: 65,767
Posts: 31,134 Likes: 113,694
inherit
ღ N-Special
151
0
113,694
Hrungr
More coffee...? More coffee.
31,134
August 2016
hrungr
Hrungr
Mass Effect Trilogy, Dragon Age: Origins, Dragon Age 2, Dragon Age Inquisition, Baldur's Gate, Neverwinter Nights, Jade Empire, Mass Effect Andromeda, Anthem, Mass Effect Legendary Edition
Hrungr
18,258
65,767
|
Post by Hrungr on Sept 16, 2017 19:17:39 GMT
Fernando Melo DiscoBabaloo Great thread on some behind the scenes dev woes... [Mark Darrah's Dying / Dead posts] Justin Edmond @iamsparkkie This is why I always loved that the web/mobile team switched over to a declarative style programming. It solves a lot of those issues. Jesse Houston @gtez We added an interactive resurrection state to player death.... What were we thinking. Mike Laidlaw @mike_LaidlawYOU ARE MADNESS
|
|
inherit
ღ I am a golem. Obviously.
440
0
25,690
phoray
Gotta be kiddin me
13,168
August 2016
phoray
Dragon Age: Origins, Dragon Age 2, Dragon Age Inquisition, Dragon Age The Veilguard
|
Post by phoray on Sept 16, 2017 20:12:54 GMT
I laughed hard at "can you get stuck in a pile of death"
Kinda wish dragon's didn't auto dissolve
|
|
inherit
529
0
7,815
Nightscrawl
3,266
August 2016
nightscrawl
Dragon Age: Origins, Dragon Age 2, Dragon Age Inquisition, Neverwinter Nights, Mass Effect Andromeda
|
Post by Nightscrawl on Sept 16, 2017 21:19:51 GMT
I laughed hard at "can you get stuck in a pile of death" Kinda wish dragon's didn't auto dissolve I wish there was a time lapse before the dissolve, perhaps a couple of minutes? It's a neat visual that plays into the whole Breach thing, but it feels gamey. BUT!!! I much prefer the DAI method over exploding bloody chunks from DA2, let me make that very clear!! On the one hand, having bodies remain adds to realism, which I appreciate. On the other hand, I don't need to actually see a bunch of dead bodies lying around. I think Skyrim solves this in a decent manner, actually. There is cleanup code in the game. Bodies do disappear if you haven't visited an area for a while. I don't mean just reloading a cell, but days or weeks of in-game time. But it can be buggy, yes, so I see the concern there.
|
|
Avejajed
N2
Games: Dragon Age: Origins, Dragon Age 2, Dragon Age Inquisition, Mass Effect Andromeda
Posts: 243 Likes: 793
inherit
281
0
Sept 22, 2024 14:36:33 GMT
793
Avejajed
243
August 2016
avejajed
Dragon Age: Origins, Dragon Age 2, Dragon Age Inquisition, Mass Effect Andromeda
|
Post by Avejajed on Sept 17, 2017 0:19:54 GMT
You know we need a new game when the Twitter thread gets chippy
|
|
inherit
ღ I am a golem. Obviously.
440
0
25,690
phoray
Gotta be kiddin me
13,168
August 2016
phoray
Dragon Age: Origins, Dragon Age 2, Dragon Age Inquisition, Dragon Age The Veilguard
|
Post by phoray on Sept 17, 2017 0:26:32 GMT
I imagine hrungr dodging conversation like shells in the trenches to bring us our tweets
|
|
inherit
424
0
Nov 23, 2024 23:39:29 GMT
6,778
Andrew Waples
4,319
August 2016
andrewwaples1
Andrew_Waples
|
Post by Andrew Waples on Sept 17, 2017 1:48:58 GMT
You know we need a new game when the Twitter thread gets chippy Especially after MEA's lets just say issues...
|
|
inherit
✜ Forge Mechanic
352
0
Jun 12, 2024 13:49:30 GMT
6,256
PapaCharlie9
3,851
August 2016
papacharlie9
Mass Effect Trilogy, Dragon Age: Origins, Dragon Age Inquisition, Neverwinter Nights, Mass Effect Andromeda
|
Post by PapaCharlie9 on Sept 17, 2017 18:11:28 GMT
No wonder their games get delivered in such a state. These are effing rookie problems. Give them some credit. You can't base a judgment like that just on a short tweet. We don't know what else was going on. Large software systems are often more complex than any one person can comprehend. For the record, I've never worked on Frostbite directly -- though, apropos of nothing, I do know some DICE developers that work on the engine, through a rather roundabout software coding connection -- and I'm not a AAA game developer. But I am a software developer who has worked with AAA game developers, and I do work with large, complex pieces of software with line counts that meet and exceed the one posted for DAI (or was it ME3?), so I can make some reasonable guesses at why dying/death transitions are hard. There is a way to check if a creature's hit points are 0. This means there is a way to have the engine report a creature's hit points to the game's code and check that value. Whether the code checks that value for exactly 0 or less than 1 is irrelevant at that point. The flaw is the idea to check for 0 in the first place instead of less than 1. I didn't get the impression that this was an == vs. <= problem. I would assume health goes to 0 at death and stays nonnegative. It seemed like more an issue of, a creature can be dead at 0 hp, and that comes with certain characteristics and restrictions. And also, temporarily, they can be dying at 0 hp. Meaning "while they're still falling to the ground". Agreed. And given that the whole tweet starts with "state transitions", this sounds like a classic FSM problem, in a multithreaded environment. There's absolutely nothing "rookie" about that. FSM stands for Finite State Machine and is a common pattern used in software and computation. Check out the wikipedia article for more details. Plus, there could be any of number of additional complications going on that make this problem very difficult: - Native engine code owning part of the FSM, while a game script virtual machine owns other parts. Critical information might be in the wrong part of the system at a critical time. Briefly, there are usually two separate types of code that can run in a game: native and scripting. For reasons that would take too long to explain accurately here, just accept on trust that sharing information between the two systems, native and scripting, is hard and error-prone.
- Multithreaded -- this is just intrinsically hard, period. It's analogous to the difference between listening to just one person talking on the phone and 15 people all taking at once in a voice conference.
- Frame rate -- the game simulation has a finite amount of time to update all necessary state variables, the time between one frame and the next. 60 fps means just 17 milliseconds to visit every object in the visible 3D scene and give each enough compute time to update. Given that combat tends to be the heaviest compute load for a simulator, it's no surprise that some lower priority state transitions might get starved for compute time. Would you rather have every death transition computed accurately, or every weapon/ranged attack you triggered 3 milliseconds ago hit the intended target?
- Notice that Darrah mentioned "atomic" and "sub-frame", meaning, changes that you thought should change all in one go -- without being interrupted by anything else -- and quick enough to happen in less than one frame update, respectively. If neither of those are true, insuring that the update happens correctly every time is exponentially more difficult, because now you have to know about every possible interrupt, and you have to save enough information between frames to know which your updates are still in progress.
The last bullet is worth some additional elaboration. "Sub-frame" vs. multi-frame. Ideally, between one frame and the next, you want to start over from scratch. It makes bookkeeping simpler, because you don't have to remember anything. Just start from the beginning of the frame update as if everything in the simulation is brand new. The more exceptions to that "clean slate" rule there are, the more complex things get, and the more time the CPU has to spend figuring out what needs to be remembered and when to forget it. "Knowing about interrupts." This one should be easy for anyone to understand. The more people working independently on the same project, the more coordination there has to be. And since, in writing code, any one line of code could have a profound effect on every other line of code, it's possible for someone to introduce an interrupt that has an impact on an FSM that was written by someone else, maybe days, weeks or even months before. It could be rock solid and thoroughly tested, and then up-ended by a one-line change someone made in a seemingly unrelated piece of code, like a memory manager or, likely, someone trying to make the framerate go faster as a performance optimization. So, you ask, why not just insure that all changes are atomic -- that is, can't be interrupted -- and avoid the whole problem? Well, because making everything atomic makes everything run slooooooowweeeeeeer. And you know how gamers love their 60 fps. So even if the dying/dead state transition may be relatively easy to comprehend, making it performant could be very complex indeed.
|
|
inherit
959
0
1,321
githcheater
1,079
Aug 13, 2016 20:29:15 GMT
August 2016
githcheater
Dragon Age: Origins, Dragon Age 2, Dragon Age Inquisition, KOTOR, Baldur's Gate, Neverwinter Nights, Jade Empire, SWTOR
|
Post by githcheater on Sept 17, 2017 18:48:34 GMT
Fernando Melo DiscoBabaloo Great thread on some behind the scenes dev woes... [Mark Darrah's Dying / Dead posts] Justin Edmond @iamsparkkie This is why I always loved that the web/mobile team switched over to a declarative style programming. It solves a lot of those issues. Jesse Houston @gtez We added an interactive resurrection state to player death.... What were we thinking. Mike Laidlaw @mike_LaidlawYOU ARE MADNESS PapaCharlie - Does Justin Edmund's comments about declarative style programming shed any light on Mark Darrah's Dying /Dead posts? Anyway, I have no programming background, but is obvious that this is an easy problem that could have been solved with multiple kittens and a plate glass window.
|
|
inherit
✜ Forge Mechanic
352
0
Jun 12, 2024 13:49:30 GMT
6,256
PapaCharlie9
3,851
August 2016
papacharlie9
Mass Effect Trilogy, Dragon Age: Origins, Dragon Age Inquisition, Neverwinter Nights, Mass Effect Andromeda
|
Post by PapaCharlie9 on Sept 17, 2017 22:24:52 GMT
Fernando Melo DiscoBabaloo Great thread on some behind the scenes dev woes... [Mark Darrah's Dying / Dead posts] Justin Edmond @iamsparkkie This is why I always loved that the web/mobile team switched over to a declarative style programming. It solves a lot of those issues. Jesse Houston @gtez We added an interactive resurrection state to player death.... What were we thinking. Mike Laidlaw @mike_LaidlawYOU ARE MADNESS PapaCharlie - Does Justin Edmund's comments about declarative style programming shed any light on Mark Darrah's Dying /Dead posts? Not really. If you have total freedom to choose all of the technology you build a system with, sure, building declarative from the ground up can solve state transition problems easily. Whether that system will perform well, have a deep pool of field-trained talent to hire for, and be easy to maintain, is a different story. Besides, it's rare to be able to control the entire technology stack. You either have legacy code to deal with or licensed code. The latter applies to Bioware. We know Bioware licenses Frostbite, and Frostbite is an imperatively programmed engine, not declarative. It's like saying that, when I was in France, speaking French solved a lot of problems, therefore speaking French everywhere, including on the International Space Station (Frostbite), should work great -- nevermind that all the control panels are in English or Russian.
|
|
rapscallioness
N3
Games: Mass Effect Trilogy, Dragon Age: Origins, Dragon Age 2, Dragon Age Inquistion, Jade Empire
Posts: 731 Likes: 1,531
inherit
223
0
1,531
rapscallioness
731
August 2016
rapscallioness
Mass Effect Trilogy, Dragon Age: Origins, Dragon Age 2, Dragon Age Inquistion, Jade Empire
|
Post by rapscallioness on Sept 18, 2017 0:26:03 GMT
Actually, I find that caffeine makes it quite a bit easier to enter the Fade. It's like a giant slingshot. Perhaps Solas and I will debate this point one day.
|
|
midnight tea
Twitter Guru
gateway beverage
Posts: 8,319 Likes: 20,579
inherit
gateway beverage
109
0
20,579
midnight tea
8,319
August 2016
midnighttea
|
Post by midnight tea on Sept 18, 2017 0:32:47 GMT
Actually, I find that caffeine makes it quite a bit easier to enter the Fade. It's like a giant slingshot. Perhaps Solas and I will debate this point one day. I think it depends on a person. Too much caffeine makes my temples pounding and certainly not in a mood for sleep - so I stick to tea. But that whole 'Solas dislikes caffeine because it makes it difficult to enter the Fade' also means that Solas should dislike chocolate
|
|
inherit
813
0
Jun 26, 2019 23:40:38 GMT
5,054
thats1evildude
2,478
August 2016
thats1evildude
Dragon Age: Origins, Dragon Age 2, Dragon Age Inquisition
|
Post by thats1evildude on Sept 18, 2017 0:35:21 GMT
Actually, I find that caffeine makes it quite a bit easier to enter the Fade. It's like a giant slingshot. Perhaps Solas and I will debate this point one day. I think it depends on a person. Too much caffeine makes my temples pounding and certainly not in a mood for sleep - so I stick to tea. But that whole 'Solas dislikes caffeine because it makes it difficult to enter the Fade' also means that Solas should dislike chocolate Die monster! You don't belong in this world!
|
|