Unreal Tournament DM - Goldeneye Grit Complex

Concept: This map began as an attempt to create a similar level to Grit Tourney, a map made for one of the UT's bonus packs. The first iteration of this map was made many years before the final. I literally copied Grit, reusing the same architecture and lights. The final iteration of this map includes Goldeneye and Complex in its name because I tried to replicate the feeling of Complex for 007 Goldeneye for Nintendo 64. I must have played this map a lot with friends when N64 was on the market.

The first version was very different. I did not care about guiding lines, lights, atmosphere or architecture. I remember that I began it from a single box room with corridors in all four directions. That was the beginning point. I wanted corridors and complexity with different floors, intersections and many ways to go.

There was a second iteration years later and then, more years until a final version. In the second version I added colored lights to avoid the washed out atmosphere by having pure white light everywhere. In the third I added even more colors, more achitecture than in the second and more details. I also added many more corridors and intersections, making this my largest map ever.

With the map being so large I decided to add teleporters to make it easier for players to travel from one end to the other faster. They were placed in locations to allow for instant travel between two far away points, in extreme ends. I did not made any floorplan for this map.


Textures: I made sure that each floor has a unique textures for wall and floor to help distinguish each one. The only textures that I made were the logos, which I copied from the web. The whole map is dominated by gray textures. I placed the logos on many walls to create some distinction between each zone so that players would know where they are in the level. The reason for Sony, Microsoft, etc was a throwback to the console wars. It wasn't a random choice at all. The stencil art I copied from some site, I didn't draw them myself. They represent the actors from the 007 movies.

Wherever possible I used trim textures and/or geometry. In here I have to comment about guiding lines and composition. This map has long corridors, long walls and the textures match that with their horizontal lines or bands. I must say that when I made this choice I wasn't aware about it.


Geometry and architecture: The first iteration was very low poly. The final one is much higher detailed. What guided me were the textures themselves. I made the architectural details by looking at the textures. Without skills to create a completely new texture set I resorted to building cubic shapes that matched the textures themselves. Having 90 degrees corners everywhere would feel bad and to compensate for that I added octagons, some angled walls and chipped off 90 degrees corners here and there. The curved corridors were made with that same reasoning in mind.

The arches are the same from the original Grit, except that I did an angled cut at the lowest edge of it because I discovered that players would hit their heads there if they were running and jumping.

In some strategic spots I decided to carve windows in the walls to allow for some sniping opportunities. The level has some very large areas which allow for some long distance shooting.

The alcoves in large areas mark spawn points. They are alcoves to provide some protection, otherwise the player would be left vulnerable to spawn kills. At the same time I was trying to break up the large flat wall.

The grates in some places were made to break up the large flat floors. I didn't quite thought about any functionality from a gameplay's standpoint. The same can be said about the beams and metallic panels on walls.

In the first and second iterations the support beams would go all the way from the ground up to the bridge in the large open area of the map. I decided to cut them before reaching the ground to leave the ground level freed of any obstructions.

I wasn't conscious about stairs vs lifts in this map. It was all about the available space within the level's walls. If there was enough space I would build stairs. If a spiral staircase or making a long stair wasn't possible due to the lack of space I'd use a lift.

In some places I opened up the ceiling to have the skybox show and the moonlight cast some shadows. I placed girders to add detail and cast shadows. If I remember it right, at one time I though that the excess of metal, beams and bars lead me to name this map "A Prison".


Lighting: With the dominance of gray on all textures I resorted to colored lights to distinguish different areas of the level. For this atmosphere to work, night time was the right choice. There wasn't any thoughtful process behind the choice colors, except that they couldn't be too saturated. The only colors that I did make a conscious decision were the colors for the valuable items. Blue for super health, purple for damage amplifier, green for armor, gold for shield belt and orange for invisibility. Invisible is the lack of any color, I choose orange by exclusion considering the other power ups. Looking back I could have used shimmering lights to match the shimmering effect of the invisible power up. Maybe flickering lights. In regards to the logos I didn't attempt to match the light's colors with the logos themselves because that would be too complicated.

I don't quite remember why I choose red for the basement part. I think it was related to how red is used in movies or some places to signal the floor and the stair's steps. Red is the strongest color and it feels intimidating, crushing, which felt about right for the underground sections which had low ceiling.

For the underground corridors behind the lowest stairs I went for pure white lights and red lights. I can't say that I liked the end result. No, pure white light conflicts with the intention of making those corridors feel narrow and they are narrow. I didn't knew that when I made that decision. The reason for pure white there was all about having different colors per zone again. I should had probably used red or a more saturated yellow for the ceiling lights in those corridors. The contrast between white and red is also too strong. Not good.

