C64 BT2: complete monster list

Any developer realated stuff
Weber G
Posts: 125
Joined: Tue Dec 15, 2020 9:58 am

Re: C64 BT2: complete monster list

Post by Weber G »

You have to use my formula from page 1 of this thread:
(byte 1D * (byte 17 +1) +1) *128
war giant:
byte 1D = 13dez
byte 1 = 2dez

(13*(2+1)+1)*128
(13*3+1)*128
(39+1)*128
40*128
= 5120
User avatar
Darendor
Posts: 1502
Joined: Wed Jan 14, 2009 1:53 am
Location: Red Deer, Alberta, Canada

Re: C64 BT2: complete monster list

Post by Darendor »

Thanks.
User avatar
Darendor
Posts: 1502
Joined: Wed Jan 14, 2009 1:53 am
Location: Red Deer, Alberta, Canada

Re: C64 BT2: complete monster list

Post by Darendor »

Weber G wrote: Sun Mar 13, 2022 1:05 pm You have to use my formula from page 1 of this thread:
(byte 1D * (byte 17 +1) +1) *128
war giant:
byte 1D = 13dez
byte 1 = 2dez

(13*(2+1)+1)*128
(13*3+1)*128
(39+1)*128
40*128
= 5120
So I managed - I think - work out the first part of the equation into ML; i.e. (byte 17+1) x byte 1D.

I use BDCD to output it onto the screen, but we're not done. We have to add 1 to it, then multiply that by 128.

Any hints?
User avatar
Darendor
Posts: 1502
Joined: Wed Jan 14, 2009 1:53 am
Location: Red Deer, Alberta, Canada

Re: C64 BT2: complete monster list

Post by Darendor »

I have concluded that I am indeed too stupid to figure this crap out.

Fuck it.
User avatar
Darendor
Posts: 1502
Joined: Wed Jan 14, 2009 1:53 am
Location: Red Deer, Alberta, Canada

Re: C64 BT2: complete monster list

Post by Darendor »

I took another crack at this project after I had an epiphany/stroke.

I discovered something rather interesting/annoying. The byte that represents a monster's starting distance/pronoun has an aberration in the space-time continuum; i.e. Lagoth Zanta.

This byte is typically represented as either, say, 10 or 11 (meaning 10' and either "him" or ""it"). Archers start at 20' (20), and so on.

However, Lagoth's byte is...05?!? The editor when translating this byte spat out a starting distance of "00'". I was less than amused.

Then it struck me. The monster roster has 18 entries - 16 monsters you can encounter randomly wandering about, and 2 monsters that are only encountered as a scripted event - the Balder Guards, and Lagoth Zanta.

Also telling is that the Balder Guard listing indicates a maximum of 8, but in their scripted appearance they appear in 2 groups of 30.

So I am wondering if the game picks from only the first 16 monsters in the roster for random encounters. Similarly, the roster for Dark Domain level 4 has a total of 20 monsters - including the 2 scripted-only monsters you encounter when rescuing the princess.
User avatar
Darendor
Posts: 1502
Joined: Wed Jan 14, 2009 1:53 am
Location: Red Deer, Alberta, Canada

Re: C64 BT2: complete monster list

Post by Darendor »

Reserved post: I will be posting all of the "scripted-only" monsters found in the game along with their vital statistics for comparison purposes.
User avatar
Darendor
Posts: 1502
Joined: Wed Jan 14, 2009 1:53 am
Location: Red Deer, Alberta, Canada

Re: C64 BT2: complete monster list

Post by Darendor »

Here's the editor in action, partially completed.

Image

I would like to be able to literally load the picture for the monster, but of course I do not know exactly how to accomplish that... :?
User avatar
Darendor
Posts: 1502
Joined: Wed Jan 14, 2009 1:53 am
Location: Red Deer, Alberta, Canada

Re: C64 BT2: complete monster list

Post by Darendor »

Two things I'm still unsure about.

a) How to derive the "run value"?

b) Where is the flag that determines whether a creature is "Monster" or "Illusion"?

With regards to illusionary monsters, I wandered Dargoth's Tower level 2 until I happend upon Miracle Mages. These guys cast the WIDR spell and that's it, so once a Red Dragon appeared I entered the monitor and displayed the stats for it (d B300):

