Mode7

New releases and general discussions.

Post » Mon May 12, 2008 9:01 am

Most people hated the MMF Mode7 only because it was buggy and looked awful. But in reference to the recent topic on 3d and why its too complicated for the average Construct/MMF user, Mode7 has got to be the easiest way to incorporate 3d (2.5d) into a game.
With Hardware Acceleration it would also be much prettier, and use a fraction of the memory allowing for resolutions bigger than 320x200. Im not saying 'do it now' because I said so, Im just wondering if people think it would be a good idea, and a possible extension in the future.

(I tried using the Box object to replicate the effect and it came close but was too clumsy/buggy)
B
1
G
4
Posts: 2
Reputation: 1,029

Post » Mon May 12, 2008 2:15 pm

What I would love is true 3d controls for a sprite, which would do exactly what you're asking. Mode 7 is basically a sprite that can be rotated in all directions, and placed in all directions (x, y, and z). If we had this, not only could we do 'mode 7' type stuff, but we could have true parallax scrolling, where the closer an object is to the camera the faster it moves. This could create some awesome perspective effects.

I know there's parallax effects via layers, but with a lot of objects on screen at different distances, it doesn't work well. It would be much more elegant to move them in 3d space - which would also sort them correctly (z order) and accurately resize them according to distance as well.

Example: http://ps2.ign.com/dor/objects/714612/d ... 43437.html
Moderator
B
87
S
32
G
33
Posts: 3,005
Reputation: 27,397

Post » Tue May 13, 2008 3:35 am

The mode7 object also did exactly what you are talking about, positioning, sizing and angling objects in a 3d environment, and thats what made it so useful.
B
1
G
4
Posts: 2
Reputation: 1,029

Post » Tue May 13, 2008 3:56 pm

[quote="Arima":lz3ukarw]I know there's parallax effects via layers, but with a lot of objects on screen at different distances, it doesn't work well. It would be much more elegant to move them in 3d space - which would also sort them correctly (z order) and accurately resize them according to distance as well.

Example: http://ps2.ign.com/dor/objects/714612/d ... 43437.html[/quote:lz3ukarw]
I've been doing quite a bit of work (albiet on and off, and I haven't made any strides with the 3dbox being bugged atm) with 3D Boxes and 'fake' emulated 3D for sprites (or at least emulated Z).

The following cap shows that this can be done with relative ease. The code that really matters is only 4 lines (under the 'every 10 milliseconds' part).

http://www.fileshack.us/get_file.php?id ... tual+Z.cap

Controls are W,A,S,D for X and Y, and arrow Up and Down for Z.


Z ordering is currently impossible with this method of implementation though (well, probably not impossible, but I can't get it to work for me yet), so it does limit it's uses. I'm hoping at some point in the near future we can get Z ordering based on a variable, which would make this method work extremely well.

Looking at it as a whole, though, its really such a simple solution, coding wise, that having it implemented directly into the sprite object itself, simply as 'Z' or 'Emulated Z', would be the ideal solution looking toward the future.
B
2
S
2
G
5
Posts: 108
Reputation: 1,866

Post » Wed Jun 11, 2008 5:12 am

If there were a program that could make a 3d Sprite grid level and create 3d sprite grid objects to move through the level, and rotate them as well as Construct rotates 2d things, only during Runtime too, then be able to shape the inside of the 3d pixels to smoothe and round the edges, that would be truly Awesome.

Most 3d throws away the sprite system completely though, and instead uses points and panels between the points.
But it would be neat to see 3d done with 3d pixels instead.

If I ever figure out how to use Construct as masterfully as I now know TGF ... then perhaps I will attempt to create such a system. I'm rather curious how memory intensive it would be.
But, I see no reason why the outer edge of 3d sprites could be filled (using memory) while the inside is left hollow (no memory used for empty 3d pixels) ... like a candy shell with no chocolate, cause all you need really is the shell to interact with other such objects, right ?

In fact, if some sort of mathematical formula to empty out all the pixels in a 3d pixel object except the outer layer was created, it might be faster and easier and maybe even use less memory than the current 3d methods. Think about it .. for some reason beyond my knowledge, tiled backgrounds work faster in MMF than one big picture for a background. Or so people tell me anyway ... but, if that's actually true, then would it be the same with the panels placed on the points and lines in 3d editors ? ... so basically the smaller "tiled" 3d pixel version would work faster and eat less memory ? I really don't know, but it would be neat to see done even if it doesn't work that way.

Think of the 3d pixels as empty cubes, only the outer edges using memory. Or maybe even empty spheres.

If nothing else, then it would make a really sweet sculpture artists' program for practicing shaping and whiddling away from a block of wood or chunk of clay without using up so much time and without the need for any actual art supplies. No need of wood or clay ;)

I know it's a little off-topic but it's still talk about 3d.
Thanks for Reading !
B
2
G
4
Posts: 17
Reputation: 1,084


Return to Construct Classic Discussion

Who is online

Users browsing this forum: No registered users and 1 guest