Profile for Kelandon

Error message

Deprecated function: implode(): Passing glue string after array is deprecated. Swap the parameters in drupal_get_feeds() (line 394 of /var/www/pied-piper.ermarian.net/includes/common.inc).

Recent posts

Pages

AuthorRecent posts
Icon Adjustment in Blades of Avernum Editor
Off With Their Heads
Member # 4045
Profile Homepage #5
I haven't played around much with lighting to know what it can and can't do, but if that is the case, then you could use a move_to_new_town (if you were really desperate to create this effect while keeping custom floors to a minimum). Otherwise you'll need two different floors and a set_floor call.

I don't know that icon adjustment CAN make something look shadowed. I guess if you darken it, it might work, but have you actually tried it to make sure that icon adjustment can do what you want it to do?

--------------------
Arancaytar: Every time you ask people to compare TM and Kel, you endanger the poor, fluffy kittens.
Smoo: Get ready to face the walls!
Ephesos: In conclusion, yarr.

Kelandon's Pink and Pretty Page!!: the authorized location for all things by me
The Archive of all released BoE scenarios ever
Posts: 7968 | Registered: Saturday, February 28 2004 08:00
Icon Adjustment in Blades of Avernum
Off With Their Heads
Member # 4045
Profile Homepage #5
I haven't played around much with lighting to know what it can and can't do, but if that is the case, then you could use a move_to_new_town (if you were really desperate to create this effect while keeping custom floors to a minimum). Otherwise you'll need two different floors and a set_floor call.

I don't know that icon adjustment CAN make something look shadowed. I guess if you darken it, it might work, but have you actually tried it to make sure that icon adjustment can do what you want it to do?

--------------------
Arancaytar: Every time you ask people to compare TM and Kel, you endanger the poor, fluffy kittens.
Smoo: Get ready to face the walls!
Ephesos: In conclusion, yarr.

Kelandon's Pink and Pretty Page!!: the authorized location for all things by me
The Archive of all released BoE scenarios ever
Posts: 7968 | Registered: Saturday, February 28 2004 08:00
skills in Blades of Avernum
Off With Their Heads
Member # 4045
Profile Homepage #23
Updated list here. Your problem comes from lack of Blademaster, probably.

--------------------
Arancaytar: Every time you ask people to compare TM and Kel, you endanger the poor, fluffy kittens.
Smoo: Get ready to face the walls!
Ephesos: In conclusion, yarr.

Kelandon's Pink and Pretty Page!!: the authorized location for all things by me
The Archive of all released BoE scenarios ever
Posts: 7968 | Registered: Saturday, February 28 2004 08:00
Sweet baby... this game is cool... in Blades of Avernum
Off With Their Heads
Member # 4045
Profile Homepage #10
The map and the view? Do you mean for BoA itself? Because if so, it's the same as every other Avernum, I think. If you mean the view in the editor, I kind of agree.

--------------------
Arancaytar: Every time you ask people to compare TM and Kel, you endanger the poor, fluffy kittens.
Smoo: Get ready to face the walls!
Ephesos: In conclusion, yarr.

Kelandon's Pink and Pretty Page!!: the authorized location for all things by me
The Archive of all released BoE scenarios ever
Posts: 7968 | Registered: Saturday, February 28 2004 08:00
Icon Adjustment in Blades of Avernum Editor
Off With Their Heads
Member # 4045
Profile Homepage #3
As far as I know, you actually need two different floors (unless you can do this with lighting, which sounds possible).

--------------------
Arancaytar: Every time you ask people to compare TM and Kel, you endanger the poor, fluffy kittens.
Smoo: Get ready to face the walls!
Ephesos: In conclusion, yarr.

Kelandon's Pink and Pretty Page!!: the authorized location for all things by me
The Archive of all released BoE scenarios ever
Posts: 7968 | Registered: Saturday, February 28 2004 08:00
Icon Adjustment in Blades of Avernum
Off With Their Heads
Member # 4045
Profile Homepage #3
As far as I know, you actually need two different floors (unless you can do this with lighting, which sounds possible).

--------------------
Arancaytar: Every time you ask people to compare TM and Kel, you endanger the poor, fluffy kittens.
Smoo: Get ready to face the walls!
Ephesos: In conclusion, yarr.

Kelandon's Pink and Pretty Page!!: the authorized location for all things by me
The Archive of all released BoE scenarios ever
Posts: 7968 | Registered: Saturday, February 28 2004 08:00
Bidding a farewell... not a good-bye in General
Off With Their Heads
Member # 4045
Profile Homepage #3
Bye, Karzoth. We never really got a chance to know each other, but I got the feeling you were one of the decent ones.

--------------------
Kelandon's Pink and Pretty Page!! (The home of BoA's HLPM, newly updated to v1.1!)

Rate my scenarios!
Northern Kingdom 0: Prologue
High Level Party Maker
Posts: 7968 | Registered: Saturday, February 28 2004 08:00
Sweet baby... this game is cool... in Blades of Avernum
Off With Their Heads
Member # 4045
Profile Homepage #5
You can see the Avernumscript codes, sure. Open up those text files in the scenarios' folders. In order to understand them, you may have to download the Scenario Editor (here) and look through the docs. You can use the Editor to look at the maps of the towns, too, and the locations of all the items and monsters. Same thing for the outdoor areas.

So yeah, basically you can see every component part of the scenarios.

--------------------
Arancaytar: Every time you ask people to compare TM and Kel, you endanger the poor, fluffy kittens.
Smoo: Get ready to face the walls!
Ephesos: In conclusion, yarr.

Kelandon's Pink and Pretty Page!!: the authorized location for all things by me
The Archive of all released BoE scenarios ever
Posts: 7968 | Registered: Saturday, February 28 2004 08:00
Icon Adjustment in Blades of Avernum Editor
Off With Their Heads
Member # 4045
Profile Homepage #1
I love icon adjustment. Any scenario I ever make will feature it to no small degree.

