Advertisement

Isometric 2.5D Game Engine

Started by February 06, 2012 06:14 AM
2 comments, last by FLeBlanc 12 years, 9 months ago
Hey guys,

I want to make a game (turn-based RPG) that looks very similar to Bastion.
bastionpc_1.jpg
Here is what I need to implement:

-> The overworld is 2d, with an isometric view. The graphics would in no way be rendered in 3D, but rather drawn in 2d.

-> The characters would be rendered in 3d, moving about in the 2d isometric world.

I have looked at several game engines, but I find it very difficult to know which would be best to implement this sort of look and feel. Which game engine do you guys feel could be best for me so that I would have the least amount of coding to do for purely the isometric view aspect?

Note: It would be great if the engine could be capable of having 3D models in a 2D environment. However, if some of you feel this can't be achieved in a full 2D isometric engine, then it should not be much of an issue since a 3D character may actually be represented as a large series of 2D images, in other words, this isn't much of a problem I feel for the moment.
Any particular reason that you insist the world be 2D, and in no way rendered in 3D? All this does is needlessly complicate the rendering and the interaction between the 2D world and 3D character. You can still render a world using 3D, but with orthographic projection and textures mapped to billboards or other impostors, to create the look of a 2D world; and in so doing, you vastly simplify the interactions between the world and the 3D characters.

As far as which engine would be best, I've done something similar using Ogre3D. Irrlicht as well. One thing to remember about general-case 3D engines, though, is that they work decently in the general case, but perhaps not so well for specific cases like this; or at least, not as well as a solution you develop specifically for the problem. A general 3D engine does a lot of culling and sorting and LOD determination that you can optimize out for an isometric game, since you already know the best order to draw the objects (back to front) and can easily make a visibility determination based simply on the location of the camera.

Still, even with the relative inefficiency of using a general 3D engine, you should be able to achieve acceptable performance given that an isometric scene is a very, very simple scene to draw.
Advertisement
Any particular reason that you insist the world be 2D, and in no way rendered in 3D? All this does is needlessly complicate the rendering and the interaction between the 2D world and 3D character.

I agree with you, however, there is something about isometric (if you have a good artist) that adds more style and flavor that full 3D. Of course this is just my opinion, but I feel it's nicer to look at.

As far as which engine would be best, I've done something similar using Ogre3D. Irrlicht as well.

Thanks! I'll try looking into these two!

One thing to remember about general-case 3D engines, though, is that they work decently in the general case, but perhaps not so well for specific cases like this; or at least, not as well as a solution you develop specifically for the problem. A general 3D engine does a lot of culling and sorting and LOD determination that you can optimize out for an isometric game, since you already know the best order to draw the objects (back to front) and can easily make a visibility determination based simply on the location of the camera. Still, even with the relative inefficiency of using a general 3D engine, you should be able to achieve acceptable performance given that an isometric scene is a very, very simple scene to draw.

I think I understand what you mean. And I get the feeling that this isometric 2d feel I want can be achieved by many game engines, including 3d ones as you mentionned. I am not very knowledgable when it comes to the many game engines that are available, and I feel overwhelmed by the options. I was really hoping for an engine that sort of aimed for this style, but I am getting the feeling that I just need to stick with one and then change the code to fit my needs, correct?
In any case, thank you very much for the helpful info!


I agree with you, however, there is something about isometric (if you have a good artist) that adds more style and flavor that full 3D. Of course this is just my opinion, but I feel it's nicer to look at.


This isn't true at all. What JTippett was getting at, I think, is that there is no reason to implement 2 different rendering structures in your game: 1 pure 2D isometric structure, and 1 3D structure for the characters. You can implement the isometric scene as a 3D scene, and it will be visually identical to the 2D isometric scene. You can use the same assets (mapped to billboards or crude geometry and placed in the 3D scene) as you would for the pure 2D. That way, the scene and the characters will be well-integrated; ie, no strange issues that might crop up from trying to shoe-horn a 3D character into a flat stack of layered 2D sprites, which is the way that isometric was implemented traditionally. A flat stack of layered sprites has no scene depth, so ensuring that the 3D parts that do have depth are rendered correctly in such a scene can be problematic, and solving the problem is pointless given that the best fix (ie, switching to a full 3D representation for everything) is so trivial.


I think I understand what you mean. And I get the feeling that this isometric 2d feel I want can be achieved by many game engines, including 3d ones as you mentionned. I am not very knowledgable when it comes to the many game engines that are available, and I feel overwhelmed by the options. I was really hoping for an engine that sort of aimed for this style, but I am getting the feeling that I just need to stick with one and then change the code to fit my needs, correct?
In any case, thank you very much for the helpful info!
[/quote]

On any kind of modern hardware, the traditional methods for doing an isometric viewpoint are very out-dated. Modern graphics hardware isn't optimized anymore for the 2D cases, at least not nearly to the extent that they are optimized for 3D. Sure, you can achieve excellent performance doing the traditional layered sprites, but if your goal is to mix in 3D characters, then just go full 3D. Map your level assets to billboards or other appropriate geometry as needed, set the camera to an orthographic projection with the appropriate view angle, and boom. Isometric scene. It's so easy to do in any relatively modern 3D graphics package that it hardly warrants any kind of in-depth discussion.

This topic is closed to new replies.

Advertisement