Final Fantasy Wiki
(Add)
mNo edit summary
 
(10 intermediate revisions by 6 users not shown)
Line 44: Line 44:
   
 
-----
 
-----
I created a prototype: [[Mono Drive]]. In a final version, the enemy would have a tab for its Gold Saucer stats. Also, we'd have a "List of Final Fantasy VII Enemy Formations" page, which would give further details about the formations, including the battle background-- and that would be linked to on each number in the formations table.
+
I created a prototype: [[Mono Drive (Final Fantasy VII)|Mono Drive]]. In a final version, the enemy would have a tab for its Gold Saucer stats. Also, we'd have a "List of Final Fantasy VII Enemy Formations" page, which would give further details about the formations, including the battle background-- and that would be linked to on each number in the formations table.
   
 
I felt like I should add %s. Or at least like what I did on the [[Sector 1|locations page]] and add [''X''/64]. But then I'd have to better distinguish back attacks, since it uses a slightly different system.
 
I felt like I should add %s. Or at least like what I did on the [[Sector 1|locations page]] and add [''X''/64]. But then I'd have to better distinguish back attacks, since it uses a slightly different system.
Line 53: Line 53:
 
:I quite like it the new layout.
 
:I quite like it the new layout.
 
:My main concern is the AI Script section. I've a bit of programming in my time, and I'm struggling to understand this code. Of course I don't know if the code is ripped from the game, but maybe we could think of a system to make it more understandable, and use that as a basis for all AI Scripts. {{User:Jeppo/sig}} 22:37, April 21, 2013 (UTC)
 
:My main concern is the AI Script section. I've a bit of programming in my time, and I'm struggling to understand this code. Of course I don't know if the code is ripped from the game, but maybe we could think of a system to make it more understandable, and use that as a basis for all AI Scripts. {{User:Jeppo/sig}} 22:37, April 21, 2013 (UTC)
  +
::I agree with that. It's sort-of from the game. The game uses opcodes. And that is how we turn those opcodes into a readable form-- or how TFergusson did and we copied and pasted it. I considered making it look more like gambits, but it's not ''that'' easy to do. [[Special:Contributions/89.243.247.118|89.243.247.118]] 22:47, April 21, 2013 (UTC)
  +
:::I like the prototype. And yeah, newbie!me left a bit of a mess with the copied AI scripts. But editing the scripts to something more legible would be a huge project -- just look at [[Jenova∙SYNTHESIS]], which has far from the longest AI script in the game. At the very least, we should collapse them, like we were discussing in the channel this morning. {{User:Catuse167/Templates/sig}} 00:13, April 22, 2013 (UTC)
  +
  +
<pre class=ai>
  +
Start of Battle: Declare TurnNo = 0
  +
  +
On Mono Drive's Turn {
  +
If TurnNo == 0 Then {
  +
1/2 Chance: Display Message "Enemy sighted!"
  +
1/2 chance: Display Message "Warning! Warning!"
  +
TurnNo = 1
  +
}
  +
If TurnNo == 1 Then {
  +
1/3 Chance {
  +
If Self MP < 4 Then: Use <Drilldrive> on random opponent with lowest
  +
Defense
  +
Else: Use Fire on random opponent with lowest Magic Defense
  +
}
  +
2/3 chance: Use <Drilldrive> on random opponent with lowest Defense
  +
}
  +
}
  +
</pre>
  +
The above is a possible rework of the AI script that's currently on the article. Hopefully after reading it, everybody will know that on Mono Drive's first turn, either "Enemy sighted!" or "Warning! Warning!" will be displayed. Then on its second turn, it has a one-in-three chance of casting Fire on the character with the lowest magic defense, unless it has insufficient MP, otherwise it will use <Drilldrive> on the character with the lowest defense. If it does have less than 4 MP, it will always use <Drilldrive>, again on the character with the lowest defense. {{User:Jeppo/sig}} 16:17, April 22, 2013 (UTC)
  +
:I don't think I can really make comment on this, other than to say putting Target and Ability on the same line makes sense. But rather than rewrite scripts on a case-by-case, we should probably decide on conventions that can apply to all games, then immortalise it in project space. [[Special:Contributions/92.24.164.115|92.24.164.115]] 12:41, April 23, 2013 (UTC)
  +
  +
