D-Day: Normandy Mapper’s Briefing

So you think you’ve got what it takes to make a map for D-Day, and you want to find out
what it’s all about. You’re in the right place. This manual will guide you through some of the
basics involved in making a map for D-Day: Normandy.

INTRODUCTION: The Basics

Making levels for D-Day is a unique experience. The maps for the mod combine many
of the detail and conceptual ideas used in single player maps and the fast paced flow of
multi-player maps. The best place to start making your map is on the web. Do some
research on WWII and try to find a particular battle or location that you think would make
a great map. See if you can find photos of this area. Any documentation you can collect on the
actual events will be invaluable to you later when you start to lay brushes down.

Now that you know the history behind your map start thinking about how to implement
some of the actual events into your map. For instance, the Omaha Beach map
(dday1.bsp) is modeled after Operation Overlord. In the battle, allied forces had to
storm the beach and take out the axis defensive bunkers. The map reflects this; the
allies can only win by capturing the bunkers, while the axis side can win by inflicting
heavy casualties on the allies or by successfully defending their
bunkers to gain enough points.

The func_explosive has been enabled in multi-player for D-Day, so you can also incorporate this into
your objectives. An example idea of this would be to blow up an axis generator which keeps the doors
to their base sealed. Be creative!

As you probably know, we have made every effort to try to make D-Day: Normandy as realistic looking
as possible within the Q2 engine. The maps reflect a big part of this. Creative texture work
and proper handling of r_speeds are all big factors that come into play in "real world" maps.
A good place to get some of the basics behind the more technical issues of Q2 mapping is at

www.gamedesign.net. For more help, try stopping by the D-Day mapping forum.

One of the fun things about D-Day maps is that they do not have to be balanced to make it even
for both teams. In WWII soldiers fought in uneven conditions and had to overcome obstacles.
Try to reflect this in your maps. Give the defending team better positioning
and defenses. Choke points for heavy machine gunners and sniper posts are all acceptable.

GETTING TECHNICAL: Entities

Now for the "not so fun" stuff. D-Day uses many entities in its maps. The entities listed below must
be used in order to make your map run correctly in D-Day. Depending on your editor, you may or
may not have to make and entity file to use the entities (
QeRadiant needs one, while Quark does not).
For instance, if you use
Quark then you can simply change the values for an existing Quake2 entity to
match the fields described below.

For your convenience and reference, you can find a sample map to download on the D-Day Website
that contains all the D-Day specific map entities for you to learn from (or copy/paste into your map).

First an easy one: If you set the lava flag on a brush, it will make the brush emit "cloth-ripping, barbed wire"
noises when the player tries to walk through it. It will also deduct health.

The Setup:

The following is a list of all D-Day Specific entities. Click on one to see how to set it up in the editor.

ENTITY

Description

info_team_start Designates teams, sets objective points/kills needed to win map, sets which map will be played next
info_reinforcements_start Used to spawn an entire team in one spot
info_officer_start Officer class spawns here
info_infantry_start Infantry class spawns here
info_sniper_start Sniper class spawns here
info_lgunner_start Light Machinegun class spawns here
info_hgunner_start Heavy Machinegun class spawns here
info_special_start Airborne troop class spawns here
info_engineer_start Engineer class spawns here
info_flamethrower_start Flame-thrower class spawns here
info_medic_start Medic Class spawns here
info_player_start You wait here when you are dead
misc_md2 Add an md2 mapmodel.
misc_viper Standard Quake2 entity. Model replaced to look like a WWII era P-51 Mustang
misc_banner

misc_banner_1

misc_banner_2

misc_banner_3

misc_banner_4

Selection of flags which can be seen placed in the dday-sample map file.
misc_skeleton A skeleton lying on its back
objective_touch Player touches this and is awarded points
func_explosive_objective Gives points when blown up
misc_teleporter The standard teleporter particles, sound, and model have been removed. This allows for interesting effects where a player needs to be moved around quickly.

 

info_team_start

obj_owner Assign a value (0 or 1); 0=Allies 1=Axis
message Name of the team that owns this entity (Allies, Axis, Bob’s Army, etc.)
note: you MUST enter a name.
dll Enter either: usa or grm
kills Enter a number here that represents the number of kills needed for the team that owns this entity to win the map. Leave blank if you want the map to be won by points only.
points Enter a number here that represents the number of points needed for the team that owns this entity to win the map. Leave blank if you want the map to be won by kills only.
nextmap Enter the filename of the map to be played if the team that owns this entity wins the map (dday1, dday2, dday3, outpost, etc.)

info_reinforcements_start

obj_owner Assign a value (0 or 1); 0=Allies 1=Axis
angle Direction player will face when spawned

info_officer_start

obj_owner Assign a value (0 or 1); 0=Allies 1=Axis
angle Direction player will face when spawned

info_infantry_start

obj_owner Assign a value (0 or 1); 0=Allies 1=Axis
angle Direction player will face when spawned

info_sniper_start

obj_owner Assign a value (0 or 1); 0=Allies 1=Axis
angle Direction player will face when spawned

info_lgunner_start

obj_owner Assign a value (0 or 1); 0=Allies 1=Axis
angle Direction player will face when spawned

info_hgunner_start

obj_owner Assign a value (0 or 1); 0=Allies 1=Axis
angle Direction player will face when spawned

info_special_start

obj_owner Assign a value (0 or 1); 0=Allies 1=Axis
angle Direction player will face when spawned

info_engineer_start

obj_owner Assign a value (0 or 1); 0=Allies 1=Axis
angle Direction player will face when spawned

info_flamethrower_start

obj_owner Assign a value (0 or 1); 0=Allies 1=Axis
angle Direction player will face when spawned

info_medic_start

obj_owner Assign a value (0 or 1); 0=Allies 1=Axis
angle Direction player will face when spawned

info_player_start

angle Direction player will face when dead

misc_md2

model path to the model, example:
models/mapmodels/tree/tris.md2
angle Direction the model will face

misc_viper

speed How fast the P51 should fly
angle Direction the P51 model will face

misc_banner

angle Direction the banner will face

misc_skeleton

angle Direction the skeleton model will face

objective_touch

obj_owner Assign a value (0, 1, 99); 0=Allies 1=Axis 99=Neutral (Anyone can claim it first)
message Name of the region the entity touches (Center Pill, Right Pill, Donut Room, etc.)
health Enter a number value representing the number of points to be awarded to the other team when the entity is claimed
dmg Enter a number value representing the number of points to be deducted when the entity owner loses the objective

func_explosive_objective

obj_owner Assign a value (0, 1, 99); 0=Allies 1=Axis 99=Neutral (Anyone can destroy it first)
obj_name Name of the object to be displayed when destroyed
obj_loss Amount of points taken away from the owner when destroyed
obj_gain Amount of points given to the team that doesn’t own the objective when it is destroyed
health Amount of damage it takes to blow the objective up
dmg Radius damage to inflict on people surrounding the objective when it explodes
mass Amount of debris particles to display when it explodes