The real deal with BSP McNeal

Allright folks....I must admit that how I was doing the BSP was rather stupid. I went back and hit my favorite book of books on game collision : Real-Time Collision Detection. A little reviewing and studying and I went back and recoded my method. This time I adjusted how I was building my Solid-Leaf (which I call Solid Node cause I'm cool like that) and then went on to build a Leaf-Storing bsp. The Leaf-Storing did not solve my problem (in fact it just created more) but I did have some revelations.

My intention with the Solid Node bsp was to create a arbitrary shape that represented the world and then use the BSP to keep objects inside. This resulted in an immense amount of failure. After recoding my BSP technique (and learning of the awesomeness that is Thick Planes) I realized that it is better to create several shapes (with associating bsp trees) that when placed together form the world geometry. So don't keep things "in" a shape...just make several shapes to keep from getting to the void. This worked much better and allowed for me to reimplement my bevel planes with great success. While its not 100% accurate, it is fairly quick and allows me to create concave ground geometry for the objects to move around. Right now the collision data is relatively simple but I need to mod it to add contact pts, etc for linear and rotational dynamics. This shouldn't be to hard since all the methods to find such have already been created (although I do need to go back and clean them up a bit after making some silly ass modifications).

So..that was a mouthful. By the by, for those paying attention, the answer is YES. I have started to turn this blog from emo crip crap to more of a log of what I am working on and how boring it is to everyone else. :).

So I am going to put the bsp down for a bit. The realization that occured about an hour ago has made me much more relaxed and I am simply smiling about the possiblities. So whats next? Well my Software Architecture teacher has asked me to attempt an extra credit project for his class. I was touched (there I go being emo again :)) that he personally asked me to do it simply cause he wanted to see what I could do. I think this stems from the constant string of questions I bring up to him. While I get friendly brown-nosing (lol...think about that) comments from my friends about talking to teachers too much, what I'm really doing is taking advantage of the best asset in this school : the faculty. Many students rely solely on what the teacher says during class. While I think its valid to critique teachers based on their in-front-of-the-class performance, I ultimately judge the teachers here based on what I experience with them one on one. If they are willing to help and share their advice, I'm more then pleased with em. Most of the skills I've picked up here stem from just slamming questions to the teacher during labs and getting extra proffesional advice on what I'm trying to do.

So I'm gonna look up a pattern called Builder to help solve a potential problem I may have with creating objects with multiple types at runtime. If it works or doesn't, it will be another grand reasearch endeavor that will strengthen my skills.

Upwards and onwards!

1 comment:

Laura "Sko" said...

You were never emo, Naveen. A little hairy, yes... but not so much emo.

I'm going to go make a pie now and drown my woes in sugar. (That's emo). Just kidding, of course. (Not really). Silly, silly.

You see Naveen, this may be a log for your eyes only, an expression of your latest work efforts, but I accept it as my duty to distract you from this endeavor by scribbling insanity in your comments section.

It... makes me happy... fills an unfilled part of my life... brings a smile to my face... and bla, bla bla, bla bla bla.

Thank you come again!