The architectural decisions are at the engine level and that stuff has a massive influence on the likelihood of bugs in the code running in that engine.
For example, traditional Unity (not ECS) runs all game code (so the code provided by those coding the game) in a single thread, which avoids A TON of multi threading bugs (as that’s one of the hardest parts in programming to master) but is very bad for performance in multi-core CPUs. Game programmers can fire up separate threads using the standard libraries of the programming language itself and manage them, but everything in the development framework that’s part of the engine pushes them to use that single-threaded model, so only advanced devs bother and only for very specific things.
Also the choice of programming language forced by the engine itself has a huge impact in the likelihood of bugs, but since I don’t want to start a Holy War I’m not going to star pointing fingers at specific languages and criticizing them ;)
True, resolving bugs depends on how effective debugging tools available to the developers are.
But there is no perfect game engine. All have quirks and bugginess of a game usually just comes down to how willing the team is to find and squash them. That’s why all games need patches after launch.
Language is not really an issue here since the Creation Engine uses Papyrus for all game logic, which is good enough for what it does.
It’s both.
The architectural decisions are at the engine level and that stuff has a massive influence on the likelihood of bugs in the code running in that engine.
For example, traditional Unity (not ECS) runs all game code (so the code provided by those coding the game) in a single thread, which avoids A TON of multi threading bugs (as that’s one of the hardest parts in programming to master) but is very bad for performance in multi-core CPUs. Game programmers can fire up separate threads using the standard libraries of the programming language itself and manage them, but everything in the development framework that’s part of the engine pushes them to use that single-threaded model, so only advanced devs bother and only for very specific things.
Also the choice of programming language forced by the engine itself has a huge impact in the likelihood of bugs, but since I don’t want to start a Holy War I’m not going to star pointing fingers at specific languages and criticizing them ;)
True, resolving bugs depends on how effective debugging tools available to the developers are.
But there is no perfect game engine. All have quirks and bugginess of a game usually just comes down to how willing the team is to find and squash them. That’s why all games need patches after launch.
Language is not really an issue here since the Creation Engine uses Papyrus for all game logic, which is good enough for what it does.