Me admira como uma empresa consegue ser tão preguiçosa e nojenta como a Bethesda.
Só pra vocês terem uma ideia, uns meses eu comecei a jogar Fallout 4 survival mode. E eu até gostei, pois o end game fica bem fácil até mesmo na dificuldade very hard. O problema é que de tempos em tempos meu jogo dava crashes aleatórios toda vez que eu entrava no VATS (estava jogando vanilla e sem mods). Procurei no google por 'VATS random crashes' e percebi que várias outras pessoas estavam tendo o mesmo problema desde 2016 quando o modo survival entrou em beta, vários jogadores reportaram pra Bethesda esse bug que praticamente arruína o modo survival e mesmo assim ele nunca foi consertado.
Tem um mod no Nexus que explica como esse bug funciona, basicamente se a função
Player.EquipItem() for chamada enquanto você estiver em modo VATS o jogo simplesmente se embanana todo e trava. Essa função é chamada no modo survival toda vez que o jogo precisa aplicar um
status effect no jogador como hunger ou thirst. O cara descobriu como esse bug funciona por pura sorte quando ele tava tentando criar um outro mod, o complicado é que não tem como debugar ou escrever um log propriamente dito da linguagem de script usado pela Bethesda (Papyrus script), então você depende de pura sorte pra achar e consertar bugs que a Bethesda não conserta.
Esse mod em boa parte conserta esses travamentos no VATS (eu criei um caso de teste onde conseguia replicar o bug 100% das vezes), mas ainda têm outras instâncias onde o game trava e não tem como saber o motivo, pois o game não tem error handling propriamente dito.
A Creation Engine (basicamente uma Gamebryo extremamente modificada e renomeada) é defasa sim, mas boa parte desses problemas se devem à incompetência da Bethesda, pois se os modders que não têm acesso completo ao kit de desenvolvimento conseguem consertas bugs (Creation Kit só deixa você modificar scripts e data files e não o binário em si).
Nessa mesma época eu instalei o Creation Kit da Bethesda pra tentar criar um mod do tempo (weather mod) e me surpreendi com a facilidade com você conseguia criar certo mods. Criar mods como do tempo, texturas ou meshes é bem simples, o problema surge quando você precisa criar algo que necessita de um pouco mais de lógica como novas quests ou mods que usam funções papyrus customizadas por exemplo. Eu li a documentação do Creation Kit e pra poder usar suas próprias funções você precisa fazer um rodei EXTREMO, pois não tem um objeto dedicado somente à isso, pra usar uma função você precisa criar um objeto do tipo
quest e chamar essa função através dessa quest, o problema é que criar quests nessa engine é um pesadelo mais complicado do que deveria ser. Por que vocês acham que mods de skins e tals existem aos milhares enquanto mods de quests são poucos? Porque criar qualquer coisa que precisa usar um pouco de lógica é um pesadelo sem fim nesse tool kit, e isso está vindo de alguém que já trabalhou com C++ que tem uma sintaxe horrível.
Olha só esse pedaço de script que a Bethesda criou pro modo survival e é usado em Fallout 4 que eu achei em 'HC_ManagerScript.psc' (código fonte do script usado no game):
Código:
;give the player all the effects
;they are potions he needs to equip, which will restart their duration
;the effects on each potion are conditioned on the EffectActorValue actorvalue
;I tried having each one dispel the effects on the other, similar to MS19MoleRatPoison and Cure... but that didn't work for some reason. Perhaps it'd only work on checking in?
;restart all the effects by equipping their potions on the player.
int i = 0
int EffectsLength = EffectsArray.length
while (i < EffectsLength)
potion potionToApply = EffectsArray[i].EffectPotion
if potionToApply ;detrimental effects are potions
PlayerRef.EquipItem(potionToApply, abSilent = true)
endif
i += 1
endwhile
Percebeu algo estranho?
Status Effects em Fallout são chamados de
potions, o que provavelmente que dizer que esse pedaço de código foi copiado ou de Skyrim, Oblivion ou até de Morrowind. Não tem nada de errado em reutilizar código, mas o nível de preguiça da Bethesda está chegando à níveis catastróficos.
Não foi uma pessoa só não, várias pessoas no twitter também disseram que conseguiam ver informações pessoais nos tickets de outras pessoas: