EV3D

tycho61uk, on Nov 7 2005, 12:01 PM, said:

Collision is a problem with 2D and 3D games. Why do you think that the asteroids in EV don't collide with each other, or with your ship? It's a performance issue. Seemed very odd at first, but we've all since accepted it. For a 3D EV engine, with the action confined to a 2D plane, you could do just the same thing - there's no need to calculate asteroid collisions except with munitions, as is the case with EV.

For 3D object collisions, you could use bounding spheres as a simple reject check, before examining the polys more closely for the actual collision. That works well and is pretty fast.

It's actually more demanding on the CPU to check for collisions between 2D sprites - you have to examine them at the pixel level in the mask.
View Post

Hmm, cool idea. I didn't really think pixel masks were all that difficult on the CPU. As far as the bounding spheres go, though, how would things interact if you were to have only a small portion of a large ship overlapping with another large ship? That would look kinda weird if one of them disappears, and if it goes under the other ship, does it cast a shadow? How does the shadow distance relate?

tycho61uk, on Nov 7 2005, 06:01 PM, said:

Collision is a problem with 2D and 3D games. Why do you think that the asteroids in EV don't collide with each other, or with your ship? It's a performance issue. Seemed very odd at first, but we've all since accepted it. For a 3D EV engine, with the action confined to a 2D plane, you could do just the same thing - there's no need to calculate asteroid collisions except with munitions, as is the case with EV.

For 3D object collisions, you could use bounding spheres as a simple reject check, before examining the polys more closely for the actual collision. That works well and is pretty fast.

It's actually more demanding on the CPU to check for collisions between 2D sprites - you have to examine them at the pixel level in the mask.
View Post

This is a much bigger problem in 3D games, because two ships cannot be at the same level and fly through eachother. That will have to be fixed by some way making it so that some ships graphics are above the other, no matter what.
I am not really sure how this can be done though. Especially without making the 3D really weird.

It's not theoretically difficult, you're just thinking too literally about 3D game engines. Actually, sticking 3D models to a single 2D plane would actually remove any real need for collision detection - if you could fly around the objects and view them from any angle, you'd have to get involved with that kind of detail. But if you're building your own engine, you can write you own rules. You'd just build an engine that rendered sets of objects on layers that share the same axis and orientations; but they are rendered one on top of the other. Think of it like layers in Photoshop.

The moral of the story; if you're building a 3D game engine from scratch, its construction is limited only by your goals and creativity.

This post has been edited by Hudson : 07 November 2005 - 06:49 PM

tycho61uk, on Nov 7 2005, 01:01 PM, said:

You only came up with a partial translation. What about animated transforms? Shaders? And you never documented it 🙂
View Post

No, you just stopped inquiring as to my progress after a bit. Animated transforms are handled by the rendering engine and not the file- the file merely lists keyframes. As far as documentation, if someone needed it I may happen to have some file or another I was working on that I could finish. Shaders are also pretty easy to figure out, it's the coding that is the mystery.