The icon is selected when you, well, when you select it. More specifically, it happens in your custom objects script, when you define it using fl_which_sheet and fl_which_icon. Just throw in a fl_icon_adjust next to those calls.

You can substitute one floor for another using set_floor, with one floor set to being icon adjusted and one not.

--------------------
Arancaytar: Every time you ask people to compare TM and Kel, you endanger the poor, fluffy kittens.
Smoo: Get ready to face the walls!
Ephesos: In conclusion, yarr.

Kelandon's Pink and Pretty Page!!: the authorized location for all things by me
The Archive of all released BoE scenarios ever
Posts: 7968 | Registered: Saturday, February 28 2004 08:00
Icon Adjustment in Blades of Avernum
Off With Their Heads
Member # 4045
Profile Homepage #1
I love icon adjustment. Any scenario I ever make will feature it to no small degree.

The icon is selected when you, well, when you select it. More specifically, it happens in your custom objects script, when you define it using fl_which_sheet and fl_which_icon. Just throw in a fl_icon_adjust next to those calls.

You can substitute one floor for another using set_floor, with one floor set to being icon adjusted and one not.

--------------------
Arancaytar: Every time you ask people to compare TM and Kel, you endanger the poor, fluffy kittens.
Smoo: Get ready to face the walls!
Ephesos: In conclusion, yarr.

Kelandon's Pink and Pretty Page!!: the authorized location for all things by me
The Archive of all released BoE scenarios ever
Posts: 7968 | Registered: Saturday, February 28 2004 08:00
skills in Blades of Avernum
Off With Their Heads
Member # 4045
Profile Homepage #21
Experimenting with the HLPM, I see that a specially designed level 30 char can have a decent Lethal Blow skill, but a char won't be balanced and have Lethal Blow until about level 50. No scenario has been designed yet that is supposed to bring a party up to level 50, but presumably some will be, eventually.

Most other difficult skills (like Riposte and Resistance) are at about the same level as Lethal Blow. A level 60 char could have most of the hard-to-get skills at reasonably high levels.

I don't think any of the special skills are exactly equivalent to character traits. Quick Strike and Gymnastics can substitute for Fast on Feet when working together, but you have to be a pretty high level in order to have both of those skills, and most of the scenarios right now don't go that high.

As far as I know, there is no substitute for Divinely Touched or Natural Mage. Also, some scenarios in the future may check for these abilities (like Good Education) and have different results.

This all requires a lot of speculation about what future scenarios will do, though. For the four pre-packaged, you can probably ignore Fast on Feet in favor of Quick Strike and Gymnastics without any trouble, and anything else comparable.

--------------------
Arancaytar: Every time you ask people to compare TM and Kel, you endanger the poor, fluffy kittens.
Smoo: Get ready to face the walls!
Ephesos: In conclusion, yarr.

Kelandon's Pink and Pretty Page!!: the authorized location for all things by me
The Archive of all released BoE scenarios ever
Posts: 7968 | Registered: Saturday, February 28 2004 08:00
character traits in Blades of Avernum
Off With Their Heads
Member # 4045
Profile Homepage #17
As I said in the other topic, I got this information using the Character Editor. You can also mess around with high level parties using the HLPM (download from the link in my sig). I think one of the game-opening tips mentions special skills, and they are listed on page three of the Editor Appendices. Nothing lists what skills you need in order to train in them, though, so I just mucked around with the Character Editor for a while.

I don't think there really is a perfect party. You just use what you can work with.

--------------------
Arancaytar: Every time you ask people to compare TM and Kel, you endanger the poor, fluffy kittens.
Smoo: Get ready to face the walls!
Ephesos: In conclusion, yarr.

Kelandon's Pink and Pretty Page!!: the authorized location for all things by me
The Archive of all released BoE scenarios ever
Posts: 7968 | Registered: Saturday, February 28 2004 08:00
Sweet baby... this game is cool... in Blades of Avernum
Off With Their Heads
Member # 4045
Profile Homepage #3
We've been having some discussions of parties over in this thread. I like a quartet: a pure fighter, a fighter with utility skills like tool use, a priest, and a mage. The second fighter could be an archer or an extra priest or mage, too. Other people like different party alignments, most notably singletons (1-person parties).

The hint book has decent walkthroughs, but it may not be worth it since you can just ask us or open up the scenarios and look at them.

[ Sunday, June 06, 2004 17:26: Message edited by: Kelandon ]

--------------------
Arancaytar: Every time you ask people to compare TM and Kel, you endanger the poor, fluffy kittens.
Smoo: Get ready to face the walls!
Ephesos: In conclusion, yarr.

Kelandon's Pink and Pretty Page!!: the authorized location for all things by me
The Archive of all released BoE scenarios ever
Posts: 7968 | Registered: Saturday, February 28 2004 08:00
race, class, protection stat in Blades of Avernum
Off With Their Heads
Member # 4045
Profile Homepage #11
Technically, veroth's description is of the bought value, not of the base value, at least according to Nethergate's nomenclature. And what Qualnor is describing affects the base value of Dexterity, which does not affect the base value of Tool Use, because the base value of Tool Use is, paraphrasing veroth, the bought value of Dexterity divided by two (rounded down).

I'm sure that made almost no sense, but I have a better description of base and bought over in this thread.

--------------------
Arancaytar: Every time you ask people to compare TM and Kel, you endanger the poor, fluffy kittens.
Smoo: Get ready to face the walls!
Ephesos: In conclusion, yarr.

