Wooo, ok so as I’m writing this I feel like a load has been lifted from my shoulders. Over the past few weeks I have been producing a game for MYFJ that has been using newly learned skills with Papervision3D.
One of the biggest challenges has been the collision detection between a point and a plane. With alot of research, playing with code and a few lengthy talks with fellow developers, I now have a piece of code that is working nicely. Below are some of the solutions which I have descovered.
I also want to say thanks to Seb Lee-Delisle and Marc Binsted for their help and code examples. Seb has written a few interesting articles about Predictive collision detection techniques and Predicting circle line collisions that I highly recomend. At first Vector Math blew my mind, but with some time, I have been able to get my head around it and get a better understanding of it.
Now I dont like to make things easy for myself, not only am I using a 3D engine, but my planes are rotated on the Z axis (they were rotating on the Y axis as well, but that was just causing way to many problems). So because of the Z axis rotation I couldn’t just work out if the point falls within an area using half the planes height and width. But first it was a case of working out the distance between the point and the plane, and to get there I needed to get the dot product. The below example uses the Number3D class within Papervision3D.
At the beginning of February I had the opportunity to travel to Brighton to attend training courses for Papervision3D and Flash Games Programming. Both courses were led by Papervision3D development team member and Plug-In Media’s technical Director Seb Lee-Delisle.
I wanted to use the courses to strengthen and build upon what I have already taught myself, and to be inspired with what else is possible in Flash. Everyday I surf the web and discover new and interesting experiences. Being the curious type I love to discover how someone else has solved a problem so that I can use my understanding within my own work.
The Papervision3D training course was a great introduction into the features available, discussing key points that you wouldn’t normally think of, or that you would only pick up through experience. What I found really useful was talking through some of the project examples that Seb has been involved with.
The Flash games programming course was a bigger learning opportunity. The course went over areas for developing classic games such as Asteroids, or Moon lander, and also looked at how to develop a basic platform game. Seb ran through a lot of useful examples that he has been involved with and answered many questions of other types of games that you can create.
Both courses were a lot of fun and I would definitely recommend them. I’m a confident developer but I learned a lot that I couldn’t learn from a book and it was also useful to see how other developers worked.

