ID:1366180
 
Applies to:Dream Maker
Status: Open

Issue hasn't been assigned a status value.
I was wondering if it was possible to have BYOND support more 3D-like cameras.




Something like this would definitely make a game look better in general! I'm not sure if this could be accomplished with 2D Maps (Maybe in isometric?) but yeah...I'm just asking xD.

Well, for one, that's full 3D. It's not 3D-like or 2.5D or semi-3D, the newer Pokemon games are actually 3D.

For another, simulating this has already been done.
Basically, all you need to do is add a bunch of /image objects to every object in your view, stack them on top of each other like a deck of cards, and transform them in a way that shows perspective. For example, the higher the card/slice, the higher its layer, the larger it is, and the more in-some-direction-away-from-the-camera it is offset.

It'll be even easier to do with the upcoming transforms, but it probably still won't be worth the performance hit.

Oh, and this.
Black And White was made with a full 3D engine.
Thanks for the reply Kaiochao.
I guess this can not be done on BYOND...YET.

Can anyone give me a link explaining these "transform" proc? I'm not sure to understand what they'll do.
Just to clarify, the transform var will not do perspective transforms; it's doing affine 2D transforms only, which basically would be scaling, rotation, shear, and translation--the result is always a parallelogram.

The upcoming transform var will take a /matrix datum, where the transformation matrix is defined as:
          a d 0
x y 1  *  b e 0  =  x' y' 1
          c f 1
In other words, relative to the center of the icon, its x,y coordinate is transformed to x',y' by this formula:

x' = ax + by + c
y' = dx + ey + f

I'm open to naming the matrix vars something other than a-f, if better suggestions are available. The idea of _31 for row 3, column 1 has been suggested, for instance, though I don't love it.

Matrices can be operated on via a number of procs belonging to the datum, and by operators.
Thanks for the info Lummox!

I'm know this may not be related to this but...Are there any info on the "client-sided processes" (Something like a 2nd world only visible to the client) Tom talked about and said would be possible in V.500?