Kelandon's Pink and Pretty Page!!: the authorized location for all things by me
The Archive of all released BoE scenarios ever
Posts: 7968 | Registered: Saturday, February 28 2004 08:00
character traits in Blades of Avernum
Off With Their Heads
Member # 4045
Profile Homepage #15
Thanks, Qualnor. I knew there were two mistakes, and I could only think of one of them. Just because it'll be nice to be able to refer to this later, this is my best understanding of the special skills:

You need bought values of these numbers or greater to be able to train in the special skills. All characters start with a bought value of 2 for Strength, Dexterity, and Intelligence, and a bought value of 3 for Endurance. Race, special traits, and related skills may increase the base value of skills without increasing the bought value. For further discussion of this, see my above post and/or play Nethergate.

Quick Strike: Dexterity 8, Melee or Pole Weapons 6
Parry: Dex 8, Defense 6
Blademaster: Melee 6, Pole 6, Strength 8
Anatomy: Intelligence 6, Melee or Pole 8
Gymnastics: Strength 8, Dex 10
Pathfinder: Int 8, Nature Lore 6 (note that base Nature Lore depends on Intelligence)
Magery: Int 10, Mage or Priest Spells 6
Resistance: Dex 10, Endurance 11, Hardiness 8
Magical Efficiency: Magery 8, End 11
Lethal Blow: Anatomy 8, Blademaster 8
Riposte: Parry 8, Blademaster 6
Sharpshooter: Dex 6, Bows or Thrown Weapons 8
Dread Curse: gained through events in the scenario
--------------
I know that the initial 2 2 2 3 is bought, not base, because a human with no traits has an Arcane Lore of 1 (INT/2) and Tool Use of 1 (DEX/2).

You can see pretty clearly the effects that race and traits have on skills using the HLPM, by the way.

--------------------
Arancaytar: Every time you ask people to compare TM and Kel, you endanger the poor, fluffy kittens.
Smoo: Get ready to face the walls!
Ephesos: In conclusion, yarr.

Kelandon's Pink and Pretty Page!!: the authorized location for all things by me
The Archive of all released BoE scenarios ever
Posts: 7968 | Registered: Saturday, February 28 2004 08:00
character traits in Blades of Avernum
Off With Their Heads
Member # 4045
Profile Homepage #9
I made a list of the special skills and the prereqs for them here, although I'm finding that this list is not entirely accurate, even beyond the idiosyncracies documented in the later posts of the thread. It's pretty close, though.

If someone wants to correct the list, feel free. I'll do it one of these days, but if someone else wants to do it, go ahead.

EDIT: Gah, I read over the remaining posts in that topic, and it's not nearly as clear as it should be. Basically, BoA keeps track of several different values for any skill: its base, its bought, and its total. (If you want to see this clearly, play Nethergate.)

The base value is influenced by the character's race -- nephils apparently get a bonus to Dexterity -- and the character's traits -- Divinely Touched adds some to the base value of Strength, Dexterity, and Intelligence.

Special skills don't care about that base; they only care about the bought value. You increase the bought by training in the skill. I don't know if the scripts add to the base or the bought. Items add to the base. The list I wrote in the other thread comes from a base of 2 for Strength, Dexterity, and Intelligence, and 3 for Endurance (ie human with no traits).

[ Sunday, June 06, 2004 09:18: Message edited by: Kelandon ]

--------------------
Arancaytar: Every time you ask people to compare TM and Kel, you endanger the poor, fluffy kittens.
Smoo: Get ready to face the walls!
Ephesos: In conclusion, yarr.

Kelandon's Pink and Pretty Page!!: the authorized location for all things by me
The Archive of all released BoE scenarios ever
Posts: 7968 | Registered: Saturday, February 28 2004 08:00
Bug in Windows BoA? Related to HLPM in Blades of Avernum
Off With Their Heads
Member # 4045
Profile Homepage #26
Drakey, have you ever had the line number be more than one line off from the actual source of the problem? I've never seen that, so I'm interested to know under what circumstances that could occur, so that I can watch for that in my own code.

--------------------
Arancaytar: Every time you ask people to compare TM and Kel, you endanger the poor, fluffy kittens.
Smoo: Get ready to face the walls!
Ephesos: In conclusion, yarr.

Kelandon's Pink and Pretty Page!!: the authorized location for all things by me
The Archive of all released BoE scenarios ever
Posts: 7968 | Registered: Saturday, February 28 2004 08:00
Article - Cut Scenes: A Tutorial in Blades of Avernum Editor
Off With Their Heads
Member # 4045
Profile Homepage #4
I should've put something in at the end that said, "This is a really incomplete list and if other people can remember others and name them, I'd be grateful."

I'll add in the one from Babysitting. I don't remember others, so if people can remember what circumstances under which they occur, mentioning that would be helpful.

--------------------
Arancaytar: Every time you ask people to compare TM and Kel, you endanger the poor, fluffy kittens.
Smoo: Get ready to face the walls!
Ephesos: In conclusion, yarr.

Kelandon's Pink and Pretty Page!!: the authorized location for all things by me
The Archive of all released BoE scenarios ever
Posts: 7968 | Registered: Saturday, February 28 2004 08:00
Article - Cut Scenes: A Tutorial in Blades of Avernum
Off With Their Heads
Member # 4045
Profile Homepage #4
I should've put something in at the end that said, "This is a really incomplete list and if other people can remember others and name them, I'd be grateful."

I'll add in the one from Babysitting. I don't remember others, so if people can remember what circumstances under which they occur, mentioning that would be helpful.

--------------------
Arancaytar: Every time you ask people to compare TM and Kel, you endanger the poor, fluffy kittens.
Smoo: Get ready to face the walls!
Ephesos: In conclusion, yarr.

Kelandon's Pink and Pretty Page!!: the authorized location for all things by me
The Archive of all released BoE scenarios ever
Posts: 7968 | Registered: Saturday, February 28 2004 08:00
Article - Cut Scenes: A Tutorial in Blades of Avernum Editor
Off With Their Heads
Member # 4045
Profile Homepage #0
Article - Cutscenes: A Tutorial
by Kelandon
An enhanced (and much more attractive) version of this article is available at my web page: http://my.sanbrunocable.com/tomwatts/public_html/home.html

BoA offers a wonderful set of calls that have no parallel in the previous Blades system: the cut scene calls. The days of Frame Animation are over! (If you don't know what I'm talking about, be glad.) In this article, I will give examples of some ways these calls (and other calls that can be useful in cut scenes) can be combined to create cool effects. I also list some of the current scenarios that have cut scenes and where you can find their code at the end of this article. The enhanced version contains many more useful lists beside this.

MOVEMENT
Making characters move is one of the most basic uses of the cut scene calls. The relocate_character call does this. The most basic movement set looks like this:
// creature 6 walks north
relocate_character(6,53,28);
force_instant_terrain_redraw();
pause(5);

relocate_character(6,53,27);
force_instant_terrain_redraw();
pause(5);
That is a character moving north. The pause(5) call is there so that the character moves at a reasonable speed. One thing that complicates movement is that a character turning looks very strange if that character doesn't face the right direction. Thus, a character going around a corner looks like this:
// creature 6 goes around corner
relocate_character(6,53,28);
force_instant_terrain_redraw();
pause(5);

relocate_character(6,52,27);
set_character_facing(6,2);
force_instant_terrain_redraw();
pause(5);
That is a character moving north and then moving west. Moving the party is different, though; while you can relocate each one of the characters individually and then call force_instant_terrain_redraw, there is a better way: the call march_party. This is the party moving north:
// party walks north
march_party(52,28);
force_instant_terrain_redraw();
pause(5);

march_party(52,27);
force_instant_terrain_redraw();
pause(5);
One advantage of march_party is that you don't need to use the call set_character_facing. It adjusts this automatically. However, most of the time, you will want the center of view to follow the party. To do that, you need to add the call force_view_center. Let's put this all together for a fun use: the party following a character.
// party follows moving creature
relocate_character(6,53,28);
march_party(52,30);
force_view_center(52,30);
force_instant_terrain_redraw();
pause(5);

relocate_character(6,53,27);
march_party(52,29);
force_view_center(52,29);
force_instant_terrain_redraw();
pause(5);
TEXT BUBBLES
A typical text bubble sequence looks like this:
// creature 6 talks
text_bubble_on_char(6,"Look! I'm talking!");
force_instant_terrain_redraw();
pause(20);

text_bubble_on_char(6,"");
text_bubble_on_char(6,"Now I'm saying something else!");
force_instant_terrain_redraw();
pause(20);

text_bubble_on_char(6,"");
force_instant_terrain_redraw();
pause(5);
I love text bubbles, because it's easy to skim over dialog boxes and miss things, but the player will almost certainly read every word of a text bubble. A few notes:
1. The first line of the second set of calls, text_bubble_on_char(6,""); , removes the first text bubble from the character. Without this, the second text bubble will not appear.
2. The pause amount is variable. If your bubble is short ("Yes!" or "No!" or something of that nature), you might reduce it to 15. If your bubble is long or weighty, you can increase this to as much as 25 or possibly even 30. For most uses, though, 20 is good.

I have done one slightly complicated thing with text bubbles. That is to use them on a moving character. Thus, to combine with a topic from above, here is some actual code from my scenario:
// run while talking
text_bubble_on_char(6,"I am sure you are wondering");
relocate_character(6,33,13);
march_party(35,13);
force_view_center(35,13);
force_instant_terrain_redraw();
pause(5);

relocate_character(6,32,13);
march_party(34,13);
force_view_center(34,13);
force_instant_terrain_redraw();
pause(5);

relocate_character(6,31,13);
march_party(33,13);
force_view_center(33,13);
force_instant_terrain_redraw();
pause(5);

text_bubble_on_char(6,"");
text_bubble_on_char(6,"what is going on.");
relocate_character(6,30,14);
set_character_facing(6,4);
march_party(32,13);
force_view_center(32,13);
force_instant_terrain_redraw();
pause(5);

relocate_character(6,30,15);
march_party(31,13);
force_view_center(31,13);
force_instant_terrain_redraw();
pause(5);

relocate_character(6,30,16);
march_party(30,14);
force_view_center(30,14);
force_instant_terrain_redraw();
pause(5);
The key here is that each step pauses for 5, so the bubbles show up for 15 each. At this point in the story, the characters are rushing along, so the quick speech (pauses for 15 only) increases the sense of urgency. For a more leisurely stroll, pauses of 8 between each step would convey a slower, more relaxed pace, both in the walking and in the conversation.

Drakefyre pointed out another good trick for text bubbles, which is that you can put them on invisible characters. That can simulate the effect in the beginning of A3 of having text appear at the top of the screen as part of the narrative. You could in theory use invisible characters to extend your test bubbles further to the left and right, and even add new lines, although I haven't done this personally, and I imagine that it would take a lot of experimentation to get everything placed properly.

ON SETTING THINGS UP VS. MAKING THEM ACTUALLY HAPPEN
Most of the calls you will use for cut scenes actually do nothing. The call force_view_center does nothing by itself, for example. The three (and a half) key calls are force_instant_terrain_redraw, run_dialog, and run_animation (with run_animation_sound, which is basically the same thing). All calls, with a few exceptions noted below, require at least one of these calls before they have any effect. The call force_instant_terrain_redraw makes all changes in appearance and location happen, like those caused by set_character_facing and text_bubble_on_char. The calls run_animation and run_animation_sound redraw the terrain and also make all special effects (booms, effects, zaps, and sparkles) run on the screen. The call run_dialog makes the dialog set up by dialog calls actually show up on the screen.

