Deathball mapping tutorial

There is a lot of special stuff you need to add to a DB, let's start.
First think you gotta do is, load the deathball.u file into your classes browser.

Put the (happy little) ball into your map
It's under NavigationPoint/jumpdest/jumpspot/gameobjective/xBombSpawn

Startpoints

There are 3 different startpoints

Every team needs one Centerplayerstart.
That's where one player of the team starts that was scored against. It has to be close to the ball, so make sure that the team has the ball.

One Goalplayerstart, one player starts there, it should be in the goal.

Normalplayerstarts, thats where all other players start, and where you start when you get killed during play.
Up to you where you place them.

Teamnumbers need to get set.
0 = RED
1 = Blue

Zones
There are 4 different zones, BUT we don't use zones, they are so bsp and lighting unfriendly. We use volumes.

First the 2 halfs. 1 half is selected in the next pic.

The Penalty zone:

The Keeper zone:

The Goalzone:
It's a goal as soon as the ball touches this volume, so make it a bit behind the line, or it will also count as goal when the ball is still on the line.

Make sure you got appropriate lines on the ground for each zone.
Then apply your builder brush to it.
Right click the volume button, and select "DB_Volume"

This makes your brush turn into a volume. Now open its properties:

Again enter the number of the team that owns this zone:
0 = RED
1 = Blue

From the dropdown menu choose which zone it is. Teamzone is half...

Blocking Volume:

To prevent that you run with the ball into your own goal (which happens quite often and is very annoying, place a BlockingVolume In your goal (Select it from the same place as the DB_Volume).

Now you have to setup up WHICH team will be blocked by it:

Enable "bClassBlocker".
As Blocked Classes select "DB_PawnRed" or "DB_PawnBlue" from the dropdown menu. That's the team what will be blocked by it.

Ball Reseter

To prevent long ball reset times when it's kicked out of the stadium, you gotta surround your stadium with "Physics Volumes" like in this pic:

But it still doesn't work: To make the ball reset as soon as it touches the volume, you gotta set bDestructive to true.

Make the bots know where the goals are

First you need a DB_Goal actor, you find it here:

Place it right in the middle of the goal.
Open its properties and change the DefenderTeamIndex to the team that owns the goal.

0 = RED
1 = Blue

Now we need shootspots for the bots:

Put the RedShootSpot into the BLUE goal, and the other way around.

Here I put in 3 spots, so the bots shots aren't too predicatable, because they have 3 spots to choose from.

The Radar

Now it becomes a bit difficult.
To make a radar, change to the topview, use a big grid setting (256 or so)
Now 'print' screen, and paste it into your graphic proggie.

Well, then you have something like this. Now cut out exactly 16x16 boxes (in this case).

Then it looks like this:

Now scale the picture to 512x512 or 256x256 or so, you know.

Next you need to turn on the grid of your graphic proggie. In photoshop it works like this:

Now configure your grid:

Choose a power of 2, like 32 or 16, then you get your grid applied to the Unrealed one, and it looks like this:

By holding shift you can now paint on the grid. For painting small stuff like the zones and the goal you better make the grid smaller (8 or so).
Here a work in progress pic:

In the end it can look like this:

Now you need to add the radarinfo actor to your map:

Doesn't matter where you place it.
Now you gotta find out at which worldunit the top, left, right and bottom of your pic is.

To make life easier you just center the pitch, so the middle of the radar pic is the middle of the map, then all units are the same, like in this example:


To find out what unit it is, just put an actor there. And in it's properties check movement/location. Only X and Y matter here. Z is uninteresting.

How to import the file into Unrealed and make it translucuent? RevbillyG made a tut here, called "Idiots guide to radar texuring".

As Radarmaterial use your radar texture. You need to use it on a translucuent shadar, otherwise it will be quite ugly ingame...

GoalEvent

The fireworks that happen when you score in the Cube maps....
When the Blueteam scores, an event called "BlueEvent" will be triggered when the ball enters the goal, and it will be tirggered again when the match restarts (to turn the fireworks on and off). When red team scores "RedEvent" will be triggered.

There is a second event called "BlueEvent1" and "RedEvent1" which will only be triggered once.
Use whatever you need. (since Version 1.1)

You can use all kinds of effects there.

Other events (since Version 1.1)
When someone gets killed "foul" gets triggered.
A successfull pass thats received in the enemy half triggers "pass".
Intercept a pass triggers "pass" too.
(Thats how I let the crowd sounds play using DB_Specialevents)

Adding goal posts (since Version 1.2)

Goal posts for the vicinity radar in the middle of the screen are marked by DB_RadarObjectPost actors (located in the actor browser under Actor >> Info >> ReplicationInfo >> DB_RadarObject). Just place them inside the posts of your map and you're done. Z axis dont matter, only X and Y.

Ok folks, that's it!

The rest is just like in other maps....noding etc.

There will be new actors in a newer version. I'll add them in another color.
This tutorial is for 1.0 or newer
It doesnt work with 0.9

DavidM@planetunreal.com