Techno Rave Deathmatch

Talk about our & your projects.
User avatar
justin023
Posts: 165
Joined: Wed Sep 21, 2005 10:51
Location: Illinois
Contact:

Techno Rave Deathmatch

Post 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.
Last edited by justin023 on Mon Feb 20, 2006 22:39, edited 3 times in total.
User avatar
Graf Zahl
GZDoom Developer
GZDoom Developer
Posts: 7148
Joined: Wed Jul 20, 2005 9:48
Location: Germany
Contact:

Post by Graf Zahl »

Sounds headache inducing. :mrgreen:
User avatar
justin023
Posts: 165
Joined: Wed Sep 21, 2005 10:51
Location: Illinois
Contact:

Post 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.
User avatar
BlazingPhoenix
Posts: 488
Joined: Sun Aug 28, 2005 5:11
Contact:

Post by BlazingPhoenix »

Heh, the first GZDoom deathmatch map, hope it turns out good.
User avatar
Alter
Posts: 851
Joined: Wed Oct 05, 2005 8:55
Location: Poland, Lodz

Post by Alter »

Looks like perfect gzdoom deathmatch map :D
User avatar
Paul
DRD Team Admin (Inactive)
Posts: 1058
Joined: Thu Jun 30, 2005 13:30
Location: Poland - Grojec / Radom
Contact:

Post 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..
User avatar
Enjay
Developer
Developer
Posts: 4723
Joined: Tue Aug 30, 2005 23:19
Location: Scotland
Contact:

Post 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.
User avatar
jallamann
Posts: 66
Joined: Wed Nov 23, 2005 10:01

Post 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 :(
User avatar
justin023
Posts: 165
Joined: Wed Sep 21, 2005 10:51
Location: Illinois
Contact:

Post 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]
Post Reply

Return to “Projects”