So previously I had entertained a few concepts for the isometric game engine I was working on, however everything started to look a bit flat.
I decided to make the move from building worlds with flat cube tiles to building out of blocks to make things a bit more 3D.
I made a simple cube block with 45 degree bevelled edges and corners. Each surface had its own set of vertices and its own surface to allow for multiple textures. I then stretched for a long block and stretched and rotated for a tall block. I then designed a quick routine to add the blocks randomly to a wall and allow for spaces. It was a disaster… The amount of vertex’s on screen came in at around 12000+ and the FPS slowed down to 30. Also the bevels in the stretched blocks weren’t at 45 degrees any more and didn’t match the cubes in the wall.
I quickly realised that in an isometric world, you only see a max of 3 sides of the block at any one time so by making six blocks with some surfaces missing and using the correct one for correct circumstance I managed to reduce the vertex count to less than a third, even with the floor being 3D bevelled cubes.
The result, from the ISO camera view, all looks good, 3D and solid. But if you walk around to the back of the wall, like every good film set you find out that its just a plywood mock-up.
Again, planting the camera in a standard Isometric position gives you a stretched curved effect meaning that some parts of the screen are out of shot, so moving the camera a long way from shot and using the zoom function flattens out the image to a more regular looking isometric view.