The Devil of Details

RSS My Blogs

Stiglitz Beta 1

KeMoN Blog 1 comment

Stiglitz Beta 1

----- custom map for Wolfenstein: Enemy Territory -----

Some of you might have heard about the map-contest that was running the last few months. Well, now that it's over and the evaluations by the judges are complete, I'm happy to publicly release the first beta of Stiglitz.

First of all, I would like to extend my thank you to the judges for organizing this wonderful event. Personally, I learned quite a lot during the last couple of months. Having a fixed schedule, which I needed to follow in order to participate, meant finding a balance between an efficient work style as well as achieving a result of which I could be proud in the end. Even though the last weeks in the contest were stressful to say the least, because I also moved to another country during the time, I'm happy with the outcome. I would also like to extend my congratulations to all other mappers and especially Macchute for making first place.

Once again, a huge thank you to 85 Prøductions for filming the trailer.

---- Mission ----

July 1943:
Local resistance reported a branch of Deathshead’s X-Labs in a small remote village. Stiglitz, an OSA agent, has been sent to infiltrate the facility and gather intel of Deathshead’s activities. Communication went dead some days ago and Stiglitz is suspected to have been spotted and is soon to be executed. The Allies are trying to make their way through the village, free Stiglitz and escort him back to safety, so he can be debriefed at the OSA headquarters.

---- Concept ----

This first beta has a slightly different setup compared to its original concept. This is simply due to the limited time frame of the contest, which didn't necessarily go hand-in-hand with the personal spare time of both phisherman and me. The original concept, which is still planned for beta 2, has an unique twist compared to other escort missions. The mission for the Allies is to free Stiglitz and escort him back to safety. The concept however allows Stiglitz to be freely escorted in any direction the escorting player wants. So if one route is blocked by the Axis, then another path can freely be chosen. The Axis on the other hand can also escort Stiglitz and try and hide him from the Allies. Obviously, some restrictions need be be applied to avoid having the Axis hide Stiglitz in their spawn, rendering the Allies helpless. For this concept to work, a special LUA script is necessary, which unfortunately was not possible in the given time.
However, the concept will be realized for beta 2, which unfortunately will still have to wait until next year. As many of you know, so far phisherman was responsible for the scripting part in all my maps. For this beta however, it would have been difficult to coordinate both our personal time and still make the deadline. So, this beta is completely created by myself and phisherman will enter for beta 2, so we can properly implement the intended concept.
For now, Stiglitz is escorted along a pre-defined path as any other escort mission.

---- Layout ----

Since the concept is still on the table, the map needed to follow a certain layout to accommodate for technical limitations. The biggest of them being that the walking animation of Stiglitz would definitely be flawed when having to overcome differences in height. This made it necessary for the map to more or less be completely flat. Obviously, for this concept to really have an impact on gameplay, the map needed several different available routes. When overdone, this on the other hand, has the possibility of turning the map into Swiss-cheese with no real flow direction. So for the Level-Design there were 3 requirements:

  • map needs to be flat
  • map needs to provide different routes
  • map shouldn't feel like a labyrinth/Swiss-cheese

---- Setting ----

Because the map had to be completely flat, I decided to have the primary setting in a village. There it wouldn't be too obvious that everything is happening on one level. Nevertheless, in my opinion, maps with terrain and landscapes always have a better feeling and atmosphere. That's why the village was planned to be situated in a mountain range, so the terrain is simulating a vertical environment. That way the flatness could be hidden even further. Having different routes was pretty straight-forward, simply include several different streets. To not turn the map into a labyrinth, there needed to be common choke-points, which Stiglitz always has to pass. By having choke-points a certain direction of flow could be ensured, which would make navigation for the player easier.

So the decision ended up with a village in a mountain range that has different sectors divided by a river. To cross from one sector into the other you need to pass the river. By passing the river you need to expose yourself to an open area, which lets the enemy team locate you and especially Stiglitz.
This always follows the same principle with 3 options to choose from. First, a semi-fortified flood-gate, a provisional bridge and lastly a main bridge.

To avoid having players take a shortcut, the different crossings have been closed off from each other. One with a floodgate, the other with a toxic waste dump by Deathshead's X-Labs, as seen in the image above.

---- Secondary Objectives ----

As mentioned, the map consists of 4 different sectors. To help with differentiating them, each sector has received an individual purpose and title as you can see in the following screenshot from 85 Prøductions's trailer.

