Omni-directional lights using cubemap shadows - (4. March 2010)

It looks like my dungeon crawler prototype isn’t actually evolving into a game, but much more into a personal testbed for more-or-less current rendering techniques (due to Projekt “W” I’ve been lacking in the field of recent rendering techniques a bit). And so one of the things I always wanted to implement were shadows for omni-directional light sources. I’ve been doing that with stencil shadows years ago, but stencil shadows aren’t the preferred way of doing this nowadays due to their limitations, including sharp edges (yes, there are ways to get around this, but they’re expensive in terms of computing) and a high demand for fillrate.

And I’ve also done shadow mapping some time ago, but back then only for a spotlight, and that’s pretty easy (basically it’s just a way of projecting something onto the scene). But omni-directional lights are a step further and It took me some time to get them to work. One of the hardest things holding me back were troubles using depth cubemaps in my shader. So now I’m using a normal cubemap (RGBA) for the light source and each face stores a custom calculated depth value (done in a separate shader) that’s then used in the final calculation to apply shadows to the scene (done in the same shader that does lighting and parallax mapping).

First dungeon crawler prototype (HD Video) - (26. February 2010)

Although it took me longer than expected I recently got a first prototype of a dungeon crawler, based on my recenlty published random dungeon article, polished up far enough to show it to the public.  Actually one of the biggest issue holding it back were the textures. It uses parallax (bump) mapping for giving flat surfaces a realsitic 3D look (it’s pretty much an extension to bump mapping), and for that technique you not only need a color map and a normal map but also a heightmap for each texture. After not being able to find good ones around the net I decided to quickly do the textures myself.

A quick overview of what’s in this prototype : As always it uses OpenGL and let’s you walk around a randomly generated dungeon. Lighting and parallax mapping are done using shaders (so there is no real limit to the number of light sources) and all physics and collision stuff is handled by a recent beta version of the Newton Game Dynamics engine. One of the new features is an included character controller that allows you to setup a physically correct playerbody that interacts with the environment within a few lines of code. But that’s not the only use of Newton in that prototype, as I’m also using it’s raycast functionality to determine visibility for the map. That was a pretty natrual choice as I already submitted the geometry of the dungeon to newton for creating a static physic body, so adding raycasting for visibility check was pretty easy and works fine.

Other than that, there is not much to say about this very early prototype. I’m still not sure if I’ll ever make a game based on all that random dungeon stuff, although I already wrote down a nice and basic game design that’s not your traditional dungeon crawler.

So in the meantime enjoy this video I just uploaded, and please watch id in HD. Sadly it’s only 30 fps (originall recorded with 60fps) but it should be sufficent to get an impression :

Random Dungeon Generation - (7. February 2010)

After deciding to take a small break from working on “Phase 2″ for Projekt “W”, I decided to do something I’ve been thinking about since I played my first dungeon crawler (Eye of the Beholder) over 15 years ago :  a random dungeon generator. Back in that time I already gave it a shot but nothing really ever came out of it, so I decided to try again. But this time it worked out really nice and I now have a fine random dungeon generator, creating nice random dungeons that could be used in a game. Actually I even have an idea for a game using this, though if it ever sees the light of the day it will be a very unique take at the “genre” and it won’t be a big project (cause at some point I’d like to release “Phase 2″).

And since just telling you that I made something like a random dungeon generator wouldn’t really be worthy of a whole news posting I also wrote a rather extensive article on that subject. It’s not a tutorial or including the source code, but it’s rather a journal on how I started from scratch trying to create a random dungeon generator. So maybe it’s interesting to some, but since I also talk about how I do it people may also get some ideas out of that article on how to do their own random dungeon generators. Note that the generator is neither finished nor that my solution is the perfect one, but I think it’s a nice take on the whole subject.

Read the “Random Dungeon Generation” article.

And also note that this is my first article, but I hope to write more articles concerning game programming, game design and such in the future.

All content and images are copyright© 2001-2010 by Sascha Willems
7 online / 400633 total Powered by WordPress
Impressum