Posted by Gravecat at 1:31 pm under Programming, Remnant Core. Comment?
Well, it’s been a pretty crazy 24 hours since I decided to implement my plans for a pseudo-3D engine in Remnant Core, but I’m happy to say things are mostly working. In the process I’ve crushed some old bugs — including one that’s been around since the very first version, 0.0.1! — and struggled with some new ones that have cropped up, while inadvertently changing the data storage structures in such a way that they literally take a quarter of the space they did before (despite the addition of 3D space). It’s been a long, strange trip, but the engine is now well on the way to fully supporting this new 3D environment. And did I not say I’d post proof-of-concept screens when I got it working?
First, we start off on the street at ground level (fig.A). This is nothing special. But let’s go up to the second floor (fig.B). Suddenly things get interesting; the dark blue is the street below, we’ve already seen it at ground level so it’s “remembered” at this level up too. Now we blow a hole in the wall (fig.C) and have a clearer view — if we hadn’t already seen the street below, it’d be seen and remembered by this point, vision extends one Z-level above and below the player. Blowing a hole in the wall of the opposite building (fig.D) lets us take a look in there too, but dropping back down to street level (fig.E) we can only see ground level again; the destruction is not visible, as it happened on the second floor.
Of course, that’s just the tip of the iceberg as far as the potential of this 3D engine goes, but it should give a fairly decent example of how the game handles multi-storey buildings, without separating them into completely individual spaces. Not bad for a day’s work, huh?