The Allied team starts in the Nature and the Axis team in the Noble sector. Both the Industry and the Church sector have a neutral flag. This results in a stronger need of team coordination, because after all, you don't want the enemy sneaking behind you and capturing the spawn behind you, putting you in-between the fronts, do you?

On the central bridge connecting Industry and Church, there is the secondary map objective, a Command Post. However, aside from the usual CP benefits, this one has another small twist to it.

Only the team holding the CP is seeing Stiglitz' location on the command map.

Now, for this beta, this is rather a secondary feature, because Stiglitz is following a specified path. However, if you imagine the enemy being able to run around anywhere with Stiglitz and hiding him in the weirdest places, it is basically a crucial map objective to hold the CP to have that extra bit of information over the enemy.

---- Screenshots ----

---- Technical Notes ----

---- VIS blocking ----

The flat layout of the map allowed for quite an interesting approach to VIS blocking. Because the player would only be on street level, it was possible to let the map play in one giant open space. This makes it easier for the both specators and possibly even shout-casters. All houses have structural brushes inside them, as you can see on this screenshot.

The street level is cutting the world on the ground and on top of the structural building blocks 2 giant HINT brushes cut the world again, sealing off the playable area. Aside from that along the main roads and the rivers there are also vertical HINT brushes cutting the world along the sectors. Below you can find an example screenshot of the Nature sector, looking towards the central river. You can notice the HINT brush cutting perfectly along the structural blocks which makes it impossible for the engine to see too far into the Nature sector.

In this short video you can see the 2 horizontal HINT brushes at work. Generally, all structural brushes close off with the upper HINT, but some of the houses, especially hallways, aren't as tall.

The general idea behind the VIS blocking in this map can be seen in the images below.

  • G is the sky area, where only spectators have access to. They can look into all streets, which is why FPS will be awfull for them when there is a lot going on.
  • A is a regular street level. As seen in the image below, A can only look inside the area between the 2 horizontal HINT brushes and the sky. It is not possible for A to see into any other blocked-off street
  • F is the area between the 2 horizontal HINT brushes. That area, which is still accessible to the player can look into all street levels below it and the sky, but like A it is now possible to look into any other section blocked off by the upper HINT brush. All other sections act accordingly.

---- Infinity Blend ----

In this map I tried a (for me) new technique, which blends the world with 'infinity' or rather 'transparency'.
This is achieved by simply blending with a texture that only has 100% alpha channel. For its shader and setup, please check the .map source files.

---- Specs ----

  • Author: keMoN & phisherman
  • Brush count: 35.541
  • Entity count (total): 3.292
  • Entity count (ingame): 847
  • Development time: contest time frame -> 7 months
  • Compile parameters:
    -- [q3map2] -meta -v -mv 1024 -mi 6144 "[MapFile]"
    -- [q3map2] -vis -saveprt -v "[MapFile]"
    -- [q3map2] -light -samples 4 -samplesize 8 -v -thresh 0.05 -patchshadows -dirty -dirtdepth 256 -external -lightmapsize 512 -shade -bounce 2 -bouncegrid "[MapFile]"

---- Notes ----

The source files are included. I kindly ask, that you contact me before creating any maps based on Stiglitz_b1. Once beta2 is released this map will act as some sort of tutorial map with an extensively documented script and if possible a tutorial video series.
By doing so, we hope that we can spark a new genre of objective maps to bring some fresh wind to ET.

---- Thank you ----

Direct support:

  • ryven for extensive support during debugging of the script_mover.
  • WuTangH for the broken tree model acting as bridge from Nature to Industry and the modified head model for Stiglitz to fix a visual glitch.
  • Everyone on the TWT Discord for helping out in one form or another.

Indirect support:

  • Jon Swenson (=N4RC= Smokey) and Chris Swenson (Hobbie) for Axis Lab. The forwards and backwards movement of Stiglitz is inspired by Axis Lab.
  • Gordon 'digibob' Biggans [SD] for his purely magical MD3-to-TAG tool
  • C and Npherno for their wonderful model tools respectively
  • hipshot for his "miramar" skybox from
  • RtCW for models + textures.
  • ischbinz for textures
  • FireFly for his Hanomag model
  • Detoeni for his submarine and truck models
  • RayBan for his treeline textures
  • Everyone else who provided info, feedback, ideas or helped in any other way.


KeMoN Blog


Concept map for a possible Deathmatch gametype

I decided to upload screenshots of a concept map I did in the past for a possible Deathmatch gametype in ET: Legacy. As there is no such mode in the game at the moment, the map has not been released yet.

