øAslickproductions.org/forum/index.php?PHPSESSID=b2phq0ehqc7umand281jipqej2&topic=1974.15e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index7220-2.htmlslickproductions.org/forum/index.php?board=13.140e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index7220-2.html.zx§2g^ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈ ,/|ÖOKtext/htmlISO-8859-1gzip0|Ö|ÖÿÿÿÿÿÿÿÿTue, 10 Mar 2020 06:41:02 GMT0ó°° ®0®P®€§²ð®§2g^ÿÿÿÿÿÿÿÿ™%|Ö Spare NPC's

Author Topic: Spare NPC's  (Read 2965 times)

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: Spare NPC's
« Reply #15 on: December 18, 2014, 11:05:36 AM »
The one thing that never changed was my hunting them - I always went around looking for them (like constantly) trying to pick fights. How 'bout you guys. That'd be an interesting mechanic to build into FF4. It seems easy enough to put any given character as an opponent in battle. I actually played around with a fight against Cecil, Kain and Rosa. Two notes about that: 1) Jump as an enemy command seems to imply "everyone jump" - or something similar, it was causing issues with more than one character enemy (clearly meant for solo opponents only) and 2) I remember having a spot of trouble with the optimal formation for multiple character enemies - I think it has something to do with how they lined up vertically: I recall that it worked pretty well when they were all staggered.  -- Now, where did I actually put that file...  :hmm:


 :edit:  - I just noticed I didn't even upload the right pic! It was one line too late  :blush: - oh well, all better!  :laugh:
Interesting notes on Enemy skills, I was not aware it meant "everyone jump" I did try that a long time ago as a test on an Eagle and when they jumped they all came back down into the shape of Odin, bizarrely enough.

Yes, the game only takes basic animations into account while fighting characters and those animations are Attack (with the DeathBringer graphic, at All Times) and Special Graphic, used by Kain, Dark Knight, and Yang.

For a long time I've been considering an Ancient Cave-esque hack for FFIV but... FFIV's system is nowhere near as robust as FFV's wonderful setup as far as the game flow goes. FFV has 23 Job Classes, and 110 learnable spells, with over 40 commands, many innate skills (of which 1 exists in FFIV, Auto-Hide) and formulaic setups for various weapon types, where in comparison FFIV has 13 Job Classes, 72 Learnable spells, and 26 Commands.

Therefore creating a randomizer or an Ancient Cave hack is much more difficult in the long run as far as balancing matters go.


chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,285
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: Spare NPC's
« Reply #16 on: December 19, 2014, 02:05:14 AM »
Interesting notes on Enemy skills, I was not aware it meant "everyone jump" I did try that a long time ago as a test on an Eagle and when they jumped they all came back down into the shape of Odin, bizarrely enough.
That's weird. Maybe it has something to do with the graphic change that's assumed with Jump (and nonexistent for monsters)?

Quote
Yes, the game only takes basic animations into account while fighting characters and those animations are Attack (with the DeathBringer graphic, at All Times) and Special Graphic, used by Kain, Dark Knight, and Yang.
What about Girl?
Does Rydia "cast" the Titan spell? I would assume not, but I don't remember. I don't even remember if she uses the Special Graphic or if Titan just appears. But it seems like it would be really odd if she just stood there the whole time...

Quote
For a long time I've been considering an Ancient Cave-esque hack for FFIV but... FFIV's system is nowhere near as robust as FFV's wonderful setup as far as the game flow goes. FFV has 23 Job Classes, and 110 learnable spells, with over 40 commands, many innate skills (of which 1 exists in FFIV, Auto-Hide) and formulaic setups for various weapon types, where in comparison FFIV has 13 Job Classes, 72 Learnable spells, and 26 Commands.

Therefore creating a randomizer or an Ancient Cave hack is much more difficult in the long run as far as balancing matters go.
I think this could be a fun project. I remember you mentioning this maybe a year or so ago. Knowing what I know about the game's coding now, I think I could help with the actual randomization if you wanted to be in charge of the mostly-everything-else.
I've been trying to devise some way to randomize monsters' attacks - not formally, really, just occasionally giving thought to how such a thing would work within the game's battle script system. I haven't had any major breakthroughs on that front... But I think randomizing treasures and rooms within a dungeon would be doable. Even randomizing which battles occur, but within a balanced structure, shouldn't be too tough.
I don't know if I've mentioned this yet, but in the current WIP of A Threat from Within, I've worked out a "different battle sets depending on terrain (on the world map)" system that could be used to inform the basis of a "controlled semi-random encounters (I can't think of a better way to write that)" system.
Anyway, we both obviously have our own projects we're working on now, and I don't want to bite off more than I can vhew, but this sounds like a fun idea to kick around.

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: Spare NPC's
« Reply #17 on: December 19, 2014, 04:06:31 PM »
That's weird. Maybe it has something to do with the graphic change that's assumed with Jump (and nonexistent for monsters)?

That seems reasonable, though doesn't enemy Odin have some movement to him? It's been so long since I lost to him so I'm not really sure.

Quote
What about Girl?
Does Rydia "cast" the Titan spell? I would assume not, but I don't remember. I don't even remember if she uses the Special Graphic or if Titan just appears. But it seems like it would be really odd if she just stood there the whole time...

I was surprised as well, but she does literally just stand there, the entire time. The PSP version fixes this by making her react and summon naturally. (I should hope so! Disgracefully enough this was not fixed in the GBA version, I guess I shouldn't be surprised.)

Quote
I think this could be a fun project. I remember you mentioning this maybe a year or so ago. Knowing what I know about the game's coding now, I think I could help with the actual randomization if you wanted to be in charge of the mostly-everything-else.
I've been trying to devise some way to randomize monsters' attacks - not formally, really, just occasionally giving thought to how such a thing would work within the game's battle script system. I haven't had any major breakthroughs on that front... But I think randomizing treasures and rooms within a dungeon would be doable. Even randomizing which battles occur, but within a balanced structure, shouldn't be too tough.
I don't know if I've mentioned this yet, but in the current WIP of A Threat from Within, I've worked out a "different battle sets depending on terrain (on the world map)" system that could be used to inform the basis of a "controlled semi-random encounters (I can't think of a better way to write that)" system.
Anyway, we both obviously have our own projects we're working on now, and I don't want to bite off more than I can vhew, but this sounds like a fun idea to kick around.

I would Love to randomize enemy AI, I feel FFIV was far too linear in its planning, I mean FFIV is really the odd man out, FFI, II, and III all had randomized AI, IV does not, V, VI, and so on then have randomized AI from that time on. FFIV DS I believe also has randomized AI. I can sort of conceive of a system, writing a lot of one actions scripts that an enemy can choose from each turn, but how to actually program that in is near mind-boggling.

Randomizing treasure and warps would be a fun time, I'd think. I tried to set up a randomized warp a long while back, but the game is very finnicky with its exit and entrance coordinates. I imagine you may have found a way around that though. Increasing the scope of randomness could be very neat, any thoughts on how to make random events based on triggers or npc's?

You did mention the different enemy sets for terrain and it is a very neat idea.

chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,285
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: Spare NPC's
« Reply #18 on: December 19, 2014, 04:26:56 PM »
Random events should be completely doable, too.

The problem with AI is that I know very little about how the game interprets the AI data and decides what code to run as a result. I've seen where the AI scripts are loaded into RAM, though, so "watching" it happen shouldn't be too difficult. But the AI system is so convoluted, actually making sense of it all would likely take a while.
I tried to follow a monster's counter attack script in action once to see if PC counter attacks would be possible and it was kind of a nightmare.

LordGarmonde

  • Baigan
  • *
  • Posts: 271
  • Gender: Male
  • "Power only breeds war..."
    • View Profile
Re: Spare NPC's
« Reply #19 on: December 19, 2014, 04:53:18 PM »
I would Love to randomize enemy AI, I feel FFIV was far too linear in its planning, I mean FFIV is really the odd man out, FFI, II, and III all had randomized AI, IV does not, V, VI, and so on then have randomized AI from that time on. FFIV DS I believe also has randomized AI. I can sort of conceive of a system, writing a lot of one actions scripts that an enemy can choose from each turn, but how to actually program that in is near mind-boggling.

Agreed - I definitely noticed it more as I got older and played more of each game multiple times. Randomized AI though: that's something I was interested in too

I tried to follow a monster's counter attack script in action once to see if PC counter attacks would be possible and it was kind of a nightmare.

Before I set up my battle against the PCs (Cecil, Kain, Rosa) I spent a lot of time studying the monster AI and comparing the game at play to the code and trying to just get a better handle on it. "Nightmare" was a nice way to put it chillyfeez.  :wink: I ended up settling on some simple routines that I stole from other enemies and then repurposed. Like getting around the jump problem by having Kain jump only if he was the only one alive. Rosa I had cast Life 2 if someone went down - stuff like that. I can't even remember if Rosa actually worked or not, maybe just via "if solo" - but I'll have a look. I found (I think) the folder with the file in it - but naturally I was too excited that day to label anything properly...oops...   :blush:
"Now I know; and knowing makes it even more confusing..."

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: Spare NPC's
« Reply #20 on: December 19, 2014, 05:40:47 PM »
Random events should be completely doable, too.

The problem with AI is that I know very little about how the game interprets the AI data and decides what code to run as a result. I've seen where the AI scripts are loaded into RAM, though, so "watching" it happen shouldn't be too difficult. But the AI system is so convoluted, actually making sense of it all would likely take a while.
I tried to follow a monster's counter attack script in action once to see if PC counter attacks would be possible and it was kind of a nightmare.


Random Events could be rather interesting, it is one of the main things Ancient Cave is lacking, and this seems like the most ideal way to set up a random party that you could build as you go on (and this is where the Shadow Party Hack could really come in handy).

I am still amazed that PinkPuff managed to make a readable format for the AI scripts, they are parsed and pieced into so many different forms (Index, Script, Conditionals, etc) it's ridiculous.

Quote
Before I set up my battle against the PCs (Cecil, Kain, Rosa) I spent a lot of time studying the monster AI and comparing the game at play to the code and trying to just get a better handle on it. "Nightmare" was a nice way to put it chillyfeez.  :wink: I ended up settling on some simple routines that I stole from other enemies and then repurposed. Like getting around the jump problem by having Kain jump only if he was the only one alive. Rosa I had cast Life 2 if someone went down - stuff like that. I can't even remember if Rosa actually worked or not, maybe just via "if solo" - but I'll have a look. I found (I think) the folder with the file in it - but naturally I was too excited that day to label anything properly...oops...   :blush:

How you did any of that in basic hex is far too much for me to consider. It's such a mess in plain hex. Thankfully when everything is parsed it's not too difficult to do what you will with it if you have the AI Index Reference chart in front of you, of course.

chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,285
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: Spare NPC's
« Reply #21 on: December 20, 2014, 12:49:10 AM »
Oh, I see where you're going with that now...
So, like, you enter room x (which would be picked at random from a given set of possibilities, but would be room x regardless) and there is an event call to a random event, picked from a set of given possibilities, and each possible event would be the addition of a different party member... And this could happen as many as four times in four rooms, until the party slots are all filled.

Pinkpuff

  • Flan Princess
  • *
  • Posts: 924
  • Find a Megalixir in Unprecedented Crisis!
    • View Profile
Re: Spare NPC's
« Reply #22 on: December 20, 2014, 06:18:59 AM »
I am still amazed that PinkPuff managed to make a readable format for the AI scripts, they are parsed and pieced into so many different forms (Index, Script, Conditionals, etc) it's ridiculous.

It wasn't easy, I assure you! How long was I on the monster editor? A year or more? Anyway I did my best... glad to hear it's somewhat readable/understandable. I tried my best to explain it in the readme too.
Let's dance!