The Blades Appendices have a pretty good tutorial on how dialogs work, so I won't repeat that here. Instead, let's move on to an interesting application of all of the above, combined with animations and some new ideas.

COMBAT: SETUP
One of the most fun things to do with cut scenes is to show a battle scene. This is by far the most difficult thing to do. The first basic step is to put all the NPCs into combat poses. In large battles, I do that with a While call, which looks like this:
// begin battle
i = 32;
while (i <= 64)
{set_character_pose(i,2);
i = i + 1; }
play_sound(18);
force_instant_terrain_redraw();
This sets every creature from 32 to 64 inclusive to look as though it is in combat. Obviously if your creatures range from 16 to 36, you'll put different numbers in those positions. The play_sound call is optional; it plays the sound that BoA plays when the party goes into combat mode. If the battle is already going on and you want to set the creatures into combat mode before you set the view on the battle, then remove the sound. Otherwise, it's probably best to keep it in.

COMBAT: MELEE ATTACKS AND SPELLS
Now these creatures have to attack each other. I do a simple melee attack like this:
// creature 87 attacks creature 33 in melee
set_character_pose(87,1);
put_effect_on_char(33,12,1,2);
run_animation_sound(71);

set_character_pose(87,2);
force_instant_terrain_redraw();
pause(5);
The sound you need for the attack may vary.

Creatures can also cast spells in battle. This can work in a variety of ways, but I like to use straight or jagged zaps for a strong visual effect. I do that like this:
// creature 62 casts an imitation Lightning Spray on creatures 34, 40, and 87
set_character_pose(62,1);
put_jagged_zap(56,46,54,45,4);
put_boom_on_char(87,6,0);
put_jagged_zap(56,46,50,46,4);
put_boom_on_char(34,6,0);
put_jagged_zap(56,46,50,44,4);
put_boom_on_char(40,6,0);
run_animation_sound(54);
set_character_pose(62,2);
force_instant_terrain_redraw();
This form of spellcasting is work-intensive, because it requires that you know the creature number AND exact coordinates of each spell victim. In a battle with lots of movement, this can be difficult. I draw out what the battle looks like every few turns on a sheet of graph paper in order to keep track.

Unfortunately, as of v1.1, there is no way to have characters simulate firing missiles in cut scenes. BoA lacks a missile animation call.

COMBAT: DEATH
Finally, after all this damage, someone has to die. This is the easiest part. It looks like this:
// creature 41 dies
kill_char(41,2,0);
Occasionally you will just want a character to vanish. That looks like this:
// creature 6 vanishes
erase_char(6);
The different between kill_char and erase_char is that kill_char plays the death animation and erase_char does not. (Note that neither of these calls requires force_instant_terrain_redraw or run_animation; they happen as soon as they are called.) Another use for erase_char: a creature teleporting away. That looks like this:
// creature 6 teleports out of sight
put_boom_on_char(6,2,0);
run_animation_sound(10);
erase_char(6);
COMBAT: PLACING MONSTERS
One of the trickiest parts of combat involves putting creatures in places where they weren't originally. This can be done for two main reasons: to simulate summoning or to use characters that aren't actually in the town when the party comes through. Either way, what makes this difficult is knowing the creatures' numbers. First, summoning a creature looks like this:
// creature 63 summons a monster of type 100, number 86
set_character_pose(63,1);
put_straight_zap(56,42,49,44,4);
put_boom_on_space(49,44,2,0);
place_monster(49,44,100,0);
set_character_facing(86,6);
set_character_pose(86,2);
run_animation_sound(25);
set_character_pose(63,2);
force_instant_terrain_redraw();
Before the creature will appear, you need to redraw the terrain. Generally you will want to do this anyway, because for virtually every creature you place, you will want to set it facing a particular direction. This call requires you to know the creatures' numbers. For placed creatures (anything placed by place_monster), I usually know their numbers just by counting. The first one I place is number 86; the second one is 87, and so on. However, if there are other summoned monsters in the same town that may or may not have been summoned yet, this can get tricky. At the beginning of your cut scene, you may want to run this bit of code:
// check how many summoned creatures there are
i = 86;
while (char_ok(i))
{i = i + 1 }
The final value of i will tell you the highest consecutive number of summoned creatures, so the creature number of your next summoned creature will be i + 1.

What makes battles complicated is that you can have placed creatures that you want to move around, to say things in text bubbles, and to attack. Therefore you have to have a good grasp of all of the topics above. All I can really say to help is that good notes are critical for large, complex battle scenes. Keeping all this information in your head is almost impossible.

A FINAL WORD ON CUT SCENES
A word of warning: too many cut scenes or ill-placed ones will disrupt the flow of a scenario. There are powerful, but they should be used sparingly.

They are also long, containing more lines of code than just about anything else. Even short cut scenes, such as the one that Jeff has in VoDT (t1Sweetgrove.txt, state 27, if you want to take a look) have a lot of code. You can just copy and paste most of the calls and change one or two of the parameters, though, so they are not nearly as hard as their size might indicate. They also look really cool, and they can add drama to your scenario. Whenever I have a long history to tell, rather than giving enormous chunks of text that can be tedious to read, I use cut scenes to SHOW the player what happened. They are attention-grabbers.

So keep coding, and eventually you'll have a great cut scene!

REFERENCES: CUT SCENES IN SCENARIOS:
Valley of Dying Things, t1Sweetgrove.txt, state 27
Valley of Dying Things, t10Major Wast.txt, state 26 (short)
A Small Rebellion, t6Zaskiva, state 27
A Small Rebellion, t17Stalker s .txt, state 47
A Small Rebellion, t20Jaen s Hea.txt, state 45 (short)
Roses of Reckoning, t0Ashton.txt, state 18
Roses of Reckoning, t2Cemetary.txt, state 10
Roses of Reckoning, t4Manor.txt, state 23
Babysitting, t1valnight.txt, state INIT_STATE (short)
Babysitting, t3lair.txt, state 17