The map is set on an isolated island and features an abandoned church and other occult structures as visible in the screenshots below.

There are 4 main teleporters that randomly shuffle among themselves when the player enters one of them. 3 are located on the the outside and one is located in the crypt beneath the church.

Besides that there are a number of smaller teleporters also randomly spawning the player somewhere else.

I realize that the lighting is off and needs work, but as long as there are no plans to implement a deathmatch gametype into ET: Legacy, I will not continue working on it. This map has also served as a test area for bump mapping in Enemy Territory which occasionally is visible on the stone walls.

First baby steps in Blender

KeMoN Blog

First baby steps in Blender

Step #1: Basic model and texture

Having textures for ET: Legacy covered, there is one other major aspect in the asset creation, that is needed for creating new maps and porting proven ones from Wolfenstein: Enemy Territory. In order to raise the visual quality of maps, a proper pool of props models is needed. So, I decided to get to know Blender a bit more and started with a relatively easy model, a wooden crate.

In Wolfenstein: Enemy Territory there are several texture versions of the same crate in order to provide some variety. I wanted to keep that flexibility up and make it as easy as possible to change the style of the crate later-on. For that I set myself some requirements.

1. Efficient model with as little dead vertices and back-faces as possible

If I learned anything when mapping for W:ET, it was that back-faces and rendered surfaces that the player can't see should be avoided.

2. Efficient UV with as little void space as possible

I wanted to avoid assigning each face of the crate an own area in the UV, because the crate would be completely made out of the same wood anyway. Assinging each face an own area would also result in the classic box cut out style which means a lot of void space and, when done with a lot of models, dead filesize.

3. Seperation of crate and markings

The separation of crate and markings makes a crucial step in keeping the model flexible. The markings can easily be changed to accomodate different settings, sides, etc. For example Axis, Allies and civilian. But it is also a crucial step for the uncut DLC functionality I plan on having in ET: Legacy. Basically it gives the client the option to download a DLC/extension pack with historically accurate symbols, so the responsibility for that is taken off of server admins and moved to the individual client. Having those decals/markings in one special directory means, that all models can make use of them. The uncut DLC and all skinpacks would be drastically reduced in filesize and models can be created with a neutral style.

4. Animating the crate

Naturally, when learning Blender sooner or later I have to get into animations. The crate is also a suitable model for that, because having an animation of the destruction of the crate opens up some very nice possibilities. First, it is just neat to have destructible environment. Second, mappers can randomly hide power-ups in them, which would also make for a very nice map-objective. For example a storage room with several crates and at map start the objective is randomly put into one of them. Not quite suited for competitive play, but the options can be explored.

"Step #1: Basic model and texture" completes the first two requirements. I'm really happy with the result, because below you can see that the void space (solid black) is comparably small. In the blender images you can see my attempt at cutting the base faces when there are wooden beams on top, to avoid unnecessary textured surface below. If you have any tips on how the model/texture could be optimized further, please comment below.

Final texture and UV layout:texture

Solid modelcrate solid

Base surfacescrate base

Beamscrate beam

Wolfenstein: Legacy

KeMoN Blog

User Posted Image

Restoring the original Wolfenstein series' glory.

There's something comfortingly retro about Wolfenstein.

The original Wolfenstein 3D shipped more than 20 years ago and as you probably already know it popularized the first-person shooter. Before Half-Life made scripted shooters all the rage, Wolfenstein 3D relished in the pure simplicity of roaming around big levels and blasting Nazis with an ever-escalating arsenal of weaponry.

During the years, several incredibly unique titles took their own approach towards the Wolfenstein universe. Be it the occult approach in RtCW, the supernatural approach in the 2009 Wolfenstein title or the alternate dimension/futuristic approach in The New Order.
The latest title in the series, The Old Blood did a very impressive job at reliving the atmosphere of our beloved Return to Castle Wolfenstein. However, until this day the latter still stands unmatched in the eyes of many.

Currently there is an impressive amount of community driven effort to restore the legacy and feeling of Return to Castle Wolfenstein, proving that even in this day and age, this game is still setting standards. Several different developer groups are all working on their respective take on the game to restore its original atmosphere and glory. Be it SinglePlayer, MultiPlayer or even Cooperative gameplay. Be it in the powerful idTech 4 engine from Enemy Territory: Quake Wars, improved versions of the idTech 3 engine, or others.

