More scripted boss battles and areas

Post » Sat Nov 17, 2012 10:10 pm

seeing Dawnguard has triggered a few ideas in my head.

do you think it would be possible to make boss battles more "scripted", ala Jrpg? like, a boss stands still and casts spells at you, then moves once and does it again (loop)

then I also wonder if, maybe using keywords, one can use a single musical piece for a certain battle/area, looped until area is left or battle is won.

EDIT: linked to that, how about an area where battle music is either the same as background specific music or does not trigger?
User avatar
john palmer
 
Posts: 3410
Joined: Fri Jun 22, 2007 8:07 pm

Post » Sun Nov 18, 2012 2:35 am

I could be more clear, but it would mean huge spoilers for Dawnguard.
User avatar
Unstoppable Judge
 
Posts: 3337
Joined: Sat Jul 29, 2006 11:22 pm

Post » Sun Nov 18, 2012 11:22 am

Both of those things are absolutely possible. For Elemental Mastery I've already written one heavily-scripted boss fight, with a boss that teleports via projectile, uses spells with a predictable cooldown, and splits into many parts and then reassembles. During the fight it force-plays one of the lesser-used Dragon fight tracks.

The boss fight I'm working on now is going to be very much like the JRPG scene you describe: an arena that appears only after you enter an apparently open area, and a boss that moves slowly, but teleports and has fast-moving regular and magic attacks while restricting the player's movement. More like a Zelda boss than an JRPG boss, actually, but I see no reason why you couldn't write a boss exactly as you describe.
User avatar
Soku Nyorah
 
Posts: 3413
Joined: Tue Oct 17, 2006 1:25 pm

Post » Sun Nov 18, 2012 7:59 am

I got this idea with dawnguard... and I think that enemies like bosses need to be a bit diversified!
User avatar
Alessandra Botham
 
Posts: 3440
Joined: Mon Nov 13, 2006 6:27 pm

Post » Sun Nov 18, 2012 9:45 am

I haven't had time to play Dawnguard yet, but I've played a lot of games in my life and, other than dragon encounters, the bosses of Skyrim left me cold. So I'm setting out to create some better ones :)
User avatar
Ally Chimienti
 
Posts: 3409
Joined: Fri Jan 19, 2007 6:53 am

Post » Sat Nov 17, 2012 10:50 pm

Both of those things are absolutely possible. For Elemental Mastery I've already written one heavily-scripted boss fight, with a boss that teleports via projectile, uses spells with a predictable cooldown, and splits into many parts and then reassembles. During the fight it force-plays one of the lesser-used Dragon fight tracks.

The boss fight I'm working on now is going to be very much like the JRPG scene you describe: an arena that appears only after you enter an apparently open area, and a boss that moves slowly, but teleports and has fast-moving regular and magic attacks while restricting the player's movement. More like a Zelda boss than an JRPG boss, actually, but I see no reason why you couldn't write a boss exactly as you describe.
Can you explain how you forced the music track to play?

I am completely new to modding Skyrim and have never really even touched Papyrus before. My programming knowledge currently only extends to a bit of scripting in some other games and some basic Java education.

To be more specific, there is a single NPC for whom I want dragon music to play. It can either be a random track, like with dragon battles, or a specific one. I just need to know how to do it :) Is it tied to a location or the NPC?
User avatar
Steeeph
 
Posts: 3443
Joined: Wed Apr 04, 2007 8:28 am

Post » Sun Nov 18, 2012 7:06 am

it could be even better if we could add more easily music to the game!
User avatar
gandalf
 
Posts: 3400
Joined: Wed Feb 21, 2007 6:57 pm

Post » Sat Nov 17, 2012 11:18 pm

Can you explain how you forced the music track to play?

I am completely new to modding Skyrim and have never really even touched Papyrus before. My programming knowledge currently only extends to a bit of scripting in some other games and some basic Java education.

To be more specific, there is a single NPC for whom I want dragon music to play. It can either be a random track, like with dragon battles, or a specific one. I just need to know how to do it :smile: Is it tied to a location or the NPC?

