DOM mode and team PlayerStart?

Tutorials and discussions about Mapping - Introduce your own ones!
GingerCat
Average
Posts: 30
Joined: Sun Jun 01, 2025 3:08 pm

DOM mode and team PlayerStart?

Post by GingerCat »

Hi people, I've picked up mapping again after 20 years. :omfg:

Is there a way to force the DOM game mode to respect team spawns? I've spent hours making a symmetrical DOM map only to realize the bots are not going to spawn exactly where I want them. :noidea
Red_Fist
Godlike
Posts: 2329
Joined: Sun Oct 05, 2008 3:31 am

Re: DOM mode and team PlayerStart?

Post by Red_Fist »

I assume if you set a team number in the playerstarts. like 4 colors
But I am not sure what team number is what, I think 1 is red, but I dunno.
Binary Space Partitioning
GingerCat
Average
Posts: 30
Joined: Sun Jun 01, 2025 3:08 pm

Re: DOM mode and team PlayerStart?

Post by GingerCat »

Red_Fist wrote: Mon Jun 02, 2025 6:10 am I assume if you set a team number in the playerstarts. like 4 colors
But I am not sure what team number is what, I think 1 is red, but I dunno.
That's what I thought, right? 0 for Red, 1 for Blue. I was fooled at first because the bots begin by spawning in localized blobs with each other. Probably some other game logic related to DOM mode. Once things heat up and the spawn times are more chaotic the bots start spawning wherever they please. I have combed every PlayerStart umpteen times to check the team designations and they are all correct. I seem to have misremembered how this game mode works.
User avatar
EvilGrins
Godlike
Posts: 10472
Joined: Thu Jun 30, 2011 8:12 pm
Personal rank: God of Fudge
Location: Palo Alto, CA

Re: DOM mode and team PlayerStart?

Post by EvilGrins »

Red_Fist wrote: Mon Jun 02, 2025 6:10 am But I am not sure what team number is what
0 = red
1 = blue
2 = green
3 = yellow
Red_Fist
Godlike
Posts: 2329
Joined: Sun Oct 05, 2008 3:31 am

Re: DOM mode and team PlayerStart?

Post by Red_Fist »

"I seem to have misremembered how this game mode works"

Actually , there is no "Base" to protect, etc.
So maybe team numbers equally distributed but grouped equal distance from the control points. So if you can set the team, and work probably think as equal for all colors.

Lol OR maybe DOM bypasses that part of the code, wonder how it works in DM, I never messed with teams very much.
Binary Space Partitioning
User avatar
Barbie
Godlike
Posts: 3224
Joined: Fri Sep 25, 2015 9:01 pm
Location: moved without proper hashing

Re: DOM mode and team PlayerStart?

Post by Barbie »

DOM has no code for finding a PlayerStart; instead the code of game class'DeathMatchPlus' is used. As I understood the code, it tries to maximise the distance between Players in different teams.
"If Origin not in center it be not in center." --Buggie
User avatar
papercoffee
Godlike
Posts: 10655
Joined: Wed Jul 15, 2009 11:36 am
Personal rank: coffee addicted !!!
Location: Cologne, the city with the big cathedral.

Re: DOM mode and team PlayerStart?

Post by papercoffee »

So, to have team based player-starts, we would need to subclass DOM and change the player-start system.
User avatar
darkbarrage99
Skilled
Posts: 227
Joined: Fri Jan 02, 2009 12:41 am
Personal rank: Barron O' Beefdip
Location: VA, USA

Re: DOM mode and team PlayerStart?

Post by darkbarrage99 »

you could also try converting your map to double domination for testing. I've edited a few maps for ddom and it has team based player starts.

links to ddom mod: https://ut99.org/viewtopic.php?t=933&start=15
User avatar
Barbie
Godlike
Posts: 3224
Joined: Fri Sep 25, 2015 9:01 pm
Location: moved without proper hashing

Re: DOM mode and team PlayerStart?

Post by Barbie »

darkbarrage99 wrote: Thu Jun 05, 2025 6:12 am double domination [...] has team based player starts.
I inspected all code of doubledomination.u and but did not find anything concerning PlayerStarts. :noidea
papercoffee wrote: Wed Jun 04, 2025 2:28 pm So, to have team based player-starts, we would need to subclass DOM and change the player-start system.
Maybe it can be realised by a mutator, too.
"If Origin not in center it be not in center." --Buggie
User avatar
darkbarrage99
Skilled
Posts: 227
Joined: Fri Jan 02, 2009 12:41 am
Personal rank: Barron O' Beefdip
Location: VA, USA

Re: DOM mode and team PlayerStart?

Post by darkbarrage99 »

Barbie wrote: Thu Jun 05, 2025 10:07 am
darkbarrage99 wrote: Thu Jun 05, 2025 6:12 am double domination [...] has team based player starts.
I inspected all code of doubledomination.u and but did not find anything concerning PlayerStarts. :noidea
papercoffee wrote: Wed Jun 04, 2025 2:28 pm So, to have team based player-starts, we would need to subclass DOM and change the player-start system.
Maybe it can be realised by a mutator, too.
found in the gametype actor, doubledomination.ddom

Code: Select all

defaultproperties
{
	bluecount=3
	redcount=3
	Count=-1
	bSpawnInTeamArea=True
	MaxAllowedTeams=2
	GoalTeamScore=5.000000
	bUseTranslocator=False
	bCoopWeaponMode=True
	MapListType=Class'ddmaplist'
	MapPrefix="DDOM"
	BeaconName="DDOM"
	GameName="Double Domination"
}
pretty sure it's bSpawnInTeamArea=True. same thing exists in botpack.ctfgame, but not in botpack.domination.

so yeah, some kind of mutator to change that value, or a new gametype mutator.
GingerCat
Average
Posts: 30
Joined: Sun Jun 01, 2025 3:08 pm

Re: DOM mode and team PlayerStart?

Post by GingerCat »

darkbarrage99 wrote: Sat Jun 14, 2025 12:52 am
Barbie wrote: Thu Jun 05, 2025 10:07 am
darkbarrage99 wrote: Thu Jun 05, 2025 6:12 am double domination [...] has team based player starts.
I inspected all code of doubledomination.u and but did not find anything concerning PlayerStarts. :noidea
papercoffee wrote: Wed Jun 04, 2025 2:28 pm So, to have team based player-starts, we would need to subclass DOM and change the player-start system.
Maybe it can be realised by a mutator, too.
found in the gametype actor, doubledomination.ddom

Code: Select all

defaultproperties
{
	bluecount=3
	redcount=3
	Count=-1
	bSpawnInTeamArea=True
	MaxAllowedTeams=2
	GoalTeamScore=5.000000
	bUseTranslocator=False
	bCoopWeaponMode=True
	MapListType=Class'ddmaplist'
	MapPrefix="DDOM"
	BeaconName="DDOM"
	GameName="Double Domination"
}
pretty sure it's bSpawnInTeamArea=True. same thing exists in botpack.ctfgame, but not in botpack.domination.

so yeah, some kind of mutator to change that value, or a new gametype mutator.
I genuinely appreciate the replies. I haven't stopped working on the map but it's slow progress working late at night :ironic:

I'm not familiar with scripting at all. With the help of Grok I managed to create the appropriate folder structure and a .uc file that compiles without any errors.

Code: Select all

class CustomDomination extends Domination

	config;

function PostBeginPlay()
{
    bSpawnInTeamArea = true;
    Log("CustomDomination: Set bSpawnInTeamArea to true");
    Super.PostBeginPlay();
}
When I inspect the custom game type's actor properties, bSpawnInTeamArea is set to True. It is currently set as the game type for my map.

I have tried running this script as a mutator straight into a DOM match and it has no effect. I have also tried copying from double doms int file, replacing the relevant class name with my own and somehow managed to get two identical listings for Domination under game type. Neither one has the desired effect of restricting player starts by team designation.

I'm curious as to how to set the game type prefix? (and maps lists, etc) Trawling through the ddom script hasn't helped me understand this. Also, how do I go about correctly setting up a custom game modes .int file?
User avatar
Barbie
Godlike
Posts: 3224
Joined: Fri Sep 25, 2015 9:01 pm
Location: moved without proper hashing

Re: DOM mode and team PlayerStart?

Post by Barbie »

Put CustomDomination.u into the SYSTEM directory; save this as CustomDomination.int there also:

Code: Select all

[Public]
Object=(Name=CustomDomination.CustomDomination,Class=Class,MetaClass=Botpack.TournamentGameInfo)
Preferences=(Caption="CustomDomination",Parent="Game Types",Class=CustomDomination.CustomDomination,Immediate=True)

[CustomDomination]
GameName="DOM spawn in Team area"
(not tested)
"If Origin not in center it be not in center." --Buggie
GingerCat
Average
Posts: 30
Joined: Sun Jun 01, 2025 3:08 pm

Re: DOM mode and team PlayerStart?

Post by GingerCat »

Barbie wrote: Wed Jun 18, 2025 1:14 pm Put CustomDomination.u into the SYSTEM directory; save this as CustomDomination.int there also:

Code: Select all

[Public]
Object=(Name=CustomDomination.CustomDomination,Class=Class,MetaClass=Botpack.TournamentGameInfo)
Preferences=(Caption="CustomDomination",Parent="Game Types",Class=CustomDomination.CustomDomination,Immediate=True)

[CustomDomination]
GameName="DOM spawn in Team area"
(not tested)
It works! :rock: Much appreciated, Barbie. Now I'm thinking about trying to incorporate defensive positions.
User avatar
darkbarrage99
Skilled
Posts: 227
Joined: Fri Jan 02, 2009 12:41 am
Personal rank: Barron O' Beefdip
Location: VA, USA

Re: DOM mode and team PlayerStart?

Post by darkbarrage99 »

GingerCat wrote: Wed Jun 18, 2025 11:10 am I genuinely appreciate the replies. I haven't stopped working on the map but it's slow progress working late at night :ironic:

I'm not familiar with scripting at all. With the help of Grok I managed to create the appropriate folder structure and a .uc file that compiles without any errors.

Code: Select all

class CustomDomination extends Domination

	config;

function PostBeginPlay()
{
    bSpawnInTeamArea = true;
    Log("CustomDomination: Set bSpawnInTeamArea to true");
    Super.PostBeginPlay();
}
When I inspect the custom game type's actor properties, bSpawnInTeamArea is set to True. It is currently set as the game type for my map.

I have tried running this script as a mutator straight into a DOM match and it has no effect. I have also tried copying from double doms int file, replacing the relevant class name with my own and somehow managed to get two identical listings for Domination under game type. Neither one has the desired effect of restricting player starts by team designation.

I'm curious as to how to set the game type prefix? (and maps lists, etc) Trawling through the ddom script hasn't helped me understand this. Also, how do I go about correctly setting up a custom game modes .int file?
:gj: that's interesting. somebody correct me if i'm wrong, pretty sure all you would have needed to do was change the teamplay bool in the default properties, so it would have been:

Code: Select all

class CustomDomination extends Domination


defaultproperties
{
    bSpawnInTeamArea = true
}
silly grok, overcomplicating things :lol:

if you want to understand how uscript works, check out angelmapper's old tutorial here: https://web.archive.org/web/20160408232 ... oding1.htm
it's more so for ut2004, but the logic still applies to ut99 and it's the breakdown that i could understand when i was like 19 years old. and i am by no means a coder lol. tldr, a lot of things can easily be tweaked by messing with defaultproperties instead of having to have to rewrite entire lines of code.

at any rate, there's probably also a way to create a mutator that changes that one bool that you can place in the map that uses the code grok puked out. i dunno how to do that though.
GingerCat
Average
Posts: 30
Joined: Sun Jun 01, 2025 3:08 pm

Re: DOM mode and team PlayerStart?

Post by GingerCat »

I recall getting a compile error like "unexpected defaultproperties" whenever we tried that. Perhaps the syntax was wrong. :???: