The biggest problem with Build had always been that strict separation between the actual render engine and the game logic - mapping for Duke Nukem and its family of games requires a somewhat different skill than mapping for Blood, for example. The biggest flaw in my eyes is that unlike Doom it doesn't identify textures by name but by index, and thanks to being built around static arrays its limits are a lot harder to break - you can extend them to a certain degree, but that'll mean the engine needs to allocate enough memory to hold the largest possible map allowed and also potentially increase processing time when the limits get bumped.crazyflyingdonut wrote:I have never delved too much into the technical stuff of the Build engine, but from what I have read online:
1. There isn't as much documentation on mapping for the Build engine as there is for id tech 1. And some of the documentation that does exist have a high chance of being outdated.
2. If you're wanting to make something, you'd be better off making it for id tech 1. Not only is software for it more up-to-date than software for the Build engine, it's also a lot easier to use.
But the render engine is only one part - when I looked at the original Duke 3D source I couldn't really believe how primitive and rough it all was - sure, it got its CON scripts but the parser for those is one of the most hackish parsers I have ever seen in production code - and the rest of the game isn't really much better. The Build engine itself is even worse. And all things considered, none of the source ports ever managed to break free from the confines.
Like I already said, EDuke32 heaped feature upon feature upon feature onto that construct without ever thinking about refactoring that construct.
Despite the Doom engine being 2 years older, the id programmers were really years ahead in code maintenance skills, and had their engine enjoyed a few more years of shelf life I think it would have easily progressed beyond Build which had its upper ceiling of where it could reach due to its internal design. Even now you can't even think of making maps as large as some of the monstrosities made for GZDoom - a ZDCMP2 would make Build explode because it goes beyond all its limits.
That's the obvious solution for reducing the effect, but it's still a degrading palette to palette mapping that loses increasing color precision with each level.Phredreeke wrote: As for banding NukeYKT (NBlood dev) came up with a way to interpolate between multiple shade table entries as to remove it.