Every single one of these projects is facing the exact same problem. Highly limited man-power when it comes to recreating the game assets in high quality to match more modern standards. However, in the last few weeks a remarkable process has come up.
Several projects and developer groups have agreed, that it would be best to merge the task of recreating game assets.

User Posted Image
Unlimited repositories
Unlimited private collaborators
10GB disk space per project (including Git LFS)
Unlimited total disk space
Completely free, no credit card required

Over the course of the last few days BackSnipe set up a merged group (wolfenstein-legacy) on GitLab for all of us and helped me get accustomed. Right now there are already two repositories, one for W:ET (et-legacy) and one for RtCW (rtcw-legacy). We decided to keep them seperated, because there are still minor differences in the two games and assets are not completely interchangeable, but might need a small amount of adjustments.
Over the next few days we should collect all present assets from all projects, so we know what the status quo is and where we stand. After that we have a clear overview of what we need to work on and set up a proper roadmap.
It is crucial that everyone understands, that every project is profiting of this!
If the developers can take their mind off of the asset recreation, they have full focus on the gameplay, code, engine and features and can perfectly shape their respective gaming experience.

So I ask everyone to,

  1. Sign Up at GitLab
  2. Get accustomed to GitLab
  3. Have a look at the existing files in the repository
  4. fill in the blanks
  5. Have a clear overview of all existing assets
  6. Set up a roadmap
  7. Combine all man-power in recreating assets

    User Posted Image

UI Concepts W:ET

KeMoN Blog 2 comments

UI Concepts for W:ET

Playing a few modern shooters recently brought me to the realization that the UI of W:ET could also benefit from some adjustments. The following concepts are just some theoratical ideas and there are no plans (yet) to realize them since they are not related to any project (yet). Having previously worked only on textures I wanted to broaden my view in the field of a 2D-Artist, so these are my very first concepts in this segment.

I also plan on giving the Limbo menu, Profile menu, and Main menu a go in the future. One point that has to be mentioned is that these concepts also include in my opinion minor gameplay changes.

Map Loading Screen

Let's start this series with an easy one, the map loading screen. The vanilla loading screen consists of the camp_map and the camp_side. The camp_map includes a preview levelshot and a pin that shows the location of the map. The camp_side includes information about the gametype, mapname and -objective as well as server info and server settings info.

source: ET-Manual

  • As you can see on this image, the location pins of these maps as well as ~80% of all custom maps are either false or imaginary because the map isn't based on a real-life location/event. Because of that I decided to remove the location pin system completely.
  • The server setting info (e.g. here 'Friendly Fire' & 'Dial Up Modem Players allowed (Antilag)') are a great way of filtering the global serverlist for servers that suit the player's needs and wishes. However once the server has been chosen from either the ingame server browser or an external one (e.g. Trackbase or Splatterladder) this information is no longer required. Since they are only taking up space, I decided to remove the server settings icons as well.

I wanted to keep all the other information, but create a more friendly and inviting look, which is why I decided to replace the small preview levelshot with a fullscreen level wallpaper showing the map the player is about to enter. The gametype, mapname and mapstory have been moved to the upper left corner and kept in a simple white to create a cleaner look. The server info has been centered in a banner in the lower part of the screen with the loading bar alligned underneath. In the lower right corner I decided to put both the mod and game version, since I consider that important information which is also helpful with trouble-shooting should there be any problems during the loading stage.

concept loading screen

Player HUD

Having the easiest out of the way, I decided to move on to the most important one. The ingame HUD the player constantly sees while playing.

Let's start with the lower left corner, here we have the stamina and health bar, both with respective icons underneath. Next to that we have the player's head with animations showing the rank, state of health, whether or not the player is still wearing his helmet and linked to this whether or not you are still wearing disguise as a cvops. Underneath that we have a third indicator of the player's health, this time in form of HP in numbers. Next we have the level grid for the 3 currently progressing levels (usually Battlesense, Light-weapons and the class level) and below that the XP in numbers.

In the lower center we have the chat window with both team-, global- and quickchat.

In the lower right corner we have the icon of the weapon that is currently equipped, the remaining ammo count and the charge bar.

In the upper right corner we the compass showing the minimap, directions as well as the position and state of teammates. Also placed here we have the timer with remaining mission time and next respawn wave. Depending on the mod, there are also various additional information snippets that can be placed underneath the timer such as FPS rate, K/D, Lag-o-meter,...

The upper left corner contains the fireteam window in case the player joined a fireteam for improved teamplay.

