Experiments with 3D


In this and the few preceding posts I have explored the possibility of using Mausimus' RVX engine - well without the engine, more like stealing his idea and using his Blender plugin. The idea consists in projecting a (320x200 or whatever) square grid onto a 3D mesh, and doing some tricks to elongate the resulting squares to minimize gaps. 

As a strong critic of any "fucking around" with pixel art (such as the ghastly lighting effects) I am surprised that Mausimus' method actually works, that is, it preserves the real look and feel of pixel art, with some minimal inevitable glitches, but gives the experience a far more immersive and modern look. The glitches consist mostly in "dithering" getting messed up and some gaps (which essentially means you can't move around too much with the camera).

Although I really like the result and it would fit the game perfectly, there are big problems involved.

1) Trying to map a real 3D camera and 3D environment on pixel art is often impossible. The art has to be changed to reflect a real, perfect perspective as seen from a renderer. Sometimes this might mean changing lines and angles, but I anticipate that for some rooms big structural changes would be needed (ex the resort lobby which doesn't have a real unique vanishing point).

2) Even changing the art is not a perfect method. The real perfect method is to plan the room in 3D first, then get a pixel accurate boundary map of each object (readily output by Blender if you turn off antialiasing and set the material to emissive with a strong color). By doing this you have the guarantee that every pixel you draw will fall on the object and avoid "mess". The mess output by these quads is not easy to edit in 3D due to camera zoom quirkiness, overlaps etc

3) The engine I'm using (Powerquest) sees everything as 2D, obviously. The hotspots, the walkto-lookat points, the walking areas, character facing things, most likely camera movements... all would need to be overhauled to support 3D and this takes me away from telling the story

4) Because RVX outputs quads, even though you are working in 3D you can't really use that to do lots of animation. Even opening a door (rotating it around a point) wouldn't work since the *side* of the door is not a flat surface. I suspect that if you turned the quads to points, and created a renderer to render the quads always facing the camera, this may be mitigated, but there's some large-ish chance it would ruin the effect a bit. The reason Mausimus' method works and is superior to just using real 3D objects with textures, is that the zig-zag is preserved as the object rotates. I am not sure that the "always face" idea would not get in the way of this.

5) Object interactions also become harder - making a character interact with an object is easy when it's all 2D, but when you have a flat image interacting with 3D objects made of many slices, it's going to get a lot trickier.

6) CRT doesn't play well with this effect because the pixel size and position is not aligned to the 320x200 pixel grid. So CRT would have to go

And more.

Now I thought - and Mausimus has suggested - to use the effect only in some rooms or some points in the game, but I can't find a way to make it work with the story.  There's no plausible reason for the character to see in 4D (which would be represented by the game going from 2D to 3D). Besides the issues with the engine not supporting 3D remain.  

I'm not happy about all this. I wanted to make it work because it looks cool and because it probably gives a bit more chances to the game from the perspective of a younger audience - but it would be an enormous detour from telling the actual story.  So unless someone wants to work for free and do the 3D part for the next few years, I am leaning on not putting any more time into this and just focusing on moving the game forward.

Get Angelgaze

Leave a comment

Log in with itch.io to leave a comment.