Page 3 of 5

Re: [Monster]Vore from Quake

Posted: Thu Apr 05, 2012 4:41 pm
by Captain Awesome
Image

This is great.

Re: [Monster]Vore from Quake

Posted: Thu Apr 05, 2012 5:27 pm
by .+:icytux:+.
Heh, I remember being amazed at how the revenants seekermissiles worked in hideous destructor. It used a very similar code to make the missiles home around corners :P

Re: [Monster]Vore from Quake

Posted: Fri Apr 06, 2012 11:43 am
by Snarboo
I can't help but feel that there is a more efficient way of writing that missile code without duplicating it for every single frame of animation. I'll have to experiment with this.

Edit:
Okay, I have no idea if this will work, but it's worth a try!

Code: Select all

Actor XtRevenantTracer replaces RevenantTracer
{
var int user_theta; // <-- This is the important part!
*Snip*
States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_PlaySound ("skeleton/ballloop", 6, 1, 1)
		RVTR AB 2 Bright
		Goto SpawnLoop
	SpawnLoop:
		RVTR A 0 A_SetUserVar ("user_theta", 0)
 		"####" "#" 1 BRIGHT A_SetUserVar ("user_theta", user_theta+1)
		"####" "#" 0 A_SpawnItemEx ("XtRevenantTracerTrail", Random(-10,10), Random(-10,10))
		"####" "#" 0 A_GiveToTarget ("XtRevenantTracerToken", 1)
		"####" "#" 0 A_JumpIfTargetInLOS(3, 360, 1)
		"####" "#" 0 A_JumpIf (user_theta >=4, "SpawnLoop") 
		"####" "#" 0 A_JumpIf (user_theta ==2, "FrameB")
		Goto SpawnLoop+1
		"####" "#" 0 A_SeekerMissile(90, 90, 2)
		"####" "#" 0 A_JumpIf (user_theta >=4, "SpawnLoop") 
		"####" "#" 0 A_JumpIf (user_theta ==2, "FrameB")
		Goto SpawnLoop+1
	FrameB:
		RVTR B 0
		Goto SpawnLoop+1
	Death:
		TNT1 A 0 A_StopSound (6)
		FBXP A 4 Bright A_Explode (10, 64)
		FBXP BBBBCCCC 1 Bright A_FadeOut (0.05)
		Stop
	}
}
Assuming this works, this should cut down on redundant code by using frame inheritance!

Re: [Monster]Vore from Quake

Posted: Sat Apr 07, 2012 1:33 pm
by NeuralStunner
Snarboo wrote:I can't help but feel that there is a more efficient way of writing that missile code without duplicating it for every single frame of animation.
There sure is! :P

Re: [Monster]Vore from Quake

Posted: Sat Apr 07, 2012 5:55 pm
by Snarboo
Huh, I had no idea custom inventory items behaved like that. In that case, the code could be made even more efficient in theory. :p

Re: [Monster]Vore from Quake

Posted: Sun Apr 08, 2012 10:03 am
by Xtyfe
Could the same be applied to this?

Code: Select all

	Chase:
		TNT1 A 0 A_SpawnItemEx ("XtRevenantStep", 10, 10, 15)
		SKEL A 2 A_Chase ("Melee", "", CHF_NOPLAYACTIVE)
		TNT1 A 0 A_JumpIfInventory ("XtRevenantTracerToken", 1, 2)
		SKEL A 2 A_Chase ("Melee", "Missile", CHF_NOPLAYACTIVE)
		Goto FrameA2
		TNT1 A 0 A_TakeInventory ("XtRevenantTracerToken", 1)
		SKEL A 2 A_Chase ("Melee", "", CHF_NOPLAYACTIVE)
		Goto FrameA2
	FrameA2:
		TNT1 A 0 A_JumpIfInventory ("XtRevenantTracerToken", 1, 2)
		SKEL A 2 A_Chase ("Melee", "Missile", CHF_NOPLAYACTIVE)
		Goto FrameB1
		TNT1 A 0 A_TakeInventory ("XtRevenantTracerToken", 1)
		SKEL A 2 A_Chase ("Melee", "", CHF_NOPLAYACTIVE)
		Goto FrameB1
	FrameB1:
		SKEL B 2 A_Chase ("Melee", "", CHF_NOPLAYACTIVE)
		TNT1 A 0 A_JumpIfInventory ("XtRevenantTracerToken", 1, 2)
		SKEL B 2 A_Chase ("Melee", "Missile", CHF_NOPLAYACTIVE)
		Goto FrameB2
		TNT1 A 0 A_TakeInventory ("XtRevenantTracerToken", 1)
		SKEL B 2 A_Chase ("Melee", "", CHF_NOPLAYACTIVE)
		Goto FrameB2
	FrameB2:
		TNT1 A 0 A_JumpIfInventory ("XtRevenantTracerToken", 1, 2)
		SKEL B 2 A_Chase ("Melee", "Missile", CHF_NOPLAYACTIVE)
		Goto FrameC1
		TNT1 A 0 A_TakeInventory ("XtRevenantTracerToken", 1)
		SKEL B 2 A_Chase ("Melee", "", CHF_NOPLAYACTIVE)
		Goto FrameC1
	FrameC1:
		SKEL C 2 A_Chase ("Melee", "", CHF_NOPLAYACTIVE)
		TNT1 A 0 A_JumpIfInventory ("XtRevenantTracerToken", 1, 2)
		SKEL C 2 A_Chase ("Melee", "Missile", CHF_NOPLAYACTIVE)
		Goto FrameC2
		TNT1 A 0 A_TakeInventory ("XtRevenantTracerToken", 1)
		SKEL C 2 A_Chase ("Melee", "", CHF_NOPLAYACTIVE)
		Goto FrameC2
	FrameC2:
		TNT1 A 0 A_JumpIfInventory ("XtRevenantTracerToken", 1, 2)
		SKEL C 2 A_Chase ("Melee", "Missile", CHF_NOPLAYACTIVE)
		Goto FrameD1
		TNT1 A 0 A_TakeInventory ("XtRevenantTracerToken", 1)
		SKEL C 2 A_Chase ("Melee", "", CHF_NOPLAYACTIVE)
		Goto FrameD1
	FrameD1:
		TNT1 A 0 A_SpawnItemEx ("XtRevenantStep", 0, 0, 15)
		SKEL D 2 A_Chase ("Melee", "", CHF_NOPLAYACTIVE)
		TNT1 A 0 A_JumpIfInventory("XtRevenantTracerToken", 1, 2)
		SKEL D 2 A_Chase ("Melee", "Missile", CHF_NOPLAYACTIVE)
		Goto FrameD2
		TNT1 A 0 A_TakeInventory ("XtRevenantTracerToken", 1)
		SKEL D 2 A_Chase ("Melee", "", CHF_NOPLAYACTIVE)
		Goto FrameD2
	FrameD2:
		TNT1 A 0 A_JumpIfInventory ("XtRevenantTracerToken", 1, 2)
		SKEL D 2 A_Chase ("Melee", "Missile", CHF_NOPLAYACTIVE)
		Goto FrameE1
		TNT1 A 0 A_TakeInventory ("XtRevenantTracerToken", 1)
		SKEL D 2 A_Chase ("Melee", "", CHF_NOPLAYACTIVE)
		Goto FrameE1
	FrameE1:
		SKEL E 2 A_Chase ("Melee", "", CHF_NOPLAYACTIVE)
		TNT1 A 0 A_JumpIfInventory("XtRevenantTracerToken", 1, 2)
		SKEL E 2 A_Chase ("Melee", "Missile", CHF_NOPLAYACTIVE)
		Goto FrameE2
		TNT1 A 0 A_TakeInventory ("XtRevenantTracerToken", 1)
		SKEL E 2 A_Chase ("Melee", "", CHF_NOPLAYACTIVE)
		Goto FrameE2
	FrameE2:
		TNT1 A 0 A_JumpIfInventory ("XtRevenantTracerToken", 1, 2)
		SKEL E 2 A_Chase ("Melee", "Missile", CHF_NOPLAYACTIVE)
		Goto FrameF1
		TNT1 A 0 A_TakeInventory ("XtRevenantTracerToken", 1)
		SKEL E 2 A_Chase ("Melee", "", CHF_NOPLAYACTIVE)
		Goto FrameF1
	FrameF1:
		SKEL F 2 A_Chase ("Melee", "", CHF_NOPLAYACTIVE)
		TNT1 A 0 A_JumpIfInventory("XtRevenantTracerToken", 1, 2)
		SKEL F 2 A_Chase ("Melee", "Missile", CHF_NOPLAYACTIVE)
		Goto FrameF2
		TNT1 A 0 A_TakeInventory ("XtRevenantTracerToken", 1)
		SKEL F 2 A_Chase ("Melee", "", CHF_NOPLAYACTIVE)
		Goto FrameF2
	FrameF2:
		TNT1 A 0 A_JumpIfInventory ("XtRevenantTracerToken", 1, 3)
		SKEL F 2 A_Chase ("Melee", "Missile", CHF_NOPLAYACTIVE)
		TNT1 A 0 A_Jump (96, "ActiveSound")
		Goto Chase
		TNT1 A 0 A_TakeInventory ("XtRevenantTracerToken", 1)
		SKEL F 2 A_Chase ("Melee", "", CHF_NOPLAYACTIVE)
		TNT1 A 0 A_Jump (96, "ActiveSound")
		Goto Chase

Re: [Monster]Vore from Quake

Posted: Sun Apr 08, 2012 4:38 pm
by Z86
Brightmaps done!

With lights disabled:
Screenshot_Doom_20120409_003350.png
Vore.zip
(116.92 KiB) Downloaded 68 times

Re: [Monster]Vore from Quake

Posted: Mon Apr 09, 2012 6:45 am
by VICE
Don't know if this is intended, but I noticed that if I just barely dodge the vore's projectile and stand in place without moving, the projectile will orbit me instead of closing in. It will home in again once I've moved, though.

Re: [Monster]Vore from Quake

Posted: Mon Apr 09, 2012 8:37 am
by Ghastly
Megaherz wrote:Don't know if this is intended, but I noticed that if I just barely dodge the vore's projectile and stand in place without moving, the projectile will orbit me instead of closing in. It will home in again once I've moved, though.
Yeah, I noticed that during testing. Hilariously, it's actually easier to pull off with the Revenant's fireball, but I've actually went ahead and fixed this. It can turn a full 180 degrees, if necessary, to home in on you.

@Z86: Awesome! I'll work that in. :D

Re: [Monster]Vore from Quake

Posted: Mon Apr 09, 2012 12:22 pm
by Xtyfe
Ghastly_dragon wrote:
Megaherz wrote:Don't know if this is intended, but I noticed that if I just barely dodge the vore's projectile and stand in place without moving, the projectile will orbit me instead of closing in. It will home in again once I've moved, though.
Yeah, I noticed that during testing. Hilariously, it's actually easier to pull off with the Revenant's fireball, but I've actually went ahead and fixed this. It can turn a full 180 degrees, if necessary, to home in on you.

@Z86: Awesome! I'll work that in. :D
Speaking of which, hows that going?

Re: [Monster]Vore from Quake

Posted: Tue Apr 10, 2012 7:09 am
by Ghastly
Xtyfe wrote:Speaking of which, hows that going?
Pretty well; I think I'm about ready for another beta.

Edit: http://dl.dropbox.com/u/67411518/Vore.zip

Can't remember all the changes, but I did make the around-corner behavior a bit more reliable (it now waits two tics or so before adjusting, but checks again if it still has LOS before adjusting), added the brightmaps, messed with some delays, added +NoTarget so they won't infight (pending a +DontInfightSpecies flag, hopefully), and played around with the walking animation a bit so it has that "stop-and-go" quality it has in Quake (Vader's suggestion).

How is this new version?

Re: [Monster]Vore from Quake

Posted: Tue Apr 10, 2012 10:53 am
by Clebardman
try to crouch against him, it's glitchy :p. vore balls will just stack over your head until you change height, you can potientially force infights, etc.

i also guess you're trying to emulate his quake's behavior, but he is really REALLY slow, has a rather high painchance (attacks can be easily cancelled with a shotgun blast), doesn't deal that much damage (20 blast AoE vs 10-80 direct damage for the revenant), has no high single target damage/melee attack, and is rather big. if you take all this into account, you understand why a ~700hp fearsome boss can die to 3 imps at close range. My advice would be to give him a small buff in all those stats : pain chance, speed, and a faster attack animation to make it harder to cancel (this allows you to keep the 20 blast damage to stay closer to quake). That, or give him a 50 direct damage purple FALCOOOON... PUUUNCH ! to get rid of pesky melee opponents :p but that's not really quake-like.

the homing missile is really fun btw. if you manage to solve that crouching issue, it will be perfect ^^

Re: [Monster]Vore from Quake

Posted: Tue Apr 10, 2012 12:21 pm
by VICE
My suggestion would be to give it some sort of weak shockwave attack that pushes everything away from itself if it's possible (with A_Explode?). That way they won't be completely helpless in melee, and it will have more opportunities to use the seeking shot in close quarters, after it pushes melee aggressors away to get a breather. Plus a purple energy shockwave thingey as an alternate attack still fits with the monster's style, in my opinion.

Re: [Monster]Vore from Quake

Posted: Tue Apr 10, 2012 2:30 pm
by Clebardman
how to improve vore's concept huhu. that's what the sprites inspire me at least (and probably that delay in the attack animation you coded :p)
Image

edit : while i agree with you on a shockwave attack, i think ghastly_dragon wants to keep it as close as possible to quake's vore, at least for the bestiary. that's why i suggested lower pain chance and faster attack animation, it's nothing obvious like damage values or a new attack.
...but at the same time, all doom enemies that have a "claw" animation for fireballs also use it for a melee attack. so it would make sense to give that vore at least a simple melee attack. the decision is up to ghastly_dragon anyway ^^.

Re: [Monster]Vore from Quake

Posted: Tue Apr 10, 2012 3:25 pm
by Ghastly
Just gave it a melee attack (Immediately falls through into the Missile state :P), lowered the pain chance, increased damage (50-70 damage), and slightly lowered the delay before throwing. I think this is as powerful as I want to make this. Can't fix the problem when you crouch, unfortunately.

Here it is: http://dl.dropbox.com/u/67411518/Vore.zip