Page 1 of 1
"Factory wave" map idea
Posted: Sun Aug 24, 2003 2:48 pm
by Bjarne BZR
I'm bored. So my sick brain started to cook up a new map idea. I have not started it. I just want to check if it is a good idea.
- A standard square factory floor. Gangways, cranes and high spots in general, making it about 3 stories high. But the basic action is on the lowest floor.
- Rather big game area.
- Simple design that makes the map easy to learn.
- Objective & Respawning ( read more further down ).
An inspirational picture:
The objective: "Battle wave"
Each team starts with a number of respawn areas ( 3-4 each? ). You can take control of these respawn areas ( by triggers or other as of yet unspecified mechanism ), making your team respawn there instead of the enemy. The winner is the team that takes control of all respawn areas ( or all but one? ) or the one that controls the most areas at round end. The status screen is updated to indicate what areas are taken by what team... and maby some "Scouting style" colored lights in the respawn areas to indicate the owning team.
I HATE respawning. However: I have come to realize that this is because of the fact that most respawning maps use respawning badly.
I want the map to work equally good for all weapon types. Maby giving the ledges and cranes to the snipers without giving them the opportunity to "over snipe" the ground level, where closer combat will occurr.
So, is this a good idea? Or has it been done to death already?
Posted: Sun Aug 24, 2003 3:06 pm
by SlasherZ
i like it a lot! i would like to help w/the map

Posted: Sun Aug 24, 2003 4:21 pm
by m0g
Dont you have a life n00bhacker! lol
First Vemork Ferry and now this!? no, seriously nice idea, keep on brainstorming BJ!

Posted: Sun Aug 24, 2003 4:26 pm
by SlasherZ
no. life wastes mapping time