[ Monday, June 28, 2004 14:14: Message edited by: Kelandon ]

--------------------
Arancaytar: Every time you ask people to compare TM and Kel, you endanger the poor, fluffy kittens.
Smoo: Get ready to face the walls!
Ephesos: In conclusion, yarr.

Kelandon's Pink and Pretty Page!!: the authorized location for all things by me
The Archive of all released BoE scenarios ever
Posts: 7968 | Registered: Saturday, February 28 2004 08:00
Article - Cut Scenes: A Tutorial in Blades of Avernum
Off With Their Heads
Member # 4045
Profile Homepage #0
Article - Cutscenes: A Tutorial
by Kelandon
An enhanced (and much more attractive) version of this article is available at my web page: http://my.sanbrunocable.com/tomwatts/public_html/home.html

BoA offers a wonderful set of calls that have no parallel in the previous Blades system: the cut scene calls. The days of Frame Animation are over! (If you don't know what I'm talking about, be glad.) In this article, I will give examples of some ways these calls (and other calls that can be useful in cut scenes) can be combined to create cool effects. I also list some of the current scenarios that have cut scenes and where you can find their code at the end of this article. The enhanced version contains many more useful lists beside this.

MOVEMENT
Making characters move is one of the most basic uses of the cut scene calls. The relocate_character call does this. The most basic movement set looks like this:
// creature 6 walks north
relocate_character(6,53,28);
force_instant_terrain_redraw();
pause(5);

relocate_character(6,53,27);
force_instant_terrain_redraw();
pause(5);
That is a character moving north. The pause(5) call is there so that the character moves at a reasonable speed. One thing that complicates movement is that a character turning looks very strange if that character doesn't face the right direction. Thus, a character going around a corner looks like this:
// creature 6 goes around corner
relocate_character(6,53,28);
force_instant_terrain_redraw();
pause(5);

relocate_character(6,52,27);
set_character_facing(6,2);
force_instant_terrain_redraw();
pause(5);
That is a character moving north and then moving west. Moving the party is different, though; while you can relocate each one of the characters individually and then call force_instant_terrain_redraw, there is a better way: the call march_party. This is the party moving north:
// party walks north
march_party(52,28);
force_instant_terrain_redraw();
pause(5);

march_party(52,27);
force_instant_terrain_redraw();
pause(5);
One advantage of march_party is that you don't need to use the call set_character_facing. It adjusts this automatically. However, most of the time, you will want the center of view to follow the party. To do that, you need to add the call force_view_center. Let's put this all together for a fun use: the party following a character.
// party follows moving creature
relocate_character(6,53,28);
march_party(52,30);
force_view_center(52,30);
force_instant_terrain_redraw();
pause(5);

relocate_character(6,53,27);
march_party(52,29);
force_view_center(52,29);
force_instant_terrain_redraw();
pause(5);
TEXT BUBBLES
A typical text bubble sequence looks like this:
// creature 6 talks
text_bubble_on_char(6,"Look! I'm talking!");
force_instant_terrain_redraw();
pause(20);

text_bubble_on_char(6,"");
text_bubble_on_char(6,"Now I'm saying something else!");
force_instant_terrain_redraw();
pause(20);

text_bubble_on_char(6,"");
force_instant_terrain_redraw();
pause(5);
I love text bubbles, because it's easy to skim over dialog boxes and miss things, but the player will almost certainly read every word of a text bubble. A few notes:
1. The first line of the second set of calls, text_bubble_on_char(6,""); , removes the first text bubble from the character. Without this, the second text bubble will not appear.
2. The pause amount is variable. If your bubble is short ("Yes!" or "No!" or something of that nature), you might reduce it to 15. If your bubble is long or weighty, you can increase this to as much as 25 or possibly even 30. For most uses, though, 20 is good.

I have done one slightly complicated thing with text bubbles. That is to use them on a moving character. Thus, to combine with a topic from above, here is some actual code from my scenario:
// run while talking
text_bubble_on_char(6,"I am sure you are wondering");
relocate_character(6,33,13);
march_party(35,13);
force_view_center(35,13);
force_instant_terrain_redraw();
pause(5);

relocate_character(6,32,13);
march_party(34,13);
force_view_center(34,13);
force_instant_terrain_redraw();
pause(5);

relocate_character(6,31,13);
march_party(33,13);
force_view_center(33,13);
force_instant_terrain_redraw();
pause(5);

text_bubble_on_char(6,"");
text_bubble_on_char(6,"what is going on.");
relocate_character(6,30,14);
set_character_facing(6,4);
march_party(32,13);
force_view_center(32,13);
force_instant_terrain_redraw();
pause(5);

relocate_character(6,30,15);
march_party(31,13);
force_view_center(31,13);
force_instant_terrain_redraw();
pause(5);

relocate_character(6,30,16);
march_party(30,14);
force_view_center(30,14);
force_instant_terrain_redraw();
pause(5);
The key here is that each step pauses for 5, so the bubbles show up for 15 each. At this point in the story, the characters are rushing along, so the quick speech (pauses for 15 only) increases the sense of urgency. For a more leisurely stroll, pauses of 8 between each step would convey a slower, more relaxed pace, both in the walking and in the conversation.

Drakefyre pointed out another good trick for text bubbles, which is that you can put them on invisible characters. That can simulate the effect in the beginning of A3 of having text appear at the top of the screen as part of the narrative. You could in theory use invisible characters to extend your test bubbles further to the left and right, and even add new lines, although I haven't done this personally, and I imagine that it would take a lot of experimentation to get everything placed properly.

