I believe pretty much all of these bugs could be fixed with some checks built into the questing system. Treating everything like a giant state machine and checking vast amounts of combinations for flaws seems like going overboard.
Like if the quest depends on an item, the game should check if the player is already carrying it. A particular quest wants the player to fetch a briar heart, but if you're an alchemist you may already have one (and this is an alchemy quest so you probably do), so the quest may bug on this step and won't let you advance. Worse, some reports say the quest bugs all subsequently obtained briar hearts and turn them into unusable, undroppable quest items... OMFG why is this happening???
...And if a player has just cleared a dungeon that a particular quest depends on, the game should just repopulate it when you get to that particular step of the quest you'll be able to proceed rather than having the game become comfuzzled forever or perhaps if you're lucky, until you've waited/played 30 days of in-game time and the dungeon respawns automatically.
Checking if a function call like malloc() for example succeeded was very important at least in the past, I dunno if modern programming languages handle that transparently now, but back in the bad old days on the Amiga for example, if you didn't check yourself that you actually got the memory you requested, a guru meditation was waiting to happen for you... Has today's programmers grown so complacent and reliant on OS resource management and garbage collection they've forgotten all of these basic practices, I wonder?
Like if the quest depends on an item, the game should check if the player is already carrying it. A particular quest wants the player to fetch a briar heart, but if you're an alchemist you may already have one (and this is an alchemy quest so you probably do), so the quest may bug on this step and won't let you advance. Worse, some reports say the quest bugs all subsequently obtained briar hearts and turn them into unusable, undroppable quest items... OMFG why is this happening???
...And if a player has just cleared a dungeon that a particular quest depends on, the game should just repopulate it when you get to that particular step of the quest you'll be able to proceed rather than having the game become comfuzzled forever or perhaps if you're lucky, until you've waited/played 30 days of in-game time and the dungeon respawns automatically.
Checking if a function call like malloc() for example succeeded was very important at least in the past, I dunno if modern programming languages handle that transparently now, but back in the bad old days on the Amiga for example, if you didn't check yourself that you actually got the memory you requested, a guru meditation was waiting to happen for you... Has today's programmers grown so complacent and reliant on OS resource management and garbage collection they've forgotten all of these basic practices, I wonder?