Hi Cara, My idea was originally to have an array of pointers to objects defining the characteristics of the object at that location. I also thought to have e.g. one wall object andd a lot of pointers to that one object in the array locations where the wall should be. That said, I think you've just convinced me to use the 3d coordination system with collision detection. :-) One thing I still have to figure out though, is how to handle something like an explosion. In the array system I would've just remove all the pointers along a specific radius. May be one way is to give every shape in 3d space a sub-object (another shape) specifying where it's damaged. So you would have a rectangle-like object representing a wall, with a circular shape specifying where a mine/projectile struck. Is there a better way of doing this?
Take care, Rynhardt * Cara Quinn <[email protected]> [101207 23:56]: > Hi Rynhardt, in theory this sounds good, but I have a couple of questions for > you. > > What data types are you storing in your array? I.E. HOw are you showing that > there is a wall and not air per se in a particular area? I'm assuming here, > that we're talking about a full-scale map of the level. > > Also, is your player moving in only 1 unit per frame? > > I ask these because firstly, it sounds like you're simply treating the world > as a very large array of described points in essence. (Which begins to sound > exactly like a 3D coordinate system again) :) The exception being that you > have labels for each point, which can really unnecessarily inflate the amount > of data needed to render a map. Even just using a byte of data per > coordinate, it inflates the map eight times larger than it needs to be rather > than using a simpler collision-based model. > > -And, incidentally, you'll still, in effect, need to use collision detection > anyway, since the map is full-scale. I.E. if your player is moving at 5 > coordinates per second in a direction but that move rate isn't always the > same, you'll still need to check to see if the path of the player will come > into contact with some feature of the map. You'd need some form of collision > detection for this. -Yes?? > > To address your other point, about needing to move through each entity in the > game each frame, you could simply use the current room as your bound for > checking entities. There's no sense checking entities on the other side of > the map. > > Even if you simply used the player's radius instead, and did more detailed > collision detection based on that, the math to check every entity's position > in a level really wouldn't be anything for a modern machine. > > I like your idea though, using perhaps an array of 8 bit integers, which > could simply represent a full-scale environment with amazing detail, in the > sense that one could simply test for a point anywhere on the map and > instantly know what exactly was there. I.E. A point could contain air, water, > be solid or not with numerous materials. > > I question how much faster or less intensive this would really be in gameplay > though. -But honestly, I'm not sure it really matters on the scale we're > talking about here. I.E. we're not even actually rendering any of this in > graphics so these shapes and structures we're testing against are purely > hypothetical in the sense that a sphere is simply a 3F coordinate and another > float for a radius. That's so little data to represent and so little math to > manage, that it's nothing for a computer these days. -Know what I mean?? > > I think it's really interesting though, as I've said, as it really sounds > like your and other's full-scale approach is really beginning to blend with a > raw 3D coord system anyway. :) I love the idea of symbolic representation of > 'reality' and vice versa!? woohoo! :) > > Have a totally awesome day!? > > Smiles, > > Cara :) --- Gamers mailing list __ [email protected] If you want to leave the list, send E-mail to [email protected]. You can make changes or update your subscription via the web, at http://audyssey.org/mailman/listinfo/gamers_audyssey.org. All messages are archived and can be searched and read at http://www.mail-archive.com/[email protected]. If you have any questions or concerns regarding the management of the list, please send E-mail to [email protected].