Code: Select all

Name: Red Dragon (summoned by Miracle Mage, Dargoth 2)
Byte 10: 01
Byte 11: 00
Byte 12: 40
Byte 13: 00
Byte 14: 01
Byte 15: 02
Byte 16: 10
Byte 17: 02
Byte 18: 55
Byte 19: 55
Byte 1A: 55
Byte 1B: 56
Byte 1C: 00
Byte 1D: 18
Byte 1E: 20
Byte 1F: 51
The stats themselves don't indicate much out of the ordinary. I suppose a disassembly and examination of the file for Dargoth's Tower level 2 might reveal more, but I suspect the Red Dragon isn't included in the roster...

Edit: Sorcerers in the wilderness/cities occasionally cast the WIHE spell, which summons an illusionary "Ninja". Since the roster clearly does not contain a "Ninja" monster, I think that monsters it is probably safe to say that illusions don't need to be in a roster.

Still, that doesn't indicate where the flag might be....
User avatar
Darendor
Posts: 1502
Joined: Wed Jan 14, 2009 1:53 am
Location: Red Deer, Alberta, Canada

Re: C64 BT2: complete monster list

Post by Darendor »

I've tried to work out what byte 1D in the monster entry corresponds to, and I think I have it, except for a few bytes which don't seem to appear anywhere in the game.

A value of 00 means it uses a melee attack, and checks the byte for doing "special" damage (Psnd, -Lev, Crit, etc).

Spells are cast according to their appearance in the game manual; i.e. ARFI is 01; MAMA is 4E. 4F appears to be unused.

Breath attacks are straightforward, affecting the party regardless of distance. Bytes 50-5F.

Monsters that use a ranged attack use bytes 62 to 6F inclusive. The "type" of weapon thrown seems to be arbitrarily assigned to a given byte; e.g. 62, 67, 6A and 6C all shoot arrows; while the boomerang is exclusive to 68.

If there's some other pattern that dictates the way the ranged attack text is used, I'm not seeing it.

The damage/distance distribution is...chaotic; again, values seem to be arbitrarily assigned to a given byte.

"Mimic" refers to jumping into the party; a la Doppleganger.
"No attack" means the monster literally does SFA during combat for that action. The Princess and a couple of "wall"-type monsters are the only ones who have this set.

Code: Select all

  00 = Melee attack
  01 to 4E = relevant spell as per order of appearance in manual

  4F = ??

  50 = Breath, base dmg 8 to (base x4)		01010000
  51 = Breath, base dmg 10 to (base x4)		01010001
  52 = Breath, base dmg 12 to (base x4)		01010010
  53 = Breath, base dmg 16 to (base x4)		01010011
  54 = Breath, base dmg 24 to (base x4)		01010100
  55 = Breath, base dmg 32 to (base x4)		01010101
  56 = Breath, base dmg 48 to (base x4)		01010110
  57 = Breath, base dmg 64 to (base x4)		01010111
  58 = Breath, base dmg 96 to (base x4)		01011000
  59 = Breath, base dmg 112 to (base x4)	01011001
  5A = Breath, base dmg 128 to (base x4)	01011010
  5B = Breath, base dmg 160 to (base x4)	01011011
  5C = Breath, base dmg 192 to (base x4)	01011100
  5D = Breath, base dmg 208 to (base x4)	01011101
  5E = Breath, base dmg 224 to (base x4)	01011110
  5F = Breath, base dmg 240 to (base x4)	01011111

  60 = ??
  61 = ??

  62 = Ranged, 10', base dmg 3 to (base x4)     01100010	shoots an arrow		
  63 = Ranged, 30', base dmg 5 to (base x4)	01100011	throws a spear		
  64 = Ranged, 20', base dmg 6 to (base x4)	01100100	casts an axe			
  65 = Ranged, 20', base dmg 4 to (base x4)     01100101	hurls a shuriken	
  66 = Ranged, 30', base dmg 8 to (base x4)	01100110	throws a spear	
  67 = Ranged, 40', base dmg 9 to (base x4)     01100111	shoots an arrow	
  68 = Ranged, 50', base dmg 12 to (base x4)	01101000	throws a boomerang
  69 = Ranged, 40', base dmg 16 to (base x4)	01101001	hurls a shuriken
  6A = Ranged, 60', base dmg 24 to (base x4)	01101010	shoots an arrow
  6B = Ranged, 90', base dmg 32 to (base x4)	01101011	hurls a hammer
  6C = Ranged, 70', base dmg 40 to (base x4)	01101100	shoots an arrow
  6D = Ranged, 70', base dmg 64 to (base x4)	01101101 	casts an axe
  6E = Ranged, 80', base dmg 96 to (base x4)	01101110	throws a blade
  6F = Ranged, 80', base dmg 128 to (base x4)	01101111	throws a blade
 
  FE = Mimic					11111110
  FF = No attack				11111111
User avatar
Darendor
Posts: 1502
Joined: Wed Jan 14, 2009 1:53 am
Location: Red Deer, Alberta, Canada

Re: C64 BT2: complete monster list

Post by Darendor »

As a followup to the previous post, I've explored what all of the values for byte 1D correspond to.

4F jams the computer.... :?

60 and 61 cause the monster to...make a light. As in, using a torch. Literally. "XXXXX makes a light...", and guess what? The party's little light icon thingy lights up. :?

70 to 77 cause the monsters that correspond to figurines to appear as if summoned by spells. To wit:

Code: Select all

  71 = casts ??? " and a Molten Man appears..." [Molten Fgn]
  72 = casts ??? " and a Bulldozer appears..." [Bulldozer Fgn]
  73 = casts ??? " and a Slayer appears..." [Slayer Fgn]
  74 = casts ??? " and a Vanquisher appears..."	[Van Fgn]
  75 = casts ??? " and a Blast Dragon appears... " [Dragon Fgn]
  76 = casts ??? " and a Master Mage appears..." [Mastermage Fgn]
  77 = casts ??? " and a Herb appears..." [Herb Fgn]
78 through to F3 are repeats of various summoning spells, with the majority of them being copies of INWO for some odd reason. WIDR, WIHE, WIOG, and WIGI are in there, too. Also appearing are copies of whatever spells summon Samson, Master Mage, Spectre, and Wraith.

F4 through FD screw up the game code for some reason. Half of them give 00' for a range and garbled characters for a monster name, the other half endlessly scroll the text window.

That's that, I guess, for byte 1D. If I had to guess, I'd say 4F corresponded to another spell after MAMA but Michael Cranford removed it from the game prior to publication, for whatever reason.
User avatar
Darendor
Posts: 1502
Joined: Wed Jan 14, 2009 1:53 am
Location: Red Deer, Alberta, Canada

Re: C64 BT2: complete monster list

Post by Darendor »

I've compiled a breakdown of all of the loadable images on the Character Disk.

Code: Select all

00 = Building Exterior (orange)
01 = Building Exterior (brown)
02 = Building Exterior (blue)
03 = Building Exterior (white)
04 = Building Exterior (orange)(night)
05 = Building Exterior (brown)(night)
06 = Building Exterior (blue)(night)
07 = Building Exterior (white)(night)
08 = A. G. Exterior
09 = Garth's Exterior
0A = Tavern Exterior
0B = Temple Exterior
0C = A. G. Exterior (night)
0D = Garthe's Exterior (night)
0E = Tavern Exterior (night)
0F = Temple Exterior (night)
10 = Building Interior (red roof)
11 = Building Interior (bell tower)
12 = Building Interior (blue walls)
13 = Building Interior (attic)
14 = Barkeeper w/mug
15 = Garthe
16 = Review Board Interior
17 = Temple Interior
18 = Roscoe
19 = Bard
1A = Bedder's Exterior (night)
1B = Bedder's Interior
1C = Review Board Exterior
1D = Roscoe's Exterior (night)
1E = Treasure Pile
1F = Angel w/halo
20 = Dragon Spitting Fireball
21 = Wizard Pointing w/wand
22 = Blinking Zombie
23 = Phantom Clenching Hands
24 = Giant w/maul
25 = Skeleton
26 = Viking
27 = Ghost In Wall
28 = Vampire
29 = Red-Robed Lich
2A = Goblin w/sword
2B = Samurai Waving Sword
2C = Roscoe's Exterior
2D = Monk Waving Palm
2E = Bald Giant w/axe
2F = Stone-faced Man
30 = Blue Basilisk
31 = Casino Exterior
32 = Bedder's Exterior
33 = Sage's Exterior
34 = Golem Shedding
35 = Mage Tossing Fireball
36 = Flaming Creature
37 = Goblin Licking Lips
38 = Monk Closing Fist
39 = Mage Creating Light
3A = 2-Legged Insectoid
3B = Knight Polishing Sword
3C = Hooded Sage w/staff
3D = Female Card Dealer
3E = Wolf 'Priest'
3F = Shirtless Giant w/sword
40 = green version of 00
41 = GARBLED
42 = GARBLED
43 = City Wall (night)
44 = Tree (1)(night)
45 = Tree (2)(night)
46 = Sage's Exterior (night)
47 = Casino Exterior (night)
48 = same as 08
49 = same as 08
4A = Gate (night)
4B = Gate
4C = Destiny Knight
4D = King