Well, the absolute easiest way to do it is to give the NPC the keyword "KeywordDragon". Downside is that this makes other NPCs react to the target as though it were a dragon, screaming "DIE DRAGON!" and such. In my case, I duplicated the Dragon music tracks and changed their condition to play when an actor with KeywordGuardian has the player set as its CombatTarget (pretty much the same way the dragon music works). Then I added that keyword to all my bosses.
User avatar
sara OMAR
 
Posts: 3451
Joined: Wed Jul 05, 2006 11:18 pm

Post » Sat Nov 17, 2012 7:58 pm

Well, the absolute easiest way to do it is to give the NPC the keyword "KeywordDragon". Downside is that this makes other NPCs react to the target as though it were a dragon, screaming "DIE DRAGON!" and such. In my case, I duplicated the Dragon music tracks and changed their condition to play when an actor with KeywordGuardian has the player set as its CombatTarget (pretty much the same way the dragon music works). Then I added that keyword to all my bosses.
I followed your instructions, duplicating the tracks and changing their keyword to a new one I created. I then gave the keyword to my boss NPC. But every time I hit him, regular combat music plays. Oh well, thanks anyways. I'll try again after work.
User avatar
Elea Rossi
 
Posts: 3554
Joined: Tue Mar 27, 2007 1:39 am

Post » Sat Nov 17, 2012 11:23 pm

Ah, that was something I forgot to mention; for that to work without scripting, the enemy has to aggro on you -first-. Striking the enemy starts the standard combat music if you're not already in com bat, which seems to have priority over the dragon music tracks. Same thing happens if you sneak up on a dragon and hit it in vanilla. My Guardians are scripted encounters, so they're guaranteed to aggro first.
User avatar
Poetic Vice
 
Posts: 3440
Joined: Wed Oct 31, 2007 8:19 pm

Post » Sun Nov 18, 2012 7:29 am

Hm. Whenever I tried to make a duplicate of an existing track, it wouldn't play no matter what.

But. If I took an existing boss track and changed the conditions for a Dragon type OR (instead of AND) my new keyword, it would work. And, like you said, I had to be attacked first.

Many thanks.
User avatar
[ becca ]
 
Posts: 3514
Joined: Wed Jun 21, 2006 12:59 pm

Post » Sat Nov 17, 2012 7:52 pm

Both of those things are absolutely possible. For Elemental Mastery I've already written one heavily-scripted boss fight, with a boss that teleports via projectile, uses spells with a predictable cooldown, and splits into many parts and then reassembles. During the fight it force-plays one of the lesser-used Dragon fight tracks.

The boss fight I'm working on now is going to be very much like the JRPG scene you describe: an arena that appears only after you enter an apparently open area, and a boss that moves slowly, but teleports and has fast-moving regular and magic attacks while restricting the player's movement. More like a Zelda boss than an JRPG boss, actually, but I see no reason why you couldn't write a boss exactly as you describe.
how performance-intensive you feel those boss battles are?
User avatar
Gavin Roberts
 
Posts: 3335
Joined: Fri Jun 08, 2007 8:14 pm

Post » Sun Nov 18, 2012 1:38 am

when I mean a more scripted boss battle I mean something like this

http://www.youtube.com/watch?v=oeZn3PzevXU&hd=1

and as scripted music areas, something like the undersea palace ov Chrono Trigger, where the music nver changes. I'd post a video but I can't find a HD resolution one.
User avatar
Craig Martin
 
Posts: 3395
Joined: Wed Jun 06, 2007 4:25 pm

Post » Sat Nov 17, 2012 10:12 pm

Yeah, it's not really a big deal, but if you want more specific help then give more specific examples of what you want to do. I am sure they are not very performance intensive. The only things that get really performance intensive are complicated loops or very frequent/many updates (i.e. doing several operations 100 times per second).
User avatar
NeverStopThe
 
Posts: 3405
Joined: Tue Mar 27, 2007 11:25 pm

Post » Sat Nov 17, 2012 11:36 pm

I post because I want an opinion on whether it's possible. once I have decided what to do and which possibilities I have I'll be more specific :)
User avatar
Haley Cooper
 
Posts: 3490
Joined: Wed Jun 14, 2006 11:30 am

Post » Sun Nov 18, 2012 9:11 am

Scripted boss fights are entirely possible, they are not all that resource-intensive (although precise timing is difficult), and forcing certain music to play throughout a dungeon or boss encounter is also possible. It should also be possible to script camera-work like in the video you posted, although I haven't made an attempts to actually try that.