I went for pure white on the base floor for two reasons: white is neutral and any other color would conflict with the idea of having colored lights for specific power ups. With no armor or power ups in that zone I went for pure white, which is also the main choice of the original Grit. Looking back I can't say that I like that contrast between white and red in the original Grit. Red is associated with something important or warning signs, it doesn't quite feel good to use red to not signal anything.

The logic behind the teleporter's colors is that most of the time the player is going in the teleport. If they are going in then they should know where the other side is. The logical choice is to have the teleporter's color match the destination, not the departure's location.

The pulsating lights inside the large hollowed metallic pillars in the middle of staircases doesn't have any purpose or reasoning behind. I copied that from the original Grit. I don't know what the original designer was thinking. I just felt it was a cool effect to have.


VFX: Lends flare in unreal has an issue. When you set its size, it sets the size of the actor itself, which makes it very hard to work with it. There is also no maximum size in the first version of unreal engine. I made them small but with no control over maximum and minimum size they are too small from up close and too large from far away. With no bloom effect I decided to leave the lens flare as it is. In the first version of the map there were no light shaft effects, I added them later.


Audio: I placed the proper fan sound effects but other than that I decided to remove the buzzing / humming sound effects from Grit because I didn't like them. Apart from the lifts my map is a dead soundscape. I placed EAX for some depth in the audio but that's it. I copied some music from Goldeneye Source, a standalone mod for Source engine that replicates the original goldeneye's levels for N64.

Could I have added some wind, water or electricity sound effects? Yes but for a DM map I don't think this is necessary. Maybe I'm wrong because the same attention given to lights and colors could had been given to sound effects too.


Item placement: With the map being large I placed two of each weapon and some ammo scattered in between them. The logic behind the placement was to have each pairs of the same weapon where one copy is located in the opposite end of the other. I didn't want to have players running for too long before they could find a weapon. There is still some large gaps with no weapons in between and to lessen this I placed some ammo or health in those spaces. I didn't put any though in regards to matching the weapon with the zone's architecture and design. It was random.

For the heal vials I think my choice wasn't optimal. In some cases I placed them under the lights for aesthetics purposes, without regarding that it'd make the player waste more time collecting them. One exception is the corridor where the shield belt is. I intentionally placed heal vials there to alert nearby players that somebody is in that corridor. If the player takes the time to collect each heal vial they are going to zig zag and spend more time in there.

The super health is located in a spot which forces the player to be an easy target for a few seconds. The armour is located in a closed space. The shield belt is located in a corridor which can trap the player with enemies from behind and front at the same time. The invisibility power up is located in between pillars for no special reason. The damage amplifier is located in a place that resembles a cage, with only way one in and out. There is also a little window on the top where some player may snipe from. The redeemer is a spot that requires hammer jump and it's both hard and unsafe to do it.


Traps: The location of the damage amplifier is a perfect spot to be a trap. I choose to not make any dynamic traps because the cage felt dangerous enough.


Optimization: I placed as many zone portals as I could to create as many zones as possible. Old tech such as this has pre computed visibility and I must say that placing portals one by one is time consuming. Modern engines with realtime solutions are much faster to iterate with. UE1 is a nightmare in this area. So many Hall of Mirrors, collision with invisible walls, leaking zones, etc. It's a nightmare to just have the map run without the previously mentioned bugs that happen out of nowhere. I have no idea about their approach to occlusion culling. It's too aggressive and the calculations result in so many bugs.

The older version for comparison

One huge improvement made was that the ceiling lights were potholes carved with no connection with the surrounding architecture. In the final version I made sure that the lights were part of the architecture, not a light texture placed on the ceiling with no support from the surrounding architecture. Why are some lights carved in the ceiling while others are popped out? I believe I was trying to distinguish between outside and inside, corridors and indoors vs outdoors and open spaces. In the basement part the metal supports were made "broken" in an angle because I was attempting to avoid the "cubic and blocky" feeling of using so many straight bars and metal cubes, which are already part of the texture set. In the final version I "straightened" the bars because they were giving the impression that the ceiling was crushing the area under its own weight. The teleporters didn't have a texture, I went for mirrors because I was trying to give the false impression of an even larger map.

The initial version

The lights were much brighter and with white everywhere it was bland, tasteless. Everything washed out.

I removed the holes from a room's floor because I realised that the players and bots were having trouble falling through them. I made the holes from a purely aesthetics perspective. It wasn't even a good one.

The original Grit Tourney for reference