XNA RPG 2.5D Game Engine - Updated WIP

So here we have at last just over a week's progress on my new RPG engine. This week has been all about graphical shineys and marks the game's bold venture from 2D to fully fledged 2.5D. So what does that mean? Lots and lots of tinkering with shaders, RenderTargets and DepthStencilBuffers, but it's definitely paid off - I've reached my primrary target which was 'have it look better than Baldur's Gate 2', which I'm pretty sure it does.

As well as being able to simply import and use alpha-mapped sprites, the game supports a more elaborate pipeline of content creation: a 2.5D object such as those you see in the video is first rendered with the correct perspective in the 3d-application of your choice, then a normal map for it is rendered in a similar manner, using a special material which calculates the world-space normal vectors of every pixel and finally a proportionate height-map (again, world-space rather than screen-space) is rendered. The game combines and scales these three maps as is necessary to create what seems to be a 3-dimensional object - which for all intents and purposes it is... you just can't rotate it. Using the heightmap we are able to calculate the 3-dimensional position vector of every pixel in world-space, while the normal map gives us surface information.

And all this without a single polygon being rendered, allowing levels of complexity bounded only by sprite resolution.

Last updated