ON SETTING THINGS UP VS. MAKING THEM ACTUALLY HAPPEN
Most of the calls you will use for cut scenes actually do nothing. The call force_view_center does nothing by itself, for example. The three (and a half) key calls are force_instant_terrain_redraw, run_dialog, and run_animation (with run_animation_sound, which is basically the same thing). All calls, with a few exceptions noted below, require at least one of these calls before they have any effect. The call force_instant_terrain_redraw makes all changes in appearance and location happen, like those caused by set_character_facing and text_bubble_on_char. The calls run_animation and run_animation_sound redraw the terrain and also make all special effects (booms, effects, zaps, and sparkles) run on the screen. The call run_dialog makes the dialog set up by dialog calls actually show up on the screen.

The Blades Appendices have a pretty good tutorial on how dialogs work, so I won't repeat that here. Instead, let's move on to an interesting application of all of the above, combined with animations and some new ideas.

COMBAT: SETUP
One of the most fun things to do with cut scenes is to show a battle scene. This is by far the most difficult thing to do. The first basic step is to put all the NPCs into combat poses. In large battles, I do that with a While call, which looks like this:
// begin battle
i = 32;
while (i <= 64)
{set_character_pose(i,2);
i = i + 1; }
play_sound(18);
force_instant_terrain_redraw();
This sets every creature from 32 to 64 inclusive to look as though it is in combat. Obviously if your creatures range from 16 to 36, you'll put different numbers in those positions. The play_sound call is optional; it plays the sound that BoA plays when the party goes into combat mode. If the battle is already going on and you want to set the creatures into combat mode before you set the view on the battle, then remove the sound. Otherwise, it's probably best to keep it in.

COMBAT: MELEE ATTACKS AND SPELLS
Now these creatures have to attack each other. I do a simple melee attack like this:
// creature 87 attacks creature 33 in melee
set_character_pose(87,1);
put_effect_on_char(33,12,1,2);
run_animation_sound(71);

set_character_pose(87,2);
force_instant_terrain_redraw();
pause(5);
The sound you need for the attack may vary.

Creatures can also cast spells in battle. This can work in a variety of ways, but I like to use straight or jagged zaps for a strong visual effect. I do that like this:
// creature 62 casts an imitation Lightning Spray on creatures 34, 40, and 87
set_character_pose(62,1);
put_jagged_zap(56,46,54,45,4);
put_boom_on_char(87,6,0);
put_jagged_zap(56,46,50,46,4);
put_boom_on_char(34,6,0);
put_jagged_zap(56,46,50,44,4);
put_boom_on_char(40,6,0);
run_animation_sound(54);
set_character_pose(62,2);
force_instant_terrain_redraw();
This form of spellcasting is work-intensive, because it requires that you know the creature number AND exact coordinates of each spell victim. In a battle with lots of movement, this can be difficult. I draw out what the battle looks like every few turns on a sheet of graph paper in order to keep track.

Unfortunately, as of v1.1, there is no way to have characters simulate firing missiles in cut scenes. BoA lacks a missile animation call.

COMBAT: DEATH
Finally, after all this damage, someone has to die. This is the easiest part. It looks like this:
// creature 41 dies
kill_char(41,2,0);
Occasionally you will just want a character to vanish. That looks like this:
// creature 6 vanishes
erase_char(6);
The different between kill_char and erase_char is that kill_char plays the death animation and erase_char does not. (Note that neither of these calls requires force_instant_terrain_redraw or run_animation; they happen as soon as they are called.) Another use for erase_char: a creature teleporting away. That looks like this:
// creature 6 teleports out of sight
put_boom_on_char(6,2,0);
run_animation_sound(10);
erase_char(6);
COMBAT: PLACING MONSTERS
One of the trickiest parts of combat involves putting creatures in places where they weren't originally. This can be done for two main reasons: to simulate summoning or to use characters that aren't actually in the town when the party comes through. Either way, what makes this difficult is knowing the creatures' numbers. First, summoning a creature looks like this:
// creature 63 summons a monster of type 100, number 86
set_character_pose(63,1);
put_straight_zap(56,42,49,44,4);
put_boom_on_space(49,44,2,0);
place_monster(49,44,100,0);
set_character_facing(86,6);
set_character_pose(86,2);
run_animation_sound(25);
set_character_pose(63,2);
force_instant_terrain_redraw();
Before the creature will appear, you need to redraw the terrain. Generally you will want to do this anyway, because for virtually every creature you place, you will want to set it facing a particular direction. This call requires you to know the creatures' numbers. For placed creatures (anything placed by place_monster), I usually know their numbers just by counting. The first one I place is number 86; the second one is 87, and so on. However, if there are other summoned monsters in the same town that may or may not have been summoned yet, this can get tricky. At the beginning of your cut scene, you may want to run this bit of code:
// check how many summoned creatures there are
i = 86;
while (char_ok(i))
{i = i + 1 }
The final value of i will tell you the highest consecutive number of summoned creatures, so the creature number of your next summoned creature will be i + 1.

What makes battles complicated is that you can have placed creatures that you want to move around, to say things in text bubbles, and to attack. Therefore you have to have a good grasp of all of the topics above. All I can really say to help is that good notes are critical for large, complex battle scenes. Keeping all this information in your head is almost impossible.

A FINAL WORD ON CUT SCENES
A word of warning: too many cut scenes or ill-placed ones will disrupt the flow of a scenario. There are powerful, but they should be used sparingly.