If everyone is fine with how [[Mono Drive (Final Fantasy VII)|Mono Drive]] is formatted, then it can be added to the MoS. For now, none of our VII articles will be perfect because I don't have the time to fully detail enemy encounters, but when I am not busy, hopefully we will see a fully-detailed List of Final Fantasy VII Enemy Formations page that we can use to add these sections to the articles. [[Special:Contributions/92.24.164.115|92.24.164.115]] 12:41, April 23, 2013 (UTC)
  +
:I like the way it looks. Nice. :) You put a lot of effort into this.[[User:Keltainentoukokuu|Keltainentoukokuu]] ([[User talk:Keltainentoukokuu|talk]]) 14:22, April 23, 2013 (UTC)
  +
::Chances are we'll end up having to make a few tweaks on the rules governing AI scripts, but the rules that I would prefer to have in are that all internal variables (such as TurnNo in the above case) should be declared before it is used (such as in the Start of Battle). Also use curly brackets only when there is going to be more than one line of code (example: the If TurnNo == 0 Then code), otherwise use a colon (such as the If Self MP < 4 code). {{User:Jeppo/sig}} 15:35, April 23, 2013 (UTC)
  +
  +
==Enemy AI==
  +
{{Jeppotalk|21:17, April 28, 2013 (UTC)|I've been trying to create a rulesheet for writing the AI script, which will hopefully standardise all the AI scripts of each enemies and all games. However the more AI scripts I obverse and write, the more complicated I think the scripts will end up becoming, and also the further away we will stray from the main objective of keeping AI scripts understandable and clean.
  +
  +
However I have persevered and I have written the scripts of all enemies of Final Fantasy VII whose names begin with a number or the letter 'A'. You can find the scripts as well as the rulesheet in my [[User:Jeppo/Sandbox|Sandbox]].
  +
  +
I'll just go over some of the rules. The Primary codes are basically the first group of commands. codes like "Start of battle", "Turn" and "Counter - Any" should hopefully be fairly straight forward.
  +
  +
One of the main differences between the rules I've written and TFurgusson's is that I've declared all my temporary variables (such as "Count") used in the code at the start of battle. (TF doesn't declare temporary variables, but adds "TempVar:" whenever a variable is used). Actual variable names don't stray too far from what TF calls them.
  +
  +
The other main difference is that, while TF chooses a target on one line, then executes an attack on another, I've merged both into one. You may have noticed that there is still a "Choose" command in the rulesheet, but generally, I feel that using the "Use <Attack> on random opponent" code is much simpler.
  +
  +
Finally, for the particularly long-winded and incomprehensible AI scripts, I've added a "Notes" sub-section (see Armored Golem). This section aims to try ans help the reader comprehend the AI script a bit more, by explaining what a certain variable does if it is not that obvious in the script, and also to add extra flesh to the script. (for example: the fact that Armored Golem's animations change when in defense mode).
  +
  +
All in all, what are your thoughts so far? I suspect the goal posts may change a few times before I finish, so any feedback is greatly appreciated.}}
  +
I was going to suggest renaming "Counter - Death" to Final Attack, but then I thought that would make things confusing (and then also change "Start of Battle" to "First Attack" -- but since this is mainly for variables, again, confusing).
  +
  +
But I'm impressed. I won't participate with changing AI scripts, but I do endorse it. [[User:JBed|JBed]] ([[User talk:JBed|talk]]) 21:27, April 28, 2013 (UTC)
  +
:Thanks for the feedback. Keeping out of making the AI scripts is probably a good idea; I'm dreading the point where I have to decipher the [[Bizarro∙Sephiroth]] script! {{User:Jeppo/sig}} 21:42, April 28, 2013 (UTC)

Latest revision as of 05:16, 14 May 2020

FFWiki forum logo
Forums: Index > Rin's Travel Agency > Archive > Changes to enemy pages


Here's how our enemy articles are currently laid out as according to the MoS:

  1. Infobox
  2. Intro (including location and battle circumstances and just things summarised)
  3. Story (optional, for minor story character bosses)
  4. Bestiary info (optional, only if applicable, and also Mark information-- information of the enemy as part of a game-specific system)
  5. How to find (optional, usually for optional bosses/rare game)
  6. Stats (optional, for FFVIII enemies)
  7. Battle
  8. Strategy
  9. AI Script (if we can)
  10. Gallery (optional, for enemy abilities and artwork)
  11. Trivia (optional, most things can go in the intro)
  12. Related Enemies

I don't know if "How to find" should go above or below the game-specific info. It's not in the MoS, but it should be. "Stats" isn't in there either (it's only for one game... I don't know how XII works but I imagine it might have a similar system, but unless we have formulas we can't really do anything), however above "Battle" makes most sense.

