I'm considering removing functionality that 1) probably no one seriously uses, and 2) should never have been there in the first place. The reason being, it complicates the backend code while simultaneously making HUDs harder to use right out of the box. The change would also bring TOPDOWN_MAP in line with SIDE_MAP and ISOMETRIC_MAP in terms of the HUD always appearing over the map (when planes and other pseudoplanes are the same).

The code complication issue is important though, because it means that the logic can be greatly simplified when it comes to applying some newer concepts down the line that will allow for better-looking games.
That makes more sense, if it un-obfuscates code for later functionality then the change is probably worth the small loss of edge case uses.

Rushnut wrote:
That makes more sense, if it un-obfuscates code for later functionality then the change is probably worth the small loss of edge case uses.

This conversation kind of started because of a study I did several months back with respect to how classic videogame hardware has more or less always worked. I wrote an HTML5 engine that was more or less supposed to be a modern software implementation of the NES/SNES's rendering code.

In the process, I discovered just how much of a pain it is to do a lot of the things that BYOND does. There are several things that BYOND has saddled itself with that just don't make a lot of sense. One of those things is what we're talking about now.

You see, the more predictable and regular your rendering code is, the less pre-sorting and softcode management you have to do when you are rendering.

The real trouble with the edge case that we're talking about is that the actual uses for HUD objects appearing in between map layers has very little actual use in traditional game design. Meanwhile, it adds quite a lot of overhead to the rendering loop.

A simplified rendering method would speed up the render loop and provide better functionality for games as well as allow us to look forward to new post-processing features that otherwise wouldn't necessarily be possible because of serious design flaws in BYOND's overly flexible method of handling things.
Page: 1 2