New Gametypes
Moderator: Moderators
-
Randy Shughart
- Private
- Posts: 8
- Joined: Wed Dec 24, 2003 10:09 pm
- Location: Alton, Illinois, USA
- Contact:
New Gametypes
Okay, I didn't know if this should go in scripting or mapping, so I just posted in the most frequently visited. I just had some new gametype ideas and wanted to share them. Please don't attempt to make any or anything, this is going into my TC mod, or at least we're going to try.
Raise the Flag:
Kind of like BF:1942. When the round starts, each team must grab all the flags they can (by holding "Use" for 5 seconds next to a flag pole) before their enemy can. Each flag is a spawn point, so if the axis control it, its an axis spawn point and vice versa. Both team's objectives are to capture and hold all flags and finish off the enemy.
Alamo:
A bit self explanatory. Depending on the map, in this case the "Alamo", the allies must defend the multiple leveled house for a certain amount of time. Defenders cannot respawn; attackers can.
Kill the Commander:
Each team is given territory on each KtC map. In both of those territories, the teams both get 3 bots: a commander, and two guards. Each team's objective is to go into enemy territory and kill the enemy commander or kill his guards to capture him.
Sound good?
Raise the Flag:
Kind of like BF:1942. When the round starts, each team must grab all the flags they can (by holding "Use" for 5 seconds next to a flag pole) before their enemy can. Each flag is a spawn point, so if the axis control it, its an axis spawn point and vice versa. Both team's objectives are to capture and hold all flags and finish off the enemy.
Alamo:
A bit self explanatory. Depending on the map, in this case the "Alamo", the allies must defend the multiple leveled house for a certain amount of time. Defenders cannot respawn; attackers can.
Kill the Commander:
Each team is given territory on each KtC map. In both of those territories, the teams both get 3 bots: a commander, and two guards. Each team's objective is to go into enemy territory and kill the enemy commander or kill his guards to capture him.
Sound good?
Project Leader/Supervisor
Medal of Honor: No Retreat (Working Title)
A Total Conversion Modification for
Medal of Honor: Allied Assault

Medal of Honor: No Retreat (Working Title)
A Total Conversion Modification for
Medal of Honor: Allied Assault

-
omniscient
- Major General
- Posts: 694
- Joined: Tue Sep 16, 2003 12:02 am
-
Randy Shughart
- Private
- Posts: 8
- Joined: Wed Dec 24, 2003 10:09 pm
- Location: Alton, Illinois, USA
- Contact:
Alamo wouldn't be too hard. It would if it weren't for these two specifications:
The round is timed so they wouldn't be defending it for long.
The defenders will be defending a multiple story building, so they could cover the stairs and such.
It wouldn't be too too hard. War is hell though, right?
The round is timed so they wouldn't be defending it for long.
The defenders will be defending a multiple story building, so they could cover the stairs and such.
It wouldn't be too too hard. War is hell though, right?
Project Leader/Supervisor
Medal of Honor: No Retreat (Working Title)
A Total Conversion Modification for
Medal of Honor: Allied Assault

Medal of Honor: No Retreat (Working Title)
A Total Conversion Modification for
Medal of Honor: Allied Assault

Re: New Gametypes
This i think is the most promising of them all that ive seen here. I think I could see myself spending some time playing this game type.Randy Shughart wrote: Raise the Flag:
Kind of like BF:1942. When the round starts, each team must grab all the flags they can (by holding "Use" for 5 seconds next to a flag pole) before their enemy can. Each flag is a spawn point, so if the axis control it, its an axis spawn point and vice versa. Both team's objectives are to capture and hold all flags and finish off the enemy.
Moderator


-
omniscient
- Major General
- Posts: 694
- Joined: Tue Sep 16, 2003 12:02 am
-
Randy Shughart
- Private
- Posts: 8
- Joined: Wed Dec 24, 2003 10:09 pm
- Location: Alton, Illinois, USA
- Contact:
Any of you mappers/modellers/scripters that have Medal of Honor: Frontline? I was thinking of getting someone to make a Raise the Flag map from the Arnhem Knights map. I think it would be fun to play. It'd be like trying to actually take the city.
Project Leader/Supervisor
Medal of Honor: No Retreat (Working Title)
A Total Conversion Modification for
Medal of Honor: Allied Assault

Medal of Honor: No Retreat (Working Title)
A Total Conversion Modification for
Medal of Honor: Allied Assault

Raise the Flag doesnt sound bad, its fun, have played it fore BF:1942 before. Alamo doesnt sound bad, but I'd like to know what kind of weapons the defenders would get, and how far away the attackers spawn. And as for Kill the Commander, that I'd love to try, I had thought about trying that type of scenario for paintball. Would like to see it for MOH:AA.
-
Randy Shughart
- Private
- Posts: 8
- Joined: Wed Dec 24, 2003 10:09 pm
- Location: Alton, Illinois, USA
- Contact:
in alamo, the defenders would spawn in a building, so they could get any weapon their team allows. and since they'd spawn on every floor, they would be able to cover the front and back doors so the enemies would spawn right outside
Project Leader/Supervisor
Medal of Honor: No Retreat (Working Title)
A Total Conversion Modification for
Medal of Honor: Allied Assault

Medal of Honor: No Retreat (Working Title)
A Total Conversion Modification for
Medal of Honor: Allied Assault

for the Raise the Flag...
? I think it would be pretty fun if it was the stealing way, which i guess is what you are thinking...
For the Alamo, my imputs on this would be that the defenders to RESPAWN but somehow add like a 10 second delay, that would make it pretty fun, i know the last man standing is more 'historical' and challenging but (thinking gamewise) there will be that one last man hiding and/or camping in some remote location not even going for the other guy, or something to that extent. Also for this alamo, whats from stopping the Defenders from rushing out of the building and just spawn killing the Attackers? Because you pretty much have to have Disciplined people listening if you dont have some type of mod guidelining the game. If you know what i mean.
But ya, they sound like really good ideas! An idea of mine that ive always tried to do with clan members is a 'liberation' type of match for AA. You have either 1 prisoner from a side (or 1 prisoner from EACH side to keep things moving both ways) that is the prisoner and is 'camped' or locked up in an area of the map. The guards try and camp the prisoner and keep him from getting rescued... Just an idea, up for grabs, im to lazy
[/quote]
Now, could the opposing team (likein B/F) steal the already captured flags? or is more of a 'hurry-up-grab-all-the-flags-you-can-before-the-time-runs-out type of matchRaise the Flag:
Kind of like BF:1942. When the round starts, each team must grab all the flags they can (by holding "Use" for 5 seconds next to a flag pole) before their enemy can. Each flag is a spawn point, so if the axis control it, its an axis spawn point and vice versa. Both team's objectives are to capture and hold all flags and finish off the enemy.
For the Alamo, my imputs on this would be that the defenders to RESPAWN but somehow add like a 10 second delay, that would make it pretty fun, i know the last man standing is more 'historical' and challenging but (thinking gamewise) there will be that one last man hiding and/or camping in some remote location not even going for the other guy, or something to that extent. Also for this alamo, whats from stopping the Defenders from rushing out of the building and just spawn killing the Attackers? Because you pretty much have to have Disciplined people listening if you dont have some type of mod guidelining the game. If you know what i mean.
But ya, they sound like really good ideas! An idea of mine that ive always tried to do with clan members is a 'liberation' type of match for AA. You have either 1 prisoner from a side (or 1 prisoner from EACH side to keep things moving both ways) that is the prisoner and is 'camped' or locked up in an area of the map. The guards try and camp the prisoner and keep him from getting rescued... Just an idea, up for grabs, im to lazy
.:c|H|EE|TO|H|s|:.

Need a thorough map tester? Shine the Cheetohs signal!

Need a thorough map tester? Shine the Cheetohs signal!
-
Bjarne BZR
- Site Admin
- Posts: 3298
- Joined: Wed Feb 05, 2003 2:04 pm
- Location: Sweden
- Contact:
Actually, that flag raising mode sounds a lot like the "wave" objective I deviced a while ago... but I got tired of the map because Radiant was beeing a bitch. But for some strange reason I finished the script before I started the map.... so here you go:
Nothing complicated actually, just spawn areas that enable only the spawns of the current owner, and that that glows in the color of the current owner (red/blue). Oh I think there is "waveing" of the respawn as well (respawn shutson and off in intervals).
Feel free to use it if it helps. I'd love to play it as it was a result of a personal brainstorm of how I would device a MOH:AA game of objective tactics that combined well with the mayhem of respawning.
Just ask if there are any questions about he script.
Code: Select all
// FACTORY WAVE OBJECTIVE
// BY BJARNE GR?NNEVIK
main:
level waittill prespawn
exec global/DMprecache.scr
$world farplane 7500
$world farplane_color (0.675 0.663 0.651)
level.script = maps/obj/obj_factory_wave.scr
exec global/ambient.scr obj_team5
setcvar "g_obj_alliedtext1" "[ ]Front spawn taken"
setcvar "g_obj_alliedtext2" "[ ]Middle spawn taken"
setcvar "g_obj_alliedtext3" "[ ]Rear spawn taken"
setcvar "g_obj_axistext1" "[ ]Front spawn taken"
setcvar "g_obj_axistext2" "[ ]Middle spawn taken"
setcvar "g_obj_axistext3" "[ ]Rear spawn taken"
setcvar "g_scoreboardpic" "obj_factory_wave"
waitthread spawn_setup
level waittill spawn
// level waittill roundstart
thread axis_win_test
thread allies_win_test
end
spawn_setup:
level.spawn_count = 0
level.dmroundlimit = 10 // round time limit in minutes
level.clockside = kills // set to axis, allies, kills, or draw
thread spawn_controller
$spawn_allied_front_axis disablespawn
$spawn_allied_middle_axis disablespawn
$spawn_allied_back_axis disablespawn
$spawn_allied_front_allied enablespawn
$spawn_allied_middle_allied enablespawn
$spawn_allied_back_allied enablespawn
$spawn_allied_front_trigger.taken_by_enemy = 0
$spawn_allied_middle_trigger.taken_by_enemy = 0
$spawn_allied_back_trigger.taken_by_enemy = 0
$spawn_allied_front_marker light 0.0 0.0 1.0 300
$spawn_allied_middle_marker light 0.0 0.0 1.0 300
$spawn_allied_back_marker light 0.0 0.0 1.0 300
$spawn_allied_front_marker lightOn
$spawn_allied_middle_marker lightOn
$spawn_allied_back_marker lightOn
thread allied_back_spawn_check
thread allied_middle_spawn_check
thread allied_front_spawn_check
$spawn_axis_front_allied disablespawn
$spawn_axis_middle_allied disablespawn
$spawn_axis_back_allied disablespawn
$spawn_axis_front_axis enablespawn
$spawn_axis_middle_axis enablespawn
$spawn_axis_back_axis enablespawn
$spawn_axis_front_trigger.taken_by_enemy = 0
$spawn_axis_middle_trigger.taken_by_enemy = 0
$spawn_axis_back_trigger.taken_by_enemy = 0
$spawn_axis_front_marker light 1.0 0.0 0.0 300
$spawn_axis_middle_marker light 1.0 0.0 0.0 300
$spawn_axis_back_marker light 1.0 0.0 0.0 300
$spawn_axis_front_marker lightOn
$spawn_axis_middle_marker lightOn
$spawn_axis_back_marker lightOn
thread axis_back_spawn_check
thread axis_middle_spawn_check
thread axis_front_spawn_check
end
spawn_controller:
level.dmrespawning = 0
level waittill roundstart
while(1) {
wait 30
level.dmrespawning = 1
wait 10
level.dmrespawning = 0
}
end
axis_win_test:
while(level.spawn_count > 3) {
waitframe // protection
}
iprintlnbold_noloc "The axis has gained complete control of the factory!"
teamwin axis
end
allies_win_test:
while(level.spawn_count < 3) {
waitframe // protection
}
iprintlnbold_noloc "The allies has gained complete control of the factory!"
teamwin allies
end
allied_back_spawn_check:
while(1) {
$spawn_allied_back_trigger waittill trigger
if(parm.other.dmteam != allies) {
if($spawn_allied_back_trigger.taken_by_enemy) {
parm.other iprint "You already control this entrance." 1
continue
} else {
waitthread allied_back_spawn_change
}
} else {
if($spawn_allied_back_trigger.taken_by_enemy) {
waitthread allied_back_spawn_change
} else {
parm.other iprint "You already control this entrance." 1
continue
}
}
waitframe // protection
}
end
allied_back_spawn_change:
$spawn_allied_back_trigger playsound convert_spawn
if($spawn_allied_back_trigger.taken_by_enemy) {
level.spawn_count ++
$spawn_allied_back_trigger.taken_by_enemy = 0
$spawn_allied_back_marker lightOff
$spawn_allied_back_marker light 0.0 0.0 1.0 300
$spawn_allied_back_marker lightOn
$spawn_allied_back_axis disablespawn
$spawn_allied_back_allied enablespawn
// $spawn_allied_back_switch anim disable // disable is just a guess
iprintlnbold_noloc "The allies controls their rear entrance again!"
setcvar "g_obj_axistext3" "[ ]Rear spawn taken"
} else {
level.spawn_count --
$spawn_allied_back_trigger.taken_by_enemy = 1
$spawn_allied_back_marker lightOff
$spawn_allied_back_marker light 1.0 0.0 0.0 300
$spawn_allied_back_marker lightOn
$spawn_allied_back_axis enablespawn
$spawn_allied_back_allied disablespawn
// $spawn_allied_back_switch anim enable // enable is just a guess
iprintlnbold_noloc "The axis controls the rear allied entrance!"
setcvar "g_obj_axistext3" "[X]Rear spawn taken"
}
end
allied_middle_spawn_check:
while(1) {
$spawn_allied_middle_trigger waittill trigger
if(parm.other.dmteam != allies) {
if($spawn_allied_middle_trigger.taken_by_enemy) {
parm.other iprint "You already control this entrance." 1
continue
} else {
waitthread allied_middle_spawn_change
}
} else {
if($spawn_allied_middle_trigger.taken_by_enemy) {
waitthread allied_middle_spawn_change
} else {
parm.other iprint "You already control this entrance." 1
continue
}
}
waitframe // protection
}
end
allied_middle_spawn_change:
$spawn_allied_middle_trigger playsound convert_spawn
if($spawn_allied_middle_trigger.taken_by_enemy) {
level.spawn_count ++
$spawn_allied_middle_trigger.taken_by_enemy = 0
$spawn_allied_middle_marker lightOff
$spawn_allied_middle_marker light 0.0 0.0 1.0 300
$spawn_allied_middle_marker lightOn
$spawn_allied_middle_axis disablespawn
$spawn_allied_middle_allied enablespawn
// $spawn_allied_middle_switch anim disable // disable is just a guess
iprintlnbold_noloc "The allies controls their middle entrance again!"
setcvar "g_obj_axistext2" "[ ]Middle spawn taken"
} else {
level.spawn_count --
$spawn_allied_middle_trigger.taken_by_enemy = 1
$spawn_allied_middle_marker lightOff
$spawn_allied_middle_marker light 1.0 0.0 0.0 300
$spawn_allied_middle_marker lightOn
$spawn_allied_middle_axis enablespawn
$spawn_allied_middle_allied disablespawn
// $spawn_allied_back_switch anim enable // enable is just a guess
iprintlnbold_noloc "The axis controls the middle allied entrance!"
setcvar "g_obj_axistext2" "[X]Middle spawn taken"
}
end
allied_front_spawn_check:
while(1) {
$spawn_allied_front_trigger waittill trigger
if(parm.other.dmteam != allies) {
if($spawn_allied_front_trigger.taken_by_enemy) {
parm.other iprint "You already control this entrance." 1
continue
} else {
waitthread allied_front_spawn_change
}
} else {
if($spawn_allied_front_trigger.taken_by_enemy) {
waitthread allied_front_spawn_change
} else {
parm.other iprint "You already control this entrance." 1
continue
}
}
waitframe // protection
}
end
allied_front_spawn_change:
$spawn_allied_front_trigger playsound convert_spawn
if($spawn_allied_front_trigger.taken_by_enemy) {
level.spawn_count ++
$spawn_allied_front_trigger.taken_by_enemy = 0
$spawn_allied_front_marker lightOff
$spawn_allied_front_marker light 0.0 0.0 1.0 300
$spawn_allied_front_marker lightOn
$spawn_allied_front_axis disablespawn
$spawn_allied_front_allied enablespawn
// $spawn_allied_front_switch anim disable // disable is just a guess
iprintlnbold_noloc "The allies controls their front entrance again!"
setcvar "g_obj_axistext1" "[ ]Front spawn taken"
} else {
level.spawn_count --
$spawn_allied_front_trigger.taken_by_enemy = 1
$spawn_allied_front_marker lightOff
$spawn_allied_front_marker light 1.0 0.0 0.0 300
$spawn_allied_front_marker lightOn
$spawn_allied_front_axis enablespawn
$spawn_allied_front_allied disablespawn
// $spawn_allied_front_switch anim enable // enable is just a guess
iprintlnbold_noloc "The axis controls the front allied entrance!"
setcvar "g_obj_axistext1" "[X]Front spawn taken"
}
end
axis_back_spawn_check:
while(1) {
$spawn_axis_back_trigger waittill trigger
if(parm.other.dmteam != axis) {
if($spawn_axis_back_trigger.taken_by_enemy) {
parm.other iprint "You already control this entrance." 1
continue
} else {
waitthread axis_back_spawn_change
}
} else {
if($spawn_axis_back_trigger.taken_by_enemy) {
waitthread axis_back_spawn_change
} else {
parm.other iprint "You already control this entrance." 1
continue
}
}
waitframe // protection
}
end
axis_back_spawn_change:
$spawn_axis_back_trigger playsound convert_spawn
if($spawn_axis_back_trigger.taken_by_enemy) {
level.spawn_count --
$spawn_axis_back_trigger.taken_by_enemy = 0
$spawn_axis_back_marker lightOff
$spawn_axis_back_marker light 1.0 0.0 0.0 300
$spawn_axis_back_marker lightOn
$spawn_axis_back_axis disablespawn
$spawn_axis_back_allied enablespawn
// $spawn_axis_back_switch anim disable // disable is just a guess
iprintlnbold_noloc "The axis controls their rear entrance again!"
setcvar "g_obj_alliestext3" "[ ]Rear spawn taken"
} else {
level.spawn_count ++
$spawn_axis_back_trigger.taken_by_enemy = 1
$spawn_axis_back_marker lightOff
$spawn_axis_back_marker light 0.0 0.0 1.0 300
$spawn_axis_back_marker lightOn
$spawn_axis_back_axis enablespawn
$spawn_axis_back_allied disablespawn
// $spawn_axis_back_switch anim enable // enable is just a guess
iprintlnbold_noloc "The allies controls the rear axis entrance!"
setcvar "g_obj_alliestext3" "[X]Rear spawn taken"
}
end
axis_middle_spawn_check:
while(1) {
$spawn_axis_middle_trigger waittill trigger
if(parm.other.dmteam != axis) {
if($spawn_axis_middle_trigger.taken_by_enemy) {
parm.other iprint "You already control this entrance." 1
continue
} else {
waitthread axis_middle_spawn_change
}
} else {
if($spawn_axis_middle_trigger.taken_by_enemy) {
waitthread axis_middle_spawn_change
} else {
parm.other iprint "You already control this entrance." 1
continue
}
}
waitframe // protection
}
end
axis_middle_spawn_change:
$spawn_axis_middle_trigger playsound convert_spawn
if($spawn_axis_middle_trigger.taken_by_enemy) {
level.spawn_count --
$spawn_axis_middle_trigger.taken_by_enemy = 0
$spawn_axis_middle_marker lightOff
$spawn_axis_middle_marker light 1.0 0.0 0.0 300
$spawn_axis_middle_marker lightOn
$spawn_axis_middle_axis disablespawn
$spawn_axis_middle_allied enablespawn
// $spawn_axis_middle_switch anim disable // disable is just a guess
iprintlnbold_noloc "The axis controls their middle entrance again!"
setcvar "g_obj_alliestext2" "[ ]Middle spawn taken"
} else {
level.spawn_count ++
$spawn_axis_middle_trigger.taken_by_enemy = 1
$spawn_axis_middle_marker lightOff
$spawn_axis_middle_marker light 0.0 0.0 1.0 300
$spawn_axis_middle_marker lightOn
$spawn_axis_middle_axis enablespawn
$spawn_axis_middle_allied disablespawn
// $spawn_axis_middle_switch anim enable // enable is just a guess
iprintlnbold_noloc "The allies controls the middle axis entrance!"
setcvar "g_obj_alliestext2" "[X]Middle spawn taken"
}
end
axis_front_spawn_check:
while(1) {
$spawn_axis_front_trigger waittill trigger
if(parm.other.dmteam != axis) {
if($spawn_axis_front_trigger.taken_by_enemy) {
parm.other iprint "You already control this entrance." 1
continue
} else {
waitthread axis_front_spawn_change
}
} else {
if($spawn_axis_front_trigger.taken_by_enemy) {
waitthread axis_front_spawn_change
} else {
parm.other iprint "You already control this entrance." 1
continue
}
}
waitframe // protection
}
end
axis_front_spawn_change:
$spawn_axis_front_trigger playsound convert_spawn
if($spawn_axis_front_trigger.taken_by_enemy) {
level.spawn_count --
$spawn_axis_front_trigger.taken_by_enemy = 0
$spawn_axis_front_marker lightOff
$spawn_axis_front_marker light 1.0 0.0 0.0 300
$spawn_axis_front_marker lightOn
$spawn_axis_front_axis disablespawn
$spawn_axis_front_allied enablespawn
// $spawn_axis_front_switch anim disable // disable is just a guess
iprintlnbold_noloc "The axis controls their front entrance again!"
setcvar "g_obj_alliestext1" "[ ]Front spawn taken"
} else {
level.spawn_count ++
$spawn_axis_front_trigger.taken_by_enemy = 1
$spawn_axis_front_marker lightOff
$spawn_axis_front_marker light 0.0 0.0 1.0 300
$spawn_axis_front_marker lightOn
$spawn_axis_front_axis enablespawn
$spawn_axis_front_allied disablespawn
// $spawn_axis_front_switch anim enable // enable is just a guess
iprintlnbold_noloc "The allies controls the front axis entrance!"
setcvar "g_obj_alliestext2" "[X]Front spawn taken"
}
endFeel free to use it if it helps. I'd love to play it as it was a result of a personal brainstorm of how I would device a MOH:AA game of objective tactics that combined well with the mayhem of respawning.
Just ask if there are any questions about he script.
- HappyChappy_7000
- Warrant Officer
- Posts: 146
- Joined: Thu Jul 10, 2003 1:14 pm
- Location: Australia
- Contact:
Sounds fun all the way, I tried a 'Raise the Flag'-like mod a while back but haven't really finished it... basically because there were quite a few bugs and I don't like the 'hacking'-way of scripting these mods usually require
.
Anyway one hint
for you, make sure to show some instructions on the screen every 2 minutes or so... in my experience a lot of moh players aren't quite as bright as a donkey's release hole, and people will quickly quit servers running your mod when they don't understand the gametype.
Anyway one hint
-
Bjarne BZR
- Site Admin
- Posts: 3298
- Joined: Wed Feb 05, 2003 2:04 pm
- Location: Sweden
- Contact:
Amen brothah!jv_map wrote:Anyway one hintfor you, make sure to show some instructions on the screen every 2 minutes or so... in my experience a lot of moh players aren't quite as bright as a donkey's release hole, and people will quickly quit servers running your mod when they don't understand the gametype.



