Sunday, May 12, 2013

Galaga For the 21st Century

Remember that old game Galaga? Sequel to Galaxia and grandson of Space Invaders? I'm building a game somewhat along those lines, but much improved over the old barcade game of yesteryear. How so, you ask? Well, I'll not divulge all the secrets, but stay tuned for an interesting link.

Creating models for 3d games is much more involved than 3d printing, but in some cases much easier. The difference lies in the detail of the 3d geometry. Rendering geometry in real time is very expensive for games (hardware wise). Increasing the poly count (polygons are a unit of detail used to measure models in many 3d applications) requires more video processing and memory. Moving those extra polygons requires exponentially more calculations as well.

To alleviate this problem, meshes for games are actually rather bland. Instead of using detailed geometry, a process called normal mapping is used, wherein a special texture is created that simulates light reflection. The surface of an object is detailed by how light is reflected (or not) off of the material. When the RGBA texture is placed over the normal map, you get color with simulated light reflection, which tricks your eyes into thinking there is much more geometry than actually exists.

3d printing, however, cannot benefit from this. If your mesh is not detailed, then the printed product will be equally bland. Thus, a lot of care must be taken when producing a model so that it's aesthetically pleasing without overwhelming the ability of the printer. As time goes on, I imagine 3d printers may have similar shortcuts to producing high quality textures without manually producing all of the geometry.

Here is a good example of a printable model vs a game model:

This is a detailed and printable Leopard Class Dropship from Mechwarrior (though admittedly I originally designed it for use as an icon).

This is a low poly model for a mobile game that I'm developing. It currently has no diffuse or normal mapping, just ETC1 texturing (that's right, not even RGBA!). This saves system resources to display additional objects on screen, apply physics, explosions, etc.

You can get a sneak peak at a very, very early build. This is pre-alpha stuff, and it's still missing 97% of the game. But most of the core mechanics are in: Space Game! Note that you'll need to install the small unity web player. I'm sure I'll update the game a few times as I complete the core mechanics.

No comments:

Post a Comment