2.5D vs 3D

Posted: December 8th, 2010 | Author: spacer petros | 3 Comments »

One big question about our project was whether we would have 2.5D or 3D graphics. In case you don’t know the difference between 2.5D and 3D it’s simple. 2.5D is using 2D methods to create an illusion of a 3D graphic, hence it is a pseudo-3D rendering.

spacer

Age of Empires 3 - 3D Rendering

spacer

Age of Empires 2 - 2.5D Rendering

So what is the big deal? If our options are pseudo-3D and real kick-ass 3D why should we choose the first one. Everyone knows the real thing is better. This is what this article is about. Let’s start our analysis.

Is it even possible to go 3D?

The first part of our analysis is all about implementation. Simply speaking, can we use 3D graphics?  The reason of wondering if it’s possible is because we talk about a browser game. 3D graphics were never meant to be in a webpage and this is exactly what we are trying to do here. The biggest problem is hardware acceleration. 3D computations are too complex for the best CPU to render a scene real-time. So software acceleration through canvas 2D context is out.

Our options that utilize the GPU of a computer to render in-browser graphics are  WebGL or some third party plugin which the user will have to install in order to play the game. WebGL is a new feature browser vendors are implementing which is basically a set of tools that allow you to render hardware accelerated 3D graphics. The problem with it is, as with everything new, it’s not in everyone’s pc. And to be specific, it’s only in the beta versions of Chrome and Firefox and it’s not even in the future plans for Internet Explorer. So a major problem with WebGL is how many of our users will have the necessary system to play the game. Third-party plugin is also an option but the basic drawback of it is that users are not very happy when they have to install something in their browser. Not to mention that some will not have the rights to install software, say in a public computer.

We have chosen to use WebGL. First of all it’s all about open standards and we like using open technologies. There are two main problems about it. Feature availability and Internet Explorer. Let’s talk with numbers. Mozilla Firefox 4 is currently in Beta phase and supports WebGL. It is planned to ship in early 2011. Google Chrome stable is in version 8, with its developer version 9 supporting WebGL. So knowing that we will have 6 months until the final product is shipped, we have good chances that 37% of our users* will be able to play the game without changing anything. From the remaining 63% the 55% is Microsoft Internet Explorer’s share. The answer to this problem is Chrome Frame. Google Chrome Frame will support the same features as Google Chrome stable. That means that we can have 3D graphics in browser, be available to 92% of internet users and only 55% will have to install a plugin, which is after all used by other sites too. Another big advantage of Chrome Frame is you can run your stuff as far back as IE 6, so any caveman using IE6 can play our game. Pretty awesome spacer .

Development Time

Having solved the implementation problem let’s now think of development time. It’s pretty obvious that 3D needs more work from the developers as it’s far more complex than 2.5D. Is it worth the time to do it, and more importantly, will we meet the deadline? In my opinion a 3D game is much more appealing to the eye than one with 2.5D graphics. Also, as we talk about Virtual Life it fits more nicely to be in 3D as the real world is also 3D(I think). The main concern is if we will make something until the deadline and if it will be good. The key element that convinced us that development and learning time is worth it is that developers work harder when they like what they are doing. I’m not saying we don’t like using 2.5 graphics but 3D is awesome. Just awesome. We may spend endless nights working out the projection matrices, light equations, memory bandwidth limits,  shaders and stuff but the result will please us.

Conclusion

Having said all these now you know what made us choose 3D. It’s possible and we will make something good out of it. I have to go now, those pixels are too lonely without a texel. Don’t forget to leave your thoughts at the comment section bellow!

*Data of November 2010. Source: Wikipedia


  • www.dionyziz.com/ dionyziz

    I wanted to mention that as far as plugins are concerned, we also had the options of Java and Flash. However, Flash does not support hardware accelerated 3D, meaning we’d have to settle for much lower-end graphics. On the other hand, Java is not installed on every browser, and even if it is, the security warnings are a scare-away for many players: Since we want to get rid of the burden of having to install a desktop application which many users are hesitant about, moving the platform to Java doesn’t really make a difference if the user is presented with a nasty warning.

    WebGL is a completely secure and open standard, with direct hardware acceleration and the possibility of very high quality graphics, especially as browsers get better in the future. After all, a game is a huge project, and we have to think for the future; and we don’t see much of Flash or Java for 3D games there.

  • www.jacobthomas.in/ Jacob

    Awaiting…

  • Pingback: Virtual Life and the Openfund

gipoco.com is neither affiliated with the authors of this page nor responsible for its contents. This is a safe-cache copy of the original web site.