Right now I have one scripted encounter that takes place in a large, open space, and a second one that takes place in a cramped arena, that only closes up on you after you step into an apparently open area. Each has a script introduction sequence that essentially forces the player to take certain actions to reveal the boss. For the Fire Guardian, there is a large, smokey area which you search, while hearing the sound of a large animal always just out of sight. When you leave the area, it shows up behind you, growling, but doesn't begin attacking until you turn around and look at it. It's... pretty scary, and there's no force camera work involved ;)

For the Frost Guardian, you approach an apparently open area, only to have it quickly fill with fog. When it clears, the walls of ice surround you completely and the Guardian itself is standing on stop of one of them, looking down at you, back-lit by blue/violet auroras, before flying down to start beating on you.

As for scripting the fight itself, the results can be... impressive. Here is some of my WIP for my elemental Guardians.

The Fire Guardian battle is fast and furious. It takes place in a huge, open area, and relies on breaking him down and taking out the pieces one by one to weaken the boss himself. This video is missing a lot of the animations and transitions I've added since:
https://www.youtube.com/watch?v=sNmTlDhpc_4

The Frost Guardian battle is claustrophobic. Although he moves slowly, he does many things to impede your movement as well as draining your stamina. This in combination with cramped surroundings and his penchant for always being much closer to you than you think he is make for a continual state of near-panic during the fight (headphone users beware, I accidentally captured the wrong audio track with this one and it's LOUD):
https://www.youtube.com/watch?v=GAzNaxiRs5Q

Obviously these need a lot more polishing, but you can see where I'm going. I want boss fights the player will actually remember, instead of yet another generic dragon priest or draugr lord.
User avatar
Jessica Nash
 
Posts: 3424
Joined: Tue Dec 19, 2006 10:18 pm

Post » Sun Nov 18, 2012 12:59 am

Scripted boss fights are entirely possible, they are not all that resource-intensive (although precise timing is difficult), and forcing certain music to play throughout a dungeon or boss encounter is also possible. It should also be possible to script camera-work like in the video you posted, although I haven't made an attempts to actually try that.

Right now I have one scripted encounter that takes place in a large, open space, and a second one that takes place in a cramped arena, that only closes up on you after you step into an apparently open area. Each has a script introduction sequence that essentially forces the player to take certain actions to reveal the boss. For the Fire Guardian, there is a large, smokey area which you search, while hearing the sound of a large animal always just out of sight. When you leave the area, it shows up behind you, growling, but doesn't begin attacking until you turn around and look at it. It's... pretty scary, and there's no force camera work involved :wink:

For the Frost Guardian, you approach an apparently open area, only to have it quickly fill with fog. When it clears, the walls of ice surround you completely and the Guardian itself is standing on stop of one of them, looking down at you, back-lit by blue/violet auroras, before flying down to start beating on you.

As for scripting the fight itself, the results can be... impressive. Here is some of my WIP for my elemental Guardians.

The Fire Guardian battle is fast and furious. It takes place in a huge, open area, and relies on breaking him down and taking out the pieces one by one to weaken the boss himself. This video is missing a lot of the animations and transitions I've added since:
https://www.youtube.com/watch?v=sNmTlDhpc_4

The Frost Guardian battle is claustrophobic. Although he moves slowly, he does many things to impede your movement as well as draining your stamina. This in combination with cramped surroundings and his penchant for always being much closer to you than you think he is make for a continual state of near-panic during the fight (headphone users beware, I accidentally captured the wrong audio track with this one and it's LOUD):
https://www.youtube.com/watch?v=GAzNaxiRs5Q

Obviously these need a lot more polishing, but you can see where I'm going. I want boss fights the player will actually remember, instead of yet another generic dragon priest or draugr lord.

I am impressed. very impressed. subscribed for inspiration videos.
User avatar
Sharra Llenos
 
Posts: 3399
Joined: Wed Jan 17, 2007 1:09 pm

Post » Sun Nov 18, 2012 2:43 am

is papyrus that bad as a script?
User avatar
Taylor Tifany
 
Posts: 3555
Joined: Sun Jun 25, 2006 7:22 am

Post » Sat Nov 17, 2012 7:22 pm

another good example: castelvania/zelda boss battles.
User avatar
+++CAZZY
 
Posts: 3403
Joined: Wed Sep 13, 2006 1:04 pm

Post » Sun Nov 18, 2012 10:16 am

Zelda is where I took most of my inspiration for the Frost Guardian battle. He even has an intro sequence, of sorts. The last Castlevania game I played was 2d, though, that doesn't translate so well... What I do try to accomplish is making the boss telegraph moves before it does them. It has several massive attacks, some of which could instakill a low-HP character (like the one I test with!), but it gives you warning before using them so you can scramble out of the way. Part of what's taking me so long with this (besides only having very limited time in which to work on it) is working around animation weirdness. For example, if I force the boss to swing the club and use the Ice Spike Spread spell, sometimes its AI will decide to turn or use another attack. This cancels the club-swinging animation and there is no way to know it has been canceled, so he ends up casting the spell without warning, while facing the wrong way! http://www.gamesas.com/index.php?&app=forums&module=extras§ion=legends#

The biggest problem with this (since I'm using the Giant model and behavior) was the giant's combat idle animation, where he waves his club and yells at you at random (but frequent) intervals. This interrupted all other animation almost constantly. I finally figured out I could put a keyword check in the CombatIdle Animation Conditions, so he doesn't do CombatIdles (unless I force them) but regular Giants still do. That solved probably 90% of the animation issues, and the remaining 10% aren't frequent enough for me to obsess over. Of course, he still sometimes gets stuck walking into a wall, so I have a timer on him that causes him to teleport (with big scary animation) to the center of the arena again if he can't see the player for more than X seconds. I had to use a similar trick on my Flame Guardian, because for reasons unknown sometimes it just got stuck following the player without attacking. Only a Disable/Enable fixes it, so I had to put a check that if it's close to the player but hasn't attacked for 5 seconds, it teleports into the sky and drops meteors on you, which gives me a chance to do the Disable/Enable without interrupting the flow of the fight.

At a guess I'd say about 3/4 of the time I spend on these boss battles is working around idiosyncrasies in the AI and animation engines.

As for your earlier question about Papyrus... it's not that it's a particularly bad scripting language when used for its intended purpose. For quests and other event-driven stuff it's very powerful and flexible. But it's terrible at delivering precise timing, and the animation functions it supplies are highly unreliable. Naturally, those are what I'm using the most, so I have a lot of trouble :P
User avatar
Stephanie Nieves
 
Posts: 3407
Joined: Mon Apr 02, 2007 10:52 pm

Post » Sun Nov 18, 2012 11:06 am

brilliant man. you're very inspirational and enlightening!
User avatar
remi lasisi
 
Posts: 3307
Joined: Sun Jul 02, 2006 2:26 pm

Post » Sun Nov 18, 2012 5:42 am

I haven't had time to play Dawnguard yet, but I've played a lot of games in my life and, other than dragon encounters, the bosses of Skyrim left me cold. So I'm setting out to create some better ones :smile:
have you finished Dawnguard?
User avatar
Phoenix Draven
 
Posts: 3443
Joined: Thu Jun 29, 2006 3:50 am

Post » Sun Nov 18, 2012 12:13 am

a good example of scripted boss battle:
http://www.youtube.com/watch?v=l7PdtEcm87c&hd=1
User avatar
Brad Johnson
 
Posts: 3361
Joined: Thu May 24, 2007 7:19 pm

Post » Sun Nov 18, 2012 9:35 am

No... http://www.youtube.com/watch?v=zsWolwaJwes is a good example of a well-scripted, epic boss battle. :wink: Note the attack shift at 3:13, which also changes the method in which he may be damaged.
User avatar
Elea Rossi
 
Posts: 3554
Joined: Tue Mar 27, 2007 1:39 am

Post » Sun Nov 18, 2012 9:47 am

What makes doing this sort of fight hard in Skyrim is the fact that there's no way to drive custom animations with scripting. Even something as simple as being able to translate specific nodes of an enemy around would be a tremendous help. As it is, I have to use the existing animations and try to wrangle an attack pattern out of them while the engine fights me at every step :P
User avatar
Allison C
 
Posts: 3369
Joined: Mon Dec 18, 2006 11:02 am

Next

Return to V - Skyrim