Suggested changes:

  • Make "Strategy" a sub-section of "Battle". It only makes sense since the strategy info is primarily based on info from the Battle section.
  • Add a section for formations. I also think we should add all enemies that can appear in the same battle as the enemy in question should be placed in related enemies, but at very least we need a list of the different formations the enemy can appear in. This is also going to effect the strategy section, and could help us bulk out random encounters more. This section would only apply to random encounter games really. This is very possible for implementing to I and VII immediately, and most games have an "Enemy formations" section on location pages.
  • In the "Locations" section in the infobox: List all sub-locations. If we don't want to do that then we could perhaps consider making it a section of the article. Even if an enemy appears in all areas, by not stating that they are in all people won't know for sure they are in all. And I wouldn't like just saying "All areas" for the same reason I don't like saying "Ribbon prevents all statuses".

The formations and locations sections could be related. The same random encounter might appear in multiple locations. We might want to consider how we would link this information up. We could number up the formations (we know VII's internal numbered system, but we number them on a per-page basis, from 1 up) and then the Locations sections could be a table with the name of the Location, and then a list of numbers which link to the enemy formation further up the page.

We may also want to consider a List of Enemy Formations page. User:JBed/FFVII/Enemies/Formations does this, but we would obviously have to use the enemy names and link to when they are fought.

I think there's something else I forgot, but that will do. Anyone disagree? Other suggestions? JBed (talk) 00:48, April 20, 2013 (UTC)

In short, I'll agree with all three of the bullet points made, and also agree that enemies that appear with enemies in formation should be in related enemies. I can't count the number of times I've wanted for a related enemies pointing to enemies that fight with that enemy, only to have to go through the relevant location page or the category.
A list of Enemy Formations page sounds... worrisome. If it's not a big deal to make, I don't see the harm in it, but at the same time, I don't know how much benefit those pages would bring. It just seems sort of like a waste of time to me, but I suppose the coding perspective of the games was never really my focus, so I can hardly call my opinion on the matter informed. I guess I'll hold judgment and wait to see what others have to say on the matter. Jimcloud 02:17, April 20, 2013 (UTC)
I like the lists. It adds the centralisation. Like any list page. My only worry of how big it will have to be, at least for VII. JBed (talk) 02:26, April 20, 2013 (UTC)
ACRudeBox
I like it. Especially support the enemy formations things being included. These are quite important in games like FFV and FFVI, where enemy formation is what determines ABP/Magic Points gained, not individual enemies. As I've been playing through FFV, I've found the lack of enemy formations on enemy pages rather irksome, and trying to figure out how to list ABP on FFV enemy infoboxes makes me queasy, since it isn't actually tied to enemies. A formation section would solve this problem, since we could list ABP/Magic Points with each formation. And of course, varying rarity of the enemy formations from area to area really makes a difference in how people go about trying to find certain enemies.
As for locations, we really could go all out with them if we wanted to, and I know at least I would find it useful. I can't count how many times I've been trying to find some monster and the enemy page was no help at all. The Location part of the infobox could just have the general Location, just the name of the dungeon(s) it appears in. This would be just a quick reference guide to get an idea where its at. The Location section of the page itself would have an in depth explanation of where, when, and how it appears. And then a sub-section for formations, with formations sorted by every location the enemy can be encountered in. We could even at add a picture of the location for each location section, and picture of the world map with the relevant region highlight in someway for world map enemies. Try finding Vilia or Stingray without a highlighted world map!
And I think there should always be an allowance for "special" sections for unique and noteworthy details of certain enemies. I recently added a crapton of info to the Metamorph enemy page and Red Dragon enemy page from FFV, and the info is large enough and important to deserve its own section, I think. It doesn't really fit under general "Strategy", since the bits aren't actually about beating the enemies, but exploiting/understanding complicated aspects of them. I guess the sections could be sub-sections of Strategy, but I'm not sure. Espritduo (talk) 06:35, April 20, 2013 (UTC)
Actually, that information on Metamorph would go in a "Battle" section. Pages are meant to have Battle and Strategy sections, but as it stands, most just have strategy sections. 92.28.179.86 15:39, April 20, 2013 (UTC)

I created a prototype: Mono Drive. In a final version, the enemy would have a tab for its Gold Saucer stats. Also, we'd have a "List of Final Fantasy VII Enemy Formations" page, which would give further details about the formations, including the battle background-- and that would be linked to on each number in the formations table.

I felt like I should add %s. Or at least like what I did on the locations page and add [X/64]. But then I'd have to better distinguish back attacks, since it uses a slightly different system.

I'm not perfectly happy with it, but I'll take criticisms. Merging the Locations and Formations section sounds like an option, but I don't think it would look nice.

Also, I'm not sure whether we also want to add the fight-alongside enemies to the Related Enemies if they're already in the Formations table. 89.243.247.118 21:53, April 21, 2013 (UTC)

I quite like it the new layout.
My main concern is the AI Script section. I've a bit of programming in my time, and I'm struggling to understand this code. Of course I don't know if the code is ripped from the game, but maybe we could think of a system to make it more understandable, and use that as a basis for all AI Scripts. Jeppo (Talk | contribs) 22:37, April 21, 2013 (UTC)
I agree with that. It's sort-of from the game. The game uses opcodes. And that is how we turn those opcodes into a readable form-- or how TFergusson did and we copied and pasted it. I considered making it look more like gambits, but it's not that easy to do. 89.243.247.118 22:47, April 21, 2013 (UTC)
I like the prototype. And yeah, newbie!me left a bit of a mess with the copied AI scripts. But editing the scripts to something more legible would be a huge project -- just look at Jenova∙SYNTHESIS, which has far from the longest AI script in the game. At the very least, we should collapse them, like we were discussing in the channel this morning. C A T U S E 00:13, April 22, 2013 (UTC)
Start of Battle: Declare TurnNo = 0

On Mono Drive's Turn {
  If TurnNo == 0 Then {
    1/2 Chance: Display Message "Enemy sighted!"
    1/2 chance: Display Message "Warning! Warning!"
    TurnNo = 1
  }
  If TurnNo == 1 Then {
    1/3 Chance {
      If Self MP < 4 Then: Use <Drilldrive> on random opponent with lowest
       Defense
      Else: Use Fire on random opponent with lowest Magic Defense
    }
    2/3 chance: Use <Drilldrive> on random opponent with lowest Defense
  }
}

