Jump to content

Photo

1x2 / 2x1 boss


  • Please log in to reply
11 replies to this topic

#1 symbiote01

symbiote01

    Doyen(ne)

  • Members
  • Real Name:Doug
  • Location:WA

Posted 30 July 2016 - 07:20 PM

Okay, I am requesting help for a boss.  Ghost.z is of course acceptable.  This one is the Iron Knuckle, from Adventures of Link.

 

So, basically this is a 2x1 enemy when moving horizontally, and a 1x2 enemy when moving vertically.  He is immune to all damage unless Link is above the Z axis (jumping), and even then only the sword works.  He will charge quickly across the screen at Link when directly in-line (like a Rope) but not stop until he gets to the other side.  The screen will have long horizontal channels (so, limited dodging ability), and boomerang switches to open places to dodge into.

 

When defeated, the Iron Knuckle spawns a blue darknut that can throw his sword (this I can make without a script)

 

Here are the graphics:

Helmed%20Horror.png

 

Any help on this would be much appreciated!


  • ywkls likes this

#2 ywkls

ywkls

    Master

  • Members

Posted 30 July 2016 - 09:24 PM

Okay, I am requesting help for a boss.  Ghost.z is of course acceptable.  This one is the Iron Knuckle, from Adventures of Link.

 

So, basically this is a 2x1 enemy when moving horizontally, and a 1x2 enemy when moving vertically.  He is immune to all damage unless Link is above the Z axis (jumping), and even then only the sword works.  He will charge quickly across the screen at Link when directly in-line (like a Rope) but not stop until he gets to the other side.  The screen will have long horizontal channels (so, limited dodging ability), and boomerang switches to open places to dodge into.

 

When defeated, the Iron Knuckle spawns a blue darknut that can throw his sword (this I can make without a script)

 

Here are the graphics:

Helmed%20Horror.png

 

Any help on this would be much appreciated!

I believe you mean this enemy...

 

https://www.youtube....h?v=WWRgsqSv_58

 

I can probably have something done on this by tomorrow, if you'll share the graphics and perhaps a miniquest with just the room in question.



#3 symbiote01

symbiote01

    Doyen(ne)

  • Members
  • Real Name:Doug
  • Location:WA

Posted 30 July 2016 - 10:26 PM

Absolutely!



#4 ywkls

ywkls

    Master

  • Members

Posted 01 August 2016 - 12:01 AM

I know I said I'd have this done today, but I got sidetracked.

 

My recommendations on the room would be to have square 2 x 2 combo size turnaround spots. (That way it doesn't look weird when the enemy's appearance changes.) Naturally, the size of the screen limits what you can do with this.

 

My thoughts on his movement are as follows:

 

Moves in a straight line until he reaches a turnaround spot, then randomly decides if he'll make that turn. If a corner, he may go back the way he came.

If he sees Link at any distance in front of him, charges that way until he reaches a wall.

 

I"m not sure exactly how accurate that the detection of Link's Z height is, but setting the defenses when he's in the air where that the sword can hurt him is simple. The question is whether you'd want for the sword to do whatever damage it normally does, half of that or a quarter of normal.

 

To start, I'll probably set his walking speed to double whenever he sees Link.

Not quite as fast as a Death Knight, but still fast.

Also, I presume that you want it to make the sound like Link's sword hits a shield whenever he's struck by anything and Link is on the ground?

 

If you want special sound effects, like a noise when he hits the wall or whenever he starts charging, those are also doable.

 

If you don't want any of these bells and whistles and just want the basic enemy as outlines above, I'd need to know that too.



#5 symbiote01

symbiote01

    Doyen(ne)

  • Members
  • Real Name:Doug
  • Location:WA

Posted 01 August 2016 - 01:04 AM

You have nailed the concept, yes.  All the bells.  All the whistles.  And I like your movement ideas.  Sounds just right.  Because he floats, he probably stops short of hitting a wall.  Come to think of it, adding a hovering bob to his movement- when paused or turning, for example- would be awesome.

 

With the basic idea that you fight him on the horse, then de-horse him and fight him again on the ground; I'm guessing about 4 hits to 'kill' this iteration, then 4 more with the sword-throwing walking version to finish the fight.  That sound about right?


Edited by symbiote01, 01 August 2016 - 01:07 AM.


#6 ywkls

ywkls

    Master

  • Members

Posted 01 August 2016 - 10:00 AM

Come to think of it, adding a hovering bob to his movement- when paused or turning, for example- would be awesome.

 

With the basic idea that you fight him on the horse, then de-horse him and fight him again on the ground; I'm guessing about 4 hits to 'kill' this iteration, then 4 more with the sword-throwing walking version to finish the fight.  That sound about right?

 

Well, to make him float and bob like that; either his hitbox would need to be larger, his sprite would need to be larger or the animation would have to change.

 

As far how many hits it takes, that depends on the boss' HP and that's something I guess you'll have to determine yourself.

 

Since you didn't specify any changes to the defenses against the sword (like half damage or quarter damage) I'll use regular damage as the base.

 