Posted: Sun Aug 24, 2003 4:49 pm
by Bjarne BZR
I'm moving back to my hometown in a week to attend an education in game programming for 2 years, so I cant really map for... say... 2 weeks... so I thought this post would help me develop my idea and test its quality until I'm up and running again.
Posted: Sun Aug 24, 2003 9:57 pm
by Slyk
Bjarne: I've already done this sort of thing...exactly, actually, with 'Gun Assault' /forum/viewtopic.php?t=4012&highlight=gun+assault
I released that months ago. I've got three more in the works. Beta tested a new "Tractor Works" that is totally revised and averages 70 FPS on average machines... and a rework of "Streets of Stalingrad-1" that uses the same methods. Anyway, check out that thread and pm me or post any questions, etc. I did them as 'TOW' maps originally, but have it worked out to do them as 'DM' maps now.
Posted: Sun Aug 24, 2003 10:48 pm
by Bjarne BZR
I had the feeling that this was not a totally original idea Slyk. But you did ToW maps, didn't you? For Spearhead?
This is to be an AA map... running as objective.
Posted: Sun Aug 24, 2003 11:18 pm
by Bjarne BZR
Here is the script as it currently looks... some of you nerds dont understand it until its written in code
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.dmrespawning = 1 // 1 or 0
level.dmroundlimit = 10 // round time limit in minutes
level.clockside = kills // set to axis, allies, kills, or draw
level waittill roundstart
thread axis_win_test
thread allies_win_test
end
spawn_setup:
level.allied_spawn_count = 3
$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
thread allied_back_spawn_check
thread allied_middle_spawn_check
thread allied_front_spawn_check
level.axis_spawn_count = 3
$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
thread axis_back_spawn_check
thread axis_middle_spawn_check
thread axis_front_spawn_check
end
axis_win_test:
while(level.axis_spawn_count < 5) {
waitframe // protection
}
iprintlnbold_noloc "The axis has gained complete control of the factory!"
teamwin axis
end
allies_win_test:
while(level.allies_spawn_count < 5) {
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." 0
continue
} else {
goto allied_back_spawn_change
}
} else {
if($spawn_allied_back_trigger.taken_by_enemy) {
goto allied_back_spawn_change
} else {
parm.other iprint "You already control this entrance." 0
continue
}
}
waitframe // protection
}
end
allied_back_spawn_change:
$spawn_allied_back_trigger playsound convert_spawn
if($spawn_allied_back_trigger.taken_by_enemy) {
$spawn_allied_back_trigger.taken_by_enemy = 0
// Mark this entrance visually somehow?
$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 {
$spawn_allied_back_trigger.taken_by_enemy = 1
// Mark this entrance visually somehow?
$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:
// This spawn is not yet linked into the script!
end
allied_front_spawn_check:
// This spawn is not yet linked into the script!
end
axis_back_spawn_check:
// This spawn is not yet linked into the script!
end
axis_middle_spawn_check:
// This spawn is not yet linked into the script!
end
axis_front_spawn_check:
// This spawn is not yet linked into the script!
end
There is no map yet ( havent even started Radiant ), but the script shows how I'm envisioning the objective to work...
Posted: Mon Aug 25, 2003 11:21 am
by Slyk
Yeah, I originally started making several TOW maps. I took a couple and tried to adapt them to DM play and it just happened to evolve as a new 'unique' map style with dynamic spawning. I have three, four or five spawns per team, depending on map. They see-saw as in a TOW and I tied in a *bonus* to the final switch in line for both teams. That way, since it is a DM map, the round doesn't end when one team captures all five switches, but they do get a bonus, usually a portable MG or accessible mortars, etc. Then the round can continue. I set them up as TOW maps so that all the voice cues would work with the switches. Too lazy at the time and too challenged by audio scripting to input the verbal outtakes at that time...now working that out to make them straight DM.
Anyway, looks like your map will be 'OBJ'. I also used floating 'flags' over each objective in 'Streets of Stalingrad-1' and a similar thing in 'TW2'. I tried using alternating lights, but they were a pain in the *** and really dragged down FPS. There are lots of ways to do the notification thing, but I chose to go 'TOW' so that you heard when an objective was taken, and then you can look at the screen and read which one. BUT>>>>>> In my maps, you need to capture EACH switch IN ORDER. You can't go running around grabbing any one as in most TOW maps. For mine, you are required to "maintain lines of communication to your base...". This forces a real 'flow' to each battle and gives the DM side a whole new feel as you fight to advance your spawning region and pound the other team.
Posted: Mon Aug 25, 2003 12:00 pm
by Bjarne BZR
Thanx Slyk, this is just the type of answers I wanted for this thread. And I get evil new ideas all the time when reading your answers
"Maintaing lines of communication to your base" is a good idea if I can isert it in a logical and "easy to understand for the players" way.
And sound is used WAY too little to inform players of the current status...
Posted: Mon Aug 25, 2003 1:04 pm
by Slyk
B: download 'Gun Assault' and check out the script. I have each 'trigger' on each switch set up so that it can only be used when the other appropriate triggers are in an up/down position. It's sort of a wave effect. At most, you have only two switches that are operable at any one time... the others lock you out until the preceeding one in the chain is flipped. >> Of course, if you've only got three switches planned, all of yours would be open all of the time... or only the middle one would be and the 'rear' ones would lock out until one team controlled the middle switch, opening/activating the 'rear' switch of the enemy.
Once you get some stuff cobbled together on the map, I'd be happy to consult on the layout/flow/trigger/switch thing. It takes a good bit of work and tons of testing to get it right. PLUS, you need to be very careful in planning where and how the spawns will interact. You don't want a team spawn to be right on top of a newly captured switch or too close OR too far as it hampers play and balance. Ideally, to me, a progressive spawn map like mine and your concept should force teamwork. It's tough to do. I got lucky with 'GA', although I see a need for a version 3.0 already with new ideas and such. My other two maps have been a challenge also with getting the spawners/switches/flags worked out. Keep me updated, or drop me some PMs if you wish.