The above is a possible rework of the AI script that's currently on the article. Hopefully after reading it, everybody will know that on Mono Drive's first turn, either "Enemy sighted!" or "Warning! Warning!" will be displayed. Then on its second turn, it has a one-in-three chance of casting Fire on the character with the lowest magic defense, unless it has insufficient MP, otherwise it will use <Drilldrive> on the character with the lowest defense. If it does have less than 4 MP, it will always use <Drilldrive>, again on the character with the lowest defense. Jeppo (Talk | contribs) 16:17, April 22, 2013 (UTC)

I don't think I can really make comment on this, other than to say putting Target and Ability on the same line makes sense. But rather than rewrite scripts on a case-by-case, we should probably decide on conventions that can apply to all games, then immortalise it in project space. 92.24.164.115 12:41, April 23, 2013 (UTC)

If everyone is fine with how Mono Drive is formatted, then it can be added to the MoS. For now, none of our VII articles will be perfect because I don't have the time to fully detail enemy encounters, but when I am not busy, hopefully we will see a fully-detailed List of Final Fantasy VII Enemy Formations page that we can use to add these sections to the articles. 92.24.164.115 12:41, April 23, 2013 (UTC)

I like the way it looks. Nice. :) You put a lot of effort into this.Keltainentoukokuu (talk) 14:22, April 23, 2013 (UTC)
Chances are we'll end up having to make a few tweaks on the rules governing AI scripts, but the rules that I would prefer to have in are that all internal variables (such as TurnNo in the above case) should be declared before it is used (such as in the Start of Battle). Also use curly brackets only when there is going to be more than one line of code (example: the If TurnNo == 0 Then code), otherwise use a colon (such as the If Self MP < 4 code). Jeppo (Talk | contribs) 15:35, April 23, 2013 (UTC)

Enemy AI[]

Winterwolf ff1 psp

I was going to suggest renaming "Counter - Death" to Final Attack, but then I thought that would make things confusing (and then also change "Start of Battle" to "First Attack" -- but since this is mainly for variables, again, confusing).

But I'm impressed. I won't participate with changing AI scripts, but I do endorse it. JBed (talk) 21:27, April 28, 2013 (UTC)

Thanks for the feedback. Keeping out of making the AI scripts is probably a good idea; I'm dreading the point where I have to decipher the Bizarro∙Sephiroth script! Jeppo (Talk | contribs) 21:42, April 28, 2013 (UTC)