Anything past 4D causes the drive to spin eternally. I think 40 was a placeholder for something else once upon a time; it's a colourshifted copy of 00.

48 and 49 are identical to 08 (the Adventurer's Guild outside, daytime). These were probably placeholders too for images that never made it into the game.

41 and 42 are corrupted, so who knows what they once were? :?


Anyways, I intend to use these descriptions of the images in my editor since I'm not elite enough to load them directly. :? :?


Edit: I appear to be missing the image for the city wall in daytime. Frig...
User avatar
Darendor
Posts: 1502
Joined: Wed Jan 14, 2009 1:53 am
Location: Red Deer, Alberta, Canada

Re: C64 BT2: complete monster list

Post by Darendor »

I discovered that FF loads a blank image; i.e. "Wall".
User avatar
Darendor
Posts: 1502
Joined: Wed Jan 14, 2009 1:53 am
Location: Red Deer, Alberta, Canada

Re: C64 BT2: complete monster list

Post by Darendor »

Some progress towards making my C64 BTII Overworld Monster Editor program...

First, the intro screen.
Image
The border is cycling through colors at warp speed, gently reminding the user to hit RETURN after they've inserted the CHARACTER disk. It even has a rudimentary error checking function.

Then, the roster file is loaded into memory and decrypted, and the first monster in the roster is displayed. He likes to hang around Tangramayne during the daytime, while during the night he hangs out with his pack of buddies in the wilderness. He likes to dress up as a priest at parties, and is known to drool constantly.
Up first is...
Image

So it's not pretty, but it's functional. The naming convention is such that there is provision for a singular suffix and a plural suffix. In this example, a singular Wolfman is "Wolfman", and plural would be "Wolfmen" (not "Wolfmans"; go back to school silly).

Once we're done inspecting Mr Wolfman, we hit F3 to move on to...
Image
Mom?? What are you doing he- oh, sorry. The Ogre is the next monster in the roster, as we can see. Notice how the program makes the pluralization distinction accurately.

Well, who's next? Why, it's...
Image
...Mr Warrior, who is constantly polishing his sword with that stupid grin on his face.

Hitting F3 once more, we come to...
Image
Hmmm...something's not quite right here. Clearly, this is the Conjurer, but he appears to be rather too buff suddenly.

Let's try F3 again...
Image
Oh dear...

Further pressings of F3 (or indeed, any key at all) did absolutely nothing.

Well, it seems I need to do some debugging.

Still, progress.


:?
User avatar
Darendor
Posts: 1502
Joined: Wed Jan 14, 2009 1:53 am
Location: Red Deer, Alberta, Canada

Re: C64 BT2: complete monster list

Post by Darendor »

I think I've isolated the problem with it hanging up after so many entries...

When it reads in the "Forest Giant" name, I neglected to account for the character that the game code uses to represent a (shifted) space in the text (i.e. A0). I think this is causing it to go haywire.

I think I have a fix for it....
User avatar
Darendor
Posts: 1502
Joined: Wed Jan 14, 2009 1:53 am
Location: Red Deer, Alberta, Canada

Re: C64 BT2: complete monster list

Post by Darendor »

And just like that, my patience level fell through the floor and I quit this project.

To ensure I never return to it, I destroyed every single file off my hard drive, including all 3 BT games.

So what did I learn? That 6502 assembly language is bullshit.

BASIC is superior in every way.
Post Reply