[Monster]Vore from Quake

Sprites, textures, sounds, code, and other resources belong here. Share and share-alike!
Forum rules
Before posting your Resource, please make sure you can answer YES to any of the following questions:
  • Is the resource ENTIRELY my own work?
  • If no to the previous one, do I have permission from the original author?
  • If no to the previous one, did I put a reasonable amount of work into the resource myself, such that the changes are noticeably different from the source that I could take credit for them?
If you answered no to all three, maybe you should consider taking your stuff somewhere other than the Resources forum.

Consult the Resource/Request Posting Guidelines for more information.

Please don't put requests here! They have their own forum --> here. Thank you!
User avatar
Captain Awesome
Posts: 580
Joined: Sun Aug 09, 2009 2:17 pm
Location: U.S.A.

Re: [Monster]Vore from Quake

Post by Captain Awesome »

Image

This is great.
User avatar
.+:icytux:+.
Posts: 2659
Joined: Thu May 17, 2007 1:53 am
Location: Finland

Re: [Monster]Vore from Quake

Post 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
User avatar
Snarboo
Posts: 2598
Joined: Tue Nov 29, 2005 4:37 am

Re: [Monster]Vore from Quake

Post 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!
User avatar
NeuralStunner
 
 
Posts: 12298
Joined: Tue Jul 21, 2009 12:04 pm
Graphics Processor: nVidia (Modern GZDoom)
Location: capital N, capital S, no space

Re: [Monster]Vore from Quake

Post 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
User avatar
Snarboo
Posts: 2598
Joined: Tue Nov 29, 2005 4:37 am

Re: [Monster]Vore from Quake

Post 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
User avatar
Xtyfe
Posts: 1470
Joined: Fri Dec 14, 2007 6:29 pm
Graphics Processor: nVidia with Vulkan support

Re: [Monster]Vore from Quake

Post 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
User avatar
Z86
Posts: 101
Joined: Mon Jan 24, 2011 5:22 pm

Re: [Monster]Vore from Quake

Post by Z86 »

Brightmaps done!

With lights disabled:
Screenshot_Doom_20120409_003350.png
Vore.zip
You do not have the required permissions to view the files attached to this post.
User avatar
VICE
Posts: 401
Joined: Wed Mar 28, 2012 4:03 am
Location: Israel

Re: [Monster]Vore from Quake

Post 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.
User avatar
Ghastly
Spotlight Team
Posts: 6109
Joined: Fri Jul 06, 2007 2:34 pm

Re: [Monster]Vore from Quake

Post 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
User avatar
Xtyfe
Posts: 1470
Joined: Fri Dec 14, 2007 6:29 pm
Graphics Processor: nVidia with Vulkan support

Re: [Monster]Vore from Quake

Post 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?
User avatar
Ghastly
Spotlight Team
Posts: 6109
Joined: Fri Jul 06, 2007 2:34 pm

Re: [Monster]Vore from Quake

Post 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?
Clebardman
Posts: 49
Joined: Sun Apr 26, 2009 11:48 am
Location: France

Re: [Monster]Vore from Quake

Post 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 ^^
User avatar
VICE
Posts: 401
Joined: Wed Mar 28, 2012 4:03 am
Location: Israel

Re: [Monster]Vore from Quake

Post 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.
Clebardman
Posts: 49
Joined: Sun Apr 26, 2009 11:48 am
Location: France

Re: [Monster]Vore from Quake

Post 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 ^^.
User avatar
Ghastly
Spotlight Team
Posts: 6109
Joined: Fri Jul 06, 2007 2:34 pm

Re: [Monster]Vore from Quake

Post 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
Last edited by Ghastly on Wed Apr 11, 2012 7:32 pm, edited 2 times in total.

Return to “Resources”