source: ET-Manual

  • To remove the level grid and XP display was the first thing I decided to do, simply because this information is perfectly visible in the Limbo menu and therefore unnecessarily affecting the player's FoV.
  • I also decided to remove the numeric HP display, because in my opinion the health bar is perfectly sufficient. Also removing as much redundant information as possible keeps the FoV clean and makes the more important things stand out.
  • The weapon icon has been removed, because in my opinion it takes up too much space, but honestly primarily because I don't support the attitude of 'hardcore' gamers that remove the weapon model. The remaining magazine ammo has been enlarged.
  • The compass has been moved to the lower left corner to have everything important on one eye level. Also the compass border has been simplified, however atmittedly I'm not entirely happy with it because it presents quite a big loss of ww2/old-school atmosphere.
  • The animated player head has been kept because of the amount of information it grants the player, however it has been moved to the lower right corner along with the health and stamina bar. The remaining ammo count is displayed underneath.
  • In the prologue I mentioned that the UI changes aren't purely cosmetic, but also present a 'minor' gameplay change. Please continue reading below at 'ability cooldown' for further information.

concept HUD

Ability cooldown:

Left of the player HUD I implemented ability cooldown icons. These represent the primary ability availability and replace the universal charge bar. Having these gives the player immediate input on his ability status, which simplifies team coordination significantly and enables a well-timed push against the enemy lines. For example an engineer directly knows if or when his dynamite is ready and can time the objective rush accordingly.

In the example HUD we have a medic. Each cooldown cycle would restore one syringe to a max of 3 and the second cooldown cycle would restore one medpack each to a max of 5.

Shared charge for all abilities is something I would encourage to abolish, because it enables smoother composition between the different abilities. Frankly it also requires less coordination and strengthens the teamrole of the player significantly, since a Field ops can provide ammo packs for his teammates without having to cut back on the airstrike, that will take out the approaching enemy tank.

Globally shared charge for airsupport and artillery is still kept! When a different Field ops is using his airstrike your airstrike ability icon is immediately greyed out and cooldown initiated. Having these cooldown timers seperately for airsupport and artillery simplifies gameflow, since the player doesn't have to decipher a white,yellow or red lightning bolt which somehow is supposed to represent both abilities. Or even test-fire his Artillery at the chance to initiate it in a not so ideal spot.

This concludes my first attempt in the field of UI design. Please let me know what you think. I'm especially curious about the feedback on the ability cooldown feature. If I'm still motivated and have the time I will try the Limbo menu next.


Dingenskirchen B1

KeMoN Blog

Dingenskirchen Beta 1

----- Custom map for Wolfenstein: Enemy Territory -----

For updates and further information visit The SplashDamage forums.

This map is a collaboration between phisherman and me and the result of more than a year of more or less continuous development. It was created as a tribute to the good old times of RtCW and was originally intended to be released for the 10th birthday of WolfET. We didn't make it on time but we still hope it will bring back some memories to the old-schoolers amongst you.
Since this is the first public release, any feedback (ranging from bad texture-alignment to glitches) is welcome. The .map source-file is planned to be released some day, but please understand that we would like to improve the map before any conversions based on an old version are created.
So please, if you find a bug, do NOT release any unofficial scriptfixes etc, as this will only cause confusion. If you find a bug, please post here or write me an eMail/PM, and I will release an official fix or a new map version.

December 1944: The noose tightens around the Reich's neck as Allied forces threaten to cross the Siegfried Line and advance into Germany. In a strategy meeting in an Eifel castle, Kraut high command has worked out plans on how to repel the invaders. Allied intelligence wants these plans destroyed before they can be distributed to the front line.

This map has three main objectives instead of one, two of which must be completed by the Allies in order to win the match. This was done in an attempt to prevent the massive objective camping by the defending team on some maps.

Allied mission:

  • Repair and steal the axis tank located in the village.
  • Capture the village spawn and escort the tank past all obstacles and use it to blow open the Castle Gate.
  • Map Objective 1/3: Steal an ancient treasure which the Axis have hidden inside the castle wine cellar.
  • Map Objective 2/3: Blow up the axis high command conference room to sabotage the coordination of the axis troops.
  • Map Objective 3/3: Retrieve a microfilm containing axis war secrets which an OSA agent managed to get hold of and swallow before being killed by the Nazis.


-----Thanks to-----

Last Online
Germany 🇩🇪
Become friends
Member watch
Blog Statistics
Views Today