One of the great advantages about
Stargate from a game design perspective has to be its openness towards environmental art. With a sheer endless amount of unknown and varying locations this theme provides our level designers a great freedom of choice when building their maps. Same goes for many aspects of the game such as potential friend or foe characters you might encounter during your travels. But let us focus on level creation for this blog.
So while we do have quite a few standards that come with adapting this TV success to a first-person-shooter, like recreating known locations such as the Stargate Center with with all its specifics, we also try to let ourselves roam free our imagination as much as possible. A nice thing to do and a welcome change from working within certain bounds.
But where am I going with this? Being
The Stargate Mod we would like to focus a great deal of the game on the Stargate itself, which means we would need at least two "distant" locations with each a Stargate to put it to proper use. All within a single map. And this is where our design-train hit a thick brick wall of Source Engine.
The problem we were facing resides in the Skybox system of the engine. A skybox is a helpful feature to create the illusion of large areas that extend beyond the bounds of your walkable environment. Here's an example: In the picture below you can see a small map with two different locations and settings, connected by an underground passage. You can not walk over the edge of the map, however it would be nice to have the floor extend beyond the rim of the map - if possible (seemingly) endlessly - and draw a sky around all of it to hide the lurking void. Here's where those skyboxes come into play. A downscaled and version of the extents of the map, moved to an area of the void where it can not be seen, is resized and rearranged in-game to neatly attached to the actual level.

However there is a limit as too how many distinct skyboxes you may effectively use per map and that limit is
1! This basically has to do with the fact that it is technically speaking way easier to work with just one skybox and that not really a lot of game are in need of more that one. So far none of the available Source Engine games requires a multi-skybox system so why waste time on it. Without an engine license the dilemma we thought we faced was unbearable: Either we let go of our idea to incorporate the Stargate entity as a big gameplay element and limit our locations-per-map to one or we use one outdoor location in conjunction with all other locations in a map being indoors effectively constraining our freedom of design. Besides, you don't see a lot of indoor-only Stargate locations in the series either. Neither of the two were ideal solutions we would like to consider so I've spent the last couple of days trying to dismantle the brick wall that got in our way anyway. And I am happy to say that this is what we came up with: An SDK approved way of creating multi-skybox environments.
As you can we have successfully eliminated that one skybox limitation. Our mappers are now free to add as many 2D and 3D skyboxes as they wish and have every area uniquely lit. That is placing multiple sky textures, sky cameras, light_environmentS, and any relating entities. They can go about creating vastly different outdoor areas within the same level and assure you a better gaming experience. We are very happy to be able to continue as planned and hope you stay along for the ride.
Until next time, choo choo!