They are also long, containing more lines of code than just about anything else. Even short cut scenes, such as the one that Jeff has in VoDT (t1Sweetgrove.txt, state 27, if you want to take a look) have a lot of code. You can just copy and paste most of the calls and change one or two of the parameters, though, so they are not nearly as hard as their size might indicate. They also look really cool, and they can add drama to your scenario. Whenever I have a long history to tell, rather than giving enormous chunks of text that can be tedious to read, I use cut scenes to SHOW the player what happened. They are attention-grabbers.

So keep coding, and eventually you'll have a great cut scene!

REFERENCES: CUT SCENES IN SCENARIOS:
Valley of Dying Things, t1Sweetgrove.txt, state 27
Valley of Dying Things, t10Major Wast.txt, state 26 (short)
A Small Rebellion, t6Zaskiva, state 27
A Small Rebellion, t17Stalker s .txt, state 47
A Small Rebellion, t20Jaen s Hea.txt, state 45 (short)
Roses of Reckoning, t0Ashton.txt, state 18
Roses of Reckoning, t2Cemetary.txt, state 10
Roses of Reckoning, t4Manor.txt, state 23
Babysitting, t1valnight.txt, state INIT_STATE (short)
Babysitting, t3lair.txt, state 17

[ Monday, June 28, 2004 14:14: Message edited by: Kelandon ]

--------------------
Arancaytar: Every time you ask people to compare TM and Kel, you endanger the poor, fluffy kittens.
Smoo: Get ready to face the walls!
Ephesos: In conclusion, yarr.

Kelandon's Pink and Pretty Page!!: the authorized location for all things by me
The Archive of all released BoE scenarios ever
Posts: 7968 | Registered: Saturday, February 28 2004 08:00
Bug in Windows BoA? Related to HLPM in Blades of Avernum
Off With Their Heads
Member # 4045
Profile Homepage #20
Wow, having mucked around with this program for a bit, I can say it's really good. It will save me some serious time. It does text document line numbers correctly, which Word doesn't.

I do think it would help if BoA printed the line that it thinks is the problem, but this is the next best thing.

--------------------
Arancaytar: Every time you ask people to compare TM and Kel, you endanger the poor, fluffy kittens.
Smoo: Get ready to face the walls!
Ephesos: In conclusion, yarr.

Kelandon's Pink and Pretty Page!!: the authorized location for all things by me
The Archive of all released BoE scenarios ever
Posts: 7968 | Registered: Saturday, February 28 2004 08:00
Bug in Windows BoA? Related to HLPM in Blades of Avernum
Off With Their Heads
Member # 4045
Profile Homepage #18
Um, I assume you know that BBEdit Lite is no longer available, according to the link you just gave.

(EDIT: Yes, Thuryl's right. I was looking for a place to download it and couldn't find it, but there it is.)

I haven't had a problem with BoA giving a line number that was terribly far away from the line that was causing the problem (although frequently the error "Bad term in expression" gives the line number after the problem expression), but for a number of reasons, it would be far easier to debug if BoA would just print the line that is causing the problem.

The reason that I bring this up is that it seems like it would be fairly easy to program.

[ Saturday, June 05, 2004 20:39: Message edited by: Kelandon ]

--------------------
Arancaytar: Every time you ask people to compare TM and Kel, you endanger the poor, fluffy kittens.
Smoo: Get ready to face the walls!
Ephesos: In conclusion, yarr.

Kelandon's Pink and Pretty Page!!: the authorized location for all things by me
The Archive of all released BoE scenarios ever
Posts: 7968 | Registered: Saturday, February 28 2004 08:00
Bug in Windows BoA? Related to HLPM in Blades of Avernum
Off With Their Heads
Member # 4045
Profile Homepage #15
Flamefiend, namely what program? Word doesn't do it correctly, so I don't have much faith in anything. Also I have a Mac, so I'm normally using TextEdit, which to the best of my knowledge doesn't do that.

And Nasarius, the "test often" approach doesn't usually matter. I can narrow it down to one set of calls and then test until I'm blue in the face only to find out that I'm testing the wrong line. I'm learning debug techniques, but it is painfully slow and hard.

Btw Flamefiend, have I mentioned that we've met before? You were my beta tester back in the day. Check my website if you don't know what I'm talking about.

[ Saturday, June 05, 2004 17:25: Message edited by: Kelandon ]

--------------------
Arancaytar: Every time you ask people to compare TM and Kel, you endanger the poor, fluffy kittens.
Smoo: Get ready to face the walls!
Ephesos: In conclusion, yarr.

Kelandon's Pink and Pretty Page!!: the authorized location for all things by me
The Archive of all released BoE scenarios ever
Posts: 7968 | Registered: Saturday, February 28 2004 08:00
Things that work in Blades of Avernum Editor
Off With Their Heads
Member # 4045
Profile Homepage #9
*smacks forehead*

Duh. My bad. I think the limit is 24000, but I haven't done more testing and don't have time right now.

EDIT: Or possibly 16000... are you (Isaac) sure that it counts the "while" over and over again? Perhaps you should detail what testing you did.

EDIT 2: And actually, Khoth, I ran up against that limit already. The HLPM sets up shops specific to each level, and it ranges from level 5 to 100 (plus god). That means in one state, I put in enough calls to set up sixteen separate shops in twenty-one different ways, plus a series of dialog choices to indicate which of the twenty-one choices you wanted. This overloaded the system and I had to shorten it by setting up some of the shops differently.

And if I hit the limit already, I imagine real programmers will be hitting this limit from time to time.

[ Saturday, June 05, 2004 13:55: Message edited by: Kelandon ]

--------------------
Arancaytar: Every time you ask people to compare TM and Kel, you endanger the poor, fluffy kittens.
Smoo: Get ready to face the walls!
Ephesos: In conclusion, yarr.

Kelandon's Pink and Pretty Page!!: the authorized location for all things by me
The Archive of all released BoE scenarios ever
Posts: 7968 | Registered: Saturday, February 28 2004 08:00

Pages