Page 1 of 1

Techno Rave Deathmatch

Posted: Wed Feb 01, 2006 1:15
by justin023
My next project will be a deathmatch map. It will include a few of the weapons I created for TBFM including: The Ice Rifle, The fire Rifle, and The automatic dart gun (maybe). It also will have lots of strobing and color changing dynamic lights and some 3d floors. Here is a pic, It looks kind of dull ATM, but those red lights are actually changing colors a lot.

Posted: Wed Feb 01, 2006 1:17
by Graf Zahl
Sounds headache inducing. :mrgreen:

Posted: Sat Feb 11, 2006 8:02
by justin023
Update: I have most of the main area complete. I am going to ZTerrain a fairly large outside area and fill it with BFG mortars and other random hazards.

New weapons currently included:
Fire Rifle (Cleric's Fire Weapon)
Ice Rifle (Mage's Frost Shards)
Swine Staff (Like a porkolator and Saphire wand combo)

Attached pics:
1. Disco type room surrounded by good sniper positions. Random powerups and ammo fall onto the floor. The yellow things on the ground are jump pads.
2. Flashing lights room. All the columns on the wall are BFG launchers and one of them is in action.
3. Another pattern on the disco floor thing.

Posted: Wed Feb 15, 2006 3:53
by BlazingPhoenix
Heh, the first GZDoom deathmatch map, hope it turns out good.

Posted: Wed Feb 15, 2006 18:21
by Alter
Looks like perfect gzdoom deathmatch map :D

Posted: Wed Feb 15, 2006 18:40
by Paul
Those highly saturated colours look like something I'd find in a "not do this with lights" tutorial for a modern engine ;) seriously, lower their saturation. I'm not sure wether DM people will like the darkness of the map. Some like it, but as I've read opinions on dark maps, most likely they find it a flaw..

Posted: Wed Feb 15, 2006 20:56
by Enjay
justin023 wrote:I am going to ZTerrain a fairly large outside area and fill it with BFG mortars and other random hazards.
A large ZTerrain area may have a frame rate hit - not especially great fun when trying to connect a few people for some DM action.

Posted: Wed Feb 15, 2006 23:03
by jallamann
Paul wrote:I'm not sure wether DM people will like the darkness of the map. Some like it, but as I've read opinions on dark maps, most likely they find it a flaw..
*sigh*
It was much better before when you could hide in the shadows and still have a "good" DM game. But, I guess it doesn't require as much _skill_ or whatever you want to call it. It's not any fun anymore. Everyone's Fatal1ty wannabes :(

Posted: Mon Feb 20, 2006 22:42
by justin023
This project has been canceled. I suppose this was one of those ideas that was better in theory than in actuality. It was fun playing with ACS scripting though (sort of). Here are the scripts from this map if anybody is interested:

[spoiler]

Code: Select all

#include "zcommon.acs"

#define scripts_x 6
int scripts[6]={2,3,4,7,8,9};
#define lights_off_x 13
int lights_off[13]={1,2,3,15,16,17,18,19,20,21,22,23,24};

script 1 open{
	for (int i=0;i<lights_off_x;i++) thing_deactivate(lights_off[i]);
	for (i=0;i<scripts_x;i++) acs_execute(scripts[i],0);
	for (i=153;i<297;i++) sector_setcolor(i, 192, 0, 0);
}

#define del 6

script 2 (void){ //color changing lights in main area
	thing_deactivate(3);
	thing_activate(1); //red
	changeceiling(5,"j_cl_r");
	delay(del);
	thing_deactivate(1);
	thing_activate(2); //blue
	changeceiling(5,"j_cl_b");
	delay(del);
	thing_deactivate(2);
	thing_activate(3); //green
	changeceiling(5,"j_cl_g");
	delay(del);
	restart;
}

script 3 (void){ //random lift 1
	delay(35*random(1,15)); floor_raisetonearest(3, 12);
	delay(35*random(1,15)); floor_lowertonearest(3, 12);
	restart;
}

script 4 (void){ //random lift 2
	delay(35*random(1,15)); floor_raisetonearest(4, 12);
	delay(35*random(1,15)); floor_lowertonearest(4, 12);
	restart;
}

script 5 (void){ //jump pads
	thrustthingz(activatortid(), 64, 0, 1);
}

script 6 enter{
	thing_changetid(0, 1001+playernumber());
}

//Every other tile
int broken_tiles[2][72]={{153,155,157,159,161,163,
					  	  166,168,170,172,174,176,
					  	  177,179,181,183,185,187,
					  	  190,192,194,196,198,200,
					  	  201,203,205,207,209,211,
					  	  214,216,218,220,222,224,
					  	  225,227,229,231,233,235,
					  	  238,240,242,244,246,248,
					  	  249,251,253,255,257,259,
					  	  262,264,266,268,270,272,
					  	  273,275,277,279,281,283,
					  	  286,288,290,292,294,296},
					  	 {154,156,158,160,162,164,
					  	  165,167,169,171,173,175,
					  	  178,180,182,184,186,188,
					  	  189,191,193,195,197,199,
					  	  202,204,206,208,210,212,
					  	  213,215,217,219,221,223,
					  	  226,228,230,232,234,236,
					  	  237,239,241,243,245,247,
					  	  250,252,254,256,258,260,
					  	  261,263,265,267,269,271,
					  	  274,276,278,280,282,284,
					  	  285,287,289,291,293,295}};
int circular_tiles[88]={153,154,155,156,157,158,
					  	159,160,161,162,163,164,
					  	176,188,200,212,224,236,
					  	248,260,272,284,296,295,
					  	294,293,292,291,290,289,
					  	288,287,286,285,273,261,
					  	249,237,225,213,201,189,
					  	177,165,179,180,181,182,
					  	183,184,185,186,198,210,
					  	222,234,246,258,270,269,
					  	268,267,266,265,264,263,
					  	251,239,227,215,203,191,
					  	241,229,217,205,206,207,
					  	208,220,232,224,243,242,
					  	241,229,217,244};

script 7 (void){ //disco floor loop
	for (int ii=0;ii<6;ii++){
		//green outer circle
		for (int i=153;i<297;i++) sector_setcolor(i, 0, 192, 0);
		//Red inner circle
		for (i=0;i<88;i++) sector_setcolor(circular_tiles[i], 192, 0, 0);
		delay(25);

		//red outer circle
		for (i=153;i<297;i++) sector_setcolor(i, 192, 0, 0);
		//blue inner circle
		for (i=0;i<88;i++) sector_setcolor(circular_tiles[i], 0, 0, 192);
		delay(25);
	
		//blue outer circle
		for (i=153;i<297;i++) sector_setcolor(i, 0, 0, 192);
		//green inner circle
		for (i=0;i<88;i++) sector_setcolor(circular_tiles[i], 0, 192, 0);
		delay(25);	
	}

	//blue + green inverse
	for (ii=0;ii<6;ii++){ 
		for ( i=0;i<72;i++){ 
			sector_setcolor(broken_tiles[0][i], 0, 0, 192);
			sector_setcolor(broken_tiles[1][i], 0, 192, 0);
		}
		delay(25);
	
		for (i=0;i<72;i++){
			sector_setcolor(broken_tiles[1][i], 0, 0, 192);
			sector_setcolor(broken_tiles[0][i], 0, 192, 0);
		}
		delay(25);
	}
	//to green sequentially
	for (i=153;i<297;i++){ 
		sector_setcolor(i, 0, 192, 0);
		delay(1);
	}
	//red + green inverse
	for (ii=0;ii<6;ii++){ 
		for (i=0;i<72;i++){ 
			sector_setcolor(broken_tiles[0][i], 192, 0, 0);
			sector_setcolor(broken_tiles[1][i], 0, 192, 0);
		}
		delay(25);

		for (i=0;i<72;i++){
			sector_setcolor(broken_tiles[1][i], 192, 0, 0);
			sector_setcolor(broken_tiles[0][i], 0, 192, 0);
		}
		delay(25);
	}
	//to red sequentially
	for (i=153;i<297;i++){ 
		sector_setcolor(i, 192, 0, 0);
		delay(1);
	}
	//red + blue inverse
	for (ii=0;ii<6;ii++){ 
		for (i=0;i<72;i++){ 
			sector_setcolor(broken_tiles[0][i], 192, 0, 0);
			sector_setcolor(broken_tiles[1][i], 0, 0, 192);
		}
		delay(25);

		for (i=0;i<72;i++){
			sector_setcolor(broken_tiles[1][i], 192, 0, 0);
			sector_setcolor(broken_tiles[0][i], 0, 0, 192);
		}
		delay(25);
	}
	//to blue sequentially
	for (i=153;i<297;i++){ 
		sector_setcolor(i, 0, 0, 192);
		delay(1);
	}
	
	restart;
}

script 8 (void){ //random door 1
	ceiling_raisebyvalue(8, 24, 128); floor_lowerbyvalue(8, 24, 120);
	tagwait(8);
	delay(35*random(1,3));
	ceiling_lowerbyvalue(8, 24, 128); floor_raisebyvalue(8, 24, 120);
	tagwait(8);
	delay(35*random(3,22));
	restart;
}

int projectile_info[4][10]={{1,2,3,4,5,6,7,8,9,10}, //Line IDs
						{5,6,7,8,9,10,11,12,13,14}, //Spawn points
						{ang_e,ang_e,ang_e,ang_e,ang_e,ang_w,ang_w,ang_w,ang_w,ang_w}, //projectile angle
						{15,16,17,18,19,20,21,22,23,24}}; 
						
script 9 (void){ //projectiles in main area
	int rand = random(0,9);
	delay(35*random(1, 10));
	thing_activate(projectile_info[3][rand]);
	setlinetexture(projectile_info[0][rand], side_front, texture_middle, "SW2Lion");
	thing_projectilegravity(projectile_info[1][rand], 255, projectile_info[2][rand], 128, 8);
	delay(20);
	thing_deactivate(projectile_info[3][rand]);
	setlinetexture(projectile_info[0][rand], side_front, texture_middle, "SW1Lion");
	restart;
}
[/spoiler]