Page 1 of 3

DB-OffsideCube V2 (offside testmap)

Posted: 18-05-2006 23:25
by Goldeneye
<UPDATE: Mutator, GameType (31.05.06) />

DB_DodgeDeathball
(GameType)

Features:
in Dodge-mode: (bUseSprint=false)
- every field player gets the possibility to dodge. after a dodge he has to wait 10 seconds until he is able to dodge again.
- keepers' dodges don't count, so a keeper always has a field-player dodge left if he leaves penalty zone

in Sprint-mode: (bUseSprint=true)
- every player (i.e. keepers and field players) gets the ability to sprint,
- therefore he's given a 2.0 second stamina bar.
- you may only start to sprint while running and with a minimum stamina of 1.0sec,
- this (starting to sprint) costs 0.5sec of stamina.
- you run 1.7 times faster while sprinting,
- but you may not jump (or dodge) while sprinting.
- you stop sprinting when you run out of stamina or you release the sprint button.
- if boosted while sprinting, it is treated like you didn't sprint (i.e. your speed is set to what it would be without sprint before boost is applied.)

Installation:
- Clients
If the server supports downloads, it will send you the small DB_Offside.u otherwise you'll have to install it like described for servers.
- Servers (or if you want to use it in botmatch)
Download: http://pickitup.ath.cx/stuff/DB_Offside.zip and put the zip's contents in the deathball/system directory. (no setting of serverpackage required as it seems)

Usage:
- Clients (in-game):
Dodge is used via double tap a direction key or db's quickbinds for dodge.
Sprint is used via the walk key. Either set it up using ut2004's menu under
options -> controls -> configure controls -> miscellenious -> walk or using the console with
"set input KEY walking" (some also reported "set input KEY walk" works...) where KEY is the name of the key you want to use.

- Servers:
set the server to the DB_DodgeDeathball gametype either via webadmin, ut2004's host server menu or with a console command similar to:
admin servertravel db-cube?game=DB_Offside.DB_DodgeDeathball?bUseSprint=true
you can make it voteable using ut2004's mapvote feature by adding these lines to the server's ini file in the [xVoting.xVotingHandler] section:
GameConfig=(GameClass="Deathball.DB_Deathball",Prefix="DB",Acronym="DB",GameName="DB",Mutators="none",Options=)
GameConfig=(GameClass="DB_Offside.DB_DodgeDeathball",Prefix="DB",Acronym="DB S",GameName="DB Sprint",Mutators="none",Options="bUseSprint=true")
GameConfig=(GameClass="DB_Offside.DB_DodgeDeathball",Prefix="DB",Acronym="DB D",GameName="DB Dodge",Mutators="none",Options="bUseSprint=false")


or see http://wiki.unrealadmin.org/MapVote_%28UT2004%29 for more details about configuring mapvote

DB_MutOffside
(Mutator)

Features:
- server side only
- Offside for about any Deathball Map.
- Requirements for Maps to be used with this mutator (that don't include their own DB_Offside Actor):
>> TeamZones int the areas where Offside should be applied
>> At least one GoalZone for each team and a BallSpawn (first found is used) to align the direction Offside is applied on (only horizontal and in 45° steps).
>> Keeperspawn with 1024uu free space above, for ball respawn in case of offsides.
- Additional features if manual placed into a map:
>> (optional) set directions, ballrespawn manually
>> (optional) have offside measured in radial direction around a certain location for each team.

Rules:
- if Player A plays (e.g. pass, shot, volley...) the ball to Player B of the same team and B touches the ball he is offside if none of the following was true at the time the ball was passed:
(1) B is in his own half or
(2) A is closer to the goal than B or
(3) 2 Players of the opposing team are closer to the goal than B

- Furthermore B is able to avoid being offside in that situation by
>> returning to his own half or
>> getting further away from the goal as one of the imaginary lines described in (2) or (3)
anytime before he plays the ball

- There is no passive Offside. (i.e. you can only be offside if you touch the ball)

Technical notes that might explain behaviour on non-standard maps:
- the term "closer to the goal" is just used for better imagination, it actually means the coordinate measured along the predefined direction is smaller and
- the term "in his own half" refers to not touching an Enemy TeamZone or touching an own TeamZone

Installation:
see above, but note that it is ServerSide only, so Clients don't need to download this at all (if only the mutator is used)

Usage:
Select this Mutator any way you like (e.g. WebAdmin, UT2004 Menu, console: "admin map DB-Cube?Mutator=DB_Offside.DB_MutOffside")

Further Mapvote GameConfig entries to make offside voteable for db and the two sprint variants:
GameConfig=(GameClass="Deathball.DB_Deathball",Prefix="DB",Acronym="DB O",GameName="DB Offside",Mutators="DB_MutOffside.DB_Offside",Options=)
GameConfig=(GameClass="DB_Offside.DB_DodgeDeathball",Prefix="DB",Acronym="DB SO",GameName="DB Sprint Offside",Mutators="DB_Offside.DB_MutOffside",Options="bUseSprint=true")
GameConfig=(GameClass="DB_Offside.DB_DodgeDeathball",Prefix="DB",Acronym="DB DO",GameName="DB Dodge Offside",Mutators="DB_Offside.DB_MutOffside",Options="bUseSprint=false")

Posted: 19-05-2006 03:19
by The_One
Might be better if it didn't do it in celebration mode.

Edit: Seems 2v1s don't work. The team with 2 is always judged offside when the other team (?) are closer to their own goal (no biggy).

Edit2: Not sure about using the halfway line. Not really proper is it? But then this isn't football so...we'll see, ignore.

Posted: 19-05-2006 19:20
by Messy
Works fine with bots, though I haven't had it happen in the short 2on1 I tried (I'll trust The_One on this).

Needs a blocking volume for the goals though :) (to prevent people from walking in their own goal)

Posted: 19-05-2006 20:23
by Goldeneye
updated the map, see first post for details :)

Posted: 19-05-2006 22:11
by The_One
2v1 comment still stands. You shouldn't be judged offside if the other team only have 1 player. I guess this doesn't come under "some other small bugfixes".

edit: I was in an offside position when a bot passed to me. I bounced it and the ball reset as expected. Only thing is the bot that passed it to me died and not me. Must be one of those state change misses. Hopefully this will get integrated into DB. :D

Posted: 19-05-2006 23:26
by Goldeneye
there is no check for team sizes yet, just because it's easier to test it this way ;)
should be added to the final version though, indeed...

hmm, had that bug too once, when i tested offline, but wasn't sure if i really was in enemy half already (just crossed the line...)
i'm not sure if that is really caused by a state change miss, rather looks like the player gets skipped in the kill iteration sometimes - would be interesting to know if it also happens in netgames

Posted: 20-05-2006 00:26
by The_One
If he gets skipped why does anyone die? Surely it just thinks that the passer is the last one to touch the ball.

Posted: 20-05-2006 02:18
by DavidM
this is interesting etc....
but IMO it doesn't make much sense. if you look at how to get around offside in football...its all about running faster, sprints, accession....but thats all not there ATM.
all running at the same speed...
in 3on3 its still ok, but in 5on5 this willl be so cripplish if the defense tries to abuse it... :o

btw, 90% of the goals are random junk atm ;)

Posted: 20-05-2006 03:26
by Goldeneye
The_One wrote: If he gets skipped why does anyone die? Surely it just thinks that the passer is the last one to touch the ball.


what i meant with skipped is the function that checks who needs to be killed might not see the player for some reason sometimes.

if it thinks the passer touched the ball then it wouldn't kill anyone. :eek:
btw, 90% of the goals are random junk atm

because the map is junk (random goal/pzone/field/anything size), most where tired and had to get used to offside as well.

sprint would sure be great for this, but at least in this small map there where still a few breakaways.

Posted: 20-05-2006 11:16
by DavidM
problem is....the breakaways always happen at the middle line.
the way from middle line to goal is short...so it works sometimes.
in cube the way is long...there will always be a boosted player be back in time. not enough time to run that way.

with current DB, offside is only taking away lots of options, its not adding anything, only for defenders.

Posted: 20-05-2006 15:07
by fb.shev
with current DB, offside is only taking away lots of options, its not adding anything, only for defenders.


^
Need to give something back to the defenders that receive the constant long charging fake passes to the wall and cross volleys of such.
There's too many goals being scored i.m.o

Posted: 20-05-2006 17:32
by DavidM
you basically wanna take all attacking options and make defense even easier?

gg shev.

not my fault that basically 99% of the players do the same defense errors without even noticing them. pickupers at least try, but almost all do it wrong big time.

Posted: 21-05-2006 14:20
by Messy
Like kicking everyone up all the time..geez

and here comes the mutator

Posted: 21-05-2006 18:57
by Goldeneye
It's a mutator that simply spawns a DB_Offside actor with default settings if there is none yet.
( Default settings are: distance measured linear from goalvolume and reset is 1024 uunits above keeperspawn - if there are none reset is set to the penzone volume's location. )

I've included a 'Dodge Deathball' GameMode, that will allow fieldplayers to dodge every ten seconds as a codewise easier alternative to sprint.

Posted: 21-05-2006 19:23
by GoldenGun
i like it a lot, avant tout the Dodge DB Gamemode, i think that opens really a lot of great new possibilites to score.