Keep in mind that I've no idea at present how that hard this boss will be to fight whenever you're facing him. It could be that the current attack pattern (only vulnerable when you're in the air) will make him a lot harder than he seems. I'll try to get something together by today, or tomorrow.



#7 cavthena

cavthena

    Apprentice

  • Members
  • Real Name:Clayton
  • Location:I wish I knew

Posted 01 August 2016 - 10:12 AM

You can make him float like you see it in Z2.

 

Set the flag GHF_NO_FALL and GHF_FAKE_Z.

 

then: do something like this in his waitframe.

(This is a snip-it from my boss, so only take what you need from it)

bool Boss3_Waitframe(ffc this, npc ghost, bool clearOnDeath, bool quitOnDeath, int wait, bool raise, bool lock)
{
	for(int frames = 0; frames < wait; frames++)
	{
		if(raise && Ghost_Z < 16)
			Ghost_Z += 0.25;
		else if(!raise && Ghost_Z > 4)
			Ghost_Z -= 0.25;
			
		if(Ghost_Z >= 16 && !lock)
			raise = false;
		else if(Ghost_Z <= 4 && !lock)
			raise = true;
			
		if(!Ghost_Waitframe(this, ghost, clearOnDeath, quitOnDeath))
		{
			Ghost_HP = 0;
			BossDeath(this, ghost, 120, 80, 145, 0, 0, 0);
		}
	}
	return raise;
}


#8 ywkls

ywkls

    Master

  • Members

Posted 01 August 2016 - 12:08 PM

That's not a bad idea... though I tend to shy away from making custom waitframes if they're not necessary. Maybe I can add that idea to my library of functions.

 

Currently working on giving the enemy a rudimentary AI, where it can choose which way to go when it reaches a corner and hasn't seen link.



#9 ywkls

ywkls

    Master

  • Members

Posted 01 August 2016 - 10:26 PM

I've got the base code for the boss, controlling it's movement and behavior done. I'm thinking that it should move in straight lines until it reaches a wall, then only go back the way it came if it can't turn a corner. If it does turn, maybe have it wait there a few seconds?
 
The current code also lets you specify what enemy spawns when the main boss dies.
 
As it is right now, I feel that having it only be vulnerable while Link is in the air really makes it too hard since the window for hitting the boss is so small. I've not defeated the current version yet myself. I'm thinking that perhaps the boss should be shielded like a darknut, where you can only attack it from the back and sides. That would be a lot easier to fight, in my opinion.
 
Anyways, here's a test quest so you can see it in action as it currently is. The code is in the buffer.
 
Rebonack
 
Once I get this all done where I can beat it, I'd like to submit it for Enemy of the Month; if you don't mind. Naturally, I'll give you credit for the idea and the graphics.



#10 symbiote01

symbiote01

    Doyen(ne)

  • Members
  • Real Name:Doug
  • Location:WA

Posted 02 August 2016 - 01:15 AM

That was brilliant!  He worked exactly as I was hoping.  The trick to damaging him is to wait to swing the sword towards the end of your jump- as you're coming down.  Facing him head-on is almost impossible, as he moves too swiftly and runs right past your jump.

 

On your map, it's possible to 'trap' him on the upper left corner if you stand in the opening below it, he'll just keep running at you indefinitely.  It makes it easy to jump, then swing late and take him out.

 

Otherwise, stand in a gap, time your jump so you're in the sweet spot as he floats by, and swing late.  He goes down in 8 hits.

 

He moves really fast when he charges- almost too fast, really.  But if you come at him from the side (so he doesn't charge) and have a little patience, it's academic.

 

Thank you so much!

 

(PS- in AoL, this boss was particularly vulnerable to the down-stab.  And once you got him off his horse, if you got him to the left edge of the screen you could repeatedly bounce off of his head and end him in short order with the down-stab.)


Edited by symbiote01, 02 August 2016 - 01:35 AM.


#11 ywkls

ywkls

    Master

  • Members

Posted 02 August 2016 - 09:19 AM

Glad you liked it. The downstab isn't availalbe in ZC yet, though there are ways to script that sort of thing.

 

Since you like the version that I did, go ahead and use that. (I presume that you've downloaded it already, since you observed how it behaved.) I'll update to the one I like for EOTM.

 

As for the enemy getting stuck, I don't suppose you can send a screenshot? That's probably an error in my logic somewhere as his programming should have prevented that. The design of the screen may be an issue too, since I just randomly threw some blocks on there to give him a more unpredictable pattern of movement.



#12 Timelord

Timelord

    The Timelord

  • Banned
  • Location:Prydon Academy

Posted 03 August 2016 - 11:21 AM

[...]


IIRC, Mitsukara made a 1x2 Ironknuckle for Calatia. She might consider uploading it to the DB, or posting it. I do not recall how linked it is to her global active script, but if her enemies are easily separated, they'd be an excellent set of new stock for PZCers.

Edited by ZoriaRPG, 03 August 2016 - 11:22 AM.

  • ywkls likes this


1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users