Jump to content
  • Advertisement
Sign in to follow this  

Realm of Mad God - 3D Perspective [question]

Recommended Posts

Hi guys. I'm interested in implementing an camera adjustable isometric view similar to  realm of mad god, but in HTML5 instead of Flash. Basically, in that game, its isometric by default, but you can adjust the camera in the (x,y) plane and see things differently. I was wondering if this is achievable by plain HTML5 canvas. Or whether I need to use WebGL for it. 

game at 45 degrees


game at ~80 degrees



Share this post

Link to post
Share on other sites

Your options are basically either just use WebGL or try and render a version of the sprites (2D graphics) at every possible angle.

So yeah, just use WebGL.

Share this post

Link to post
Share on other sites
7 hours ago, kuroro_san said:

I was wondering if this is achievable by plain HTML5 canvas. Or whether I need to use WebGL for it.

The level is 3D the characters are 2D so you will need some 3D renderer. However instead of building your own library for this kind of thing I will recommend using three.js :https://threejs.org/

3D rendering has a lot of little things to concern yourself with, like the 2D sprites are all still going to count as a geom and as such each one will reduce the total amounts of geoms you can have.

What it all means is that unless you run a lot of background optimization running you won't be able to have that many characters onscreen. Three.js has all that done for you and is very easy to use. 

Share this post

Link to post
Share on other sites
1 hour ago, kuroro_san said:

I might actually use babylonjs as i read its easier to use and not as low-level as three

Both are low level, very basic skeleton that was why I recommended it.


WebGL The basic render. On it's own without any framework it can do wonders. However very time consuming and your own framework will often cause the same slowdowns. 

Bybylon.js has very clean framework with, it's basically it's Three.js with a user friendly aim. One unique aspect you would like about it is that it optimizes automatically. That means that out of the gate Bybylon.js will outperform Three.js; unfortunately it lacks any decent GPU support and is very rigid.

Three.js is much more flexible and with much better GPU support. It can actually render more triangles than Unity, however it is only a renderer and has very little for games. It's what I use when showing my 3D models on the net as it can display highpoly models.


If you are looking for something more high-level:

Blend4Web Very-very powerful web game engine. Has direct support with Blender and is easy to use if you are familiar with Blender. The largest drawback is the license, either you share all your files and can use it all for free or you pay $990 per person to get a commercial license.

Unity High level web game engine. Easy to use, easy to build, AAA power engine a pain to manage. One of my largest problems with it is memory limits on Chrome browsers. It improved but there is still a lot of work to be done here.

Unreal4 most powerful game engine available for "free". This is a multi-million dollar engine, it has everything you could ever want. The problem is the huge amount of time you will spend learning just to use the engine.

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!