Monday 12 January 2009

Ooh? Level 3!!

Ok, I'm halfway through with Level 3, where Mr Ball will battle the Laser-loving thingies.



Yeah, there's gonna be a lot of jumping. So, what do you think of the laser? Does it look good? Ok, I don't wanna brag or anything, but I just find my graphics here are much better compared to the first Mr Ball. All thanks to the free program, Paint.NET! I made the laser beams glow a little by blurring the laser beam. Ahh....

Ok, here's a secret that only game developers know... Ok fine, it's not really a secret already because well,... you can search about it around the internet.

If you observe carefully, the laser beams aren't exactly 3D, it is actually a flat plane, ie, it is 2 dimensional. Ooh? Interesting...

See that laser that crosses Mr Ball? From there, it is clear that the laser is just a 2D plane.

Now, a lot of game developers know, very cool special effects are very hard to model out, and can take up a significant amount of time, and you know, time is of the essence. So, why not draw out the object as an image, use that image on a 2D plane and place that plane into the 3D world? That is exactly what I did for the laser.

But then, since it is a 2D plane, and not 3D, at some camera angles, you would not be able to see the laser, right? I mean, if the laser faces you, you could see it clearly. but when the side of the laser faces you, you can't see anything at all.

In the wonderful world of 3D, there's something called Billboarding. A billboard is just a 2D plane that always faces the camera. This can create great effects, and most of the time, if the billboarding is done really well, the player won't be able to sense that it is actually a 2D image, but rather a 3D image.

However, if the camera moves too close to the billboard, all the secrets will be out. That's the downside.

But then, billboards are actually wonderful things. Imagine that you would model the laser in Mr Ball 2. Apart from the time-consuming task of getting the model right, you would also introduce more primitives for the game engine to draw. A billboard is just a quadrilateral, usually a rectangle. Which contains just 2 triangles to draw. So, billboards save memory as well.

My laser was a special kind of billboard. It is an Axis-aligned billboard. It means that it can only rotate around an arbitrary axis so that it always faces the camera. It's basically the same thing except that it is sort of like, locked onto some pesky axis. Hahaha.

Here's a challenge for you: Let's see if you can find the billboards in the 3D games that you play. Usually, when there are billboards, the camera is quite far away from them to hide the 2D-ness.

0 comments: