Jump to content

  • Log In with Google      Sign In   
  • Create Account

3D Voxels vs 2.5D Rotating Axonometric


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
3 replies to this topic

#1 work   Members   -  Reputation: 105

Like
0Likes
Like

Posted 28 May 2014 - 11:52 AM

I am getting ready to jump into my first game with Clojure. I have some programming experience under my belt, and I'm relatively comfortable with everything. 

 

Anyways, I am going to be creating a hex-tiled JRPG-esque party-oriented crawler. That's a mouthful. Basically "Pokemon Mystery Dungeon" meets "Final Fantasy" on hex tiles.

 

What I'm wondering is how I should handle tiling. I'm new to graphical programming so I'm curious if it will be easier to have a 3D setup and learn to love LWJGL with hexagonal voxels, or if I should try and do something easier like axonometric perspective. The nice thing about 2.5D is that I could texture stuff easily and rotate it smoothly because in axonometric games, everything is depth-sorted relative to the screen. That way, regardless of what's on screen, whatever is closest to the bottom is "closest"

 

underrail.jpg

 

That image is a good example. If I were to rotate that 180 degrees, that inside corner would be closest and would be depth sorted appropriately.

 

My question is simple: which is going to be faster on economy PCs? I want something that everybody can access. With 3D, I can control the draw distance easily, so I wouldn't have to worry about writing all the rotation code, and I could prob run it on slower rigs, but it seems like it would also be fast to just depth sort what is essentially a bunch of sprites. With 2.5D, I don't have as much computational overhead at first glance, but whenever the player rotates, I have to redraw and re-sort everything.

 

Please weigh in on this, if you have a second.


nobody@protonmail.ch | @work_op | 


Sponsor:

#2 Stainless   Members   -  Reputation: 1069

Like
0Likes
Like

Posted 28 May 2014 - 01:47 PM

In 3D all the depth handling is done with the depth buffer, essentially for free.

 

In 2.5D you have do it on the cpu.

 

So in the general case I would expect 3D to be faster. Of course there are lot's of clever programming tricks you can do to counteract this.

 

You can have a depth buffer in 2D and draw front to back (reducing the actual number of pixel writes ) for example.

 

Really I would just pick the one you WANT to program and get on with it. The power of the target devices is far less important than your own motivation and enjoyment.

 

If we were to say to you "what you need to do is this , that, twiddle this, depth sort the other" and you hate it, the game isn't going to get coded.



#3 Kaptein   Prime Members   -  Reputation: 2180

Like
0Likes
Like

Posted 28 May 2014 - 04:05 PM

It doesn't matter what game you make, or what PC it is. Use what you have to work with.

 

Even an (old) school laptop has a strong enough GPU these days to do some fancy computations on.

Old DX9/GL2.1 has depth/Z buffers, mesh streaming and shaders and everything else you need. Please use them. =)

 

No question: Use the rendering API of your choice. There is only as many dimensions as the vectors and matrices you use.

What is 2.5d even? Ordered sprites? Painters algorithm?

 

Keep in mind that you will have overdraw if you draw back to front.

With a depth buffer and front to back you prevent some, if not all, overdraw.


Edited by Kaptein, 28 May 2014 - 05:51 PM.


#4 work   Members   -  Reputation: 105

Like
0Likes
Like

Posted 28 May 2014 - 10:14 PM

In 3D all the depth handling is done with the depth buffer, essentially for free.

 

In 2.5D you have do it on the cpu.

 

So in the general case I would expect 3D to be faster. Of course there are lot's of clever programming tricks you can do to counteract this.

 

You can have a depth buffer in 2D and draw front to back (reducing the actual number of pixel writes ) for example.

 

Really I would just pick the one you WANT to program and get on with it. The power of the target devices is far less important than your own motivation and enjoyment.

 

If we were to say to you "what you need to do is this , that, twiddle this, depth sort the other" and you hate it, the game isn't going to get coded.

 

I want to make something reusable, so I think 3D will be the way to go after reading this response and the other. I didn't realize how little overhead there is with depth buffers in 3D applications so it makes sense to take advantage of that. 

 

EDIT: Thanks, by the way for your time. Probably would have been smarter to start with that...

 

 

It doesn't matter what game you make, or what PC it is. Use what you have to work with.

 

Even an (old) school laptop has a strong enough GPU these days to do some fancy computations on.

Old DX9/GL2.1 has depth/Z buffers, mesh streaming and shaders and everything else you need. Please use them. =)

 

No question: Use the rendering API of your choice. There is only as many dimensions as the vectors and matrices you use.

What is 2.5d even? Ordered sprites? Painters algorithm?

 

Keep in mind that you will have overdraw if you draw back to front.

With a depth buffer and front to back you prevent some, if not all, overdraw.

 

The more I read on graphics programming the less I'm worried about the computational overhead of all this, there is a ton of stuff I can cut down on. I have a model in my head of how the game will work from a high level, and now I'm finding out that the low level is going to be way more powerful and efficient than I thought before. In turn that should give me more in terms of creativity.

 

2.5D has kinda two meanings. There's Trine-esque, and then there's axonometric. Trine is actually rendering 3D models, where axonometric models are just basically abusing creatively sized sprites to give the illusion of depth. See Final Fantasy Tactics for a good example.

 

EDIT: Thanks for weighing in, I really appreciate it.


Edited by work, 28 May 2014 - 10:16 PM.

nobody@protonmail.ch | @work_op | 





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS