Showing posts with label Final Fantasy I. Show all posts
Showing posts with label Final Fantasy I. Show all posts

Wednesday, June 20, 2012

Favourite Game Candidates: NES Games 2

In the second NES installment I'll go over games I mostly discovered during the time I owned an NES, which was in University and was 14 years after the NES launched. I missed some of the 'classic' games that I'm sure other people really love (I'm looking at you, Zelda) but I didn't play them so they don't have a place on this list. I bought the NES after a scunt (my house was scunt headquarters and I think the guy who lugged it over didn't really want to take it back) mostly because it had a Final Fantasy cartridge in it. Best $10 I ever spent!

Solo ninja ho!
Final Fantasy - I played a lot of games at Comfy Prime. I watched a lot of people play games at Comfy Prime. The common area in the basement had three tvs with an NES, a SNES, and a Playstation. Josh left his computer in the room. And with all those games going on the one game that has the most memories for me is the original Final Fantasy. It spawned the nickname Bung. I remember one term Manders was working 20 hours a day and then would come home and play Final Fantasy instead of sleeping. Well, while sleeping. The game waits patiently for input so falling asleep wouldn't kill you. Buying potions one at a time with your foot so a party of four white mages could slowly beat the game? Sweet! The cartridge only had one save slot and I can remember people waiting to get their turn with the save.

Green?!?
Ice Hockey - I used to play this game a lot with Andrew. When my NES eventually got stolen out of the MathSoc exec office this was the game inside. *frowns* You had the option of choosing between three different types of skaters on your team. Skinny, medium, and fatty. You had 15 different possible team configurations but I'm pretty sure I only ever used two of them. Fatty, fatty, fatty, fatty or fatty, fatty, fatty, skinny. Fat guys were the best at checking and scoring. Skinny guy was there as the token fast skater to try to advance into the enemy zone. Penalties in the game only came about after a fight... Loser of the brawl gets a penalty!


2x4s and High Schools, together at last
River City Ransom - Truth be told I didn't really play this game. Josh bought it from a used game store for the house and I mostly just watched people play it. It was a pretty decent side-scrolling brawler game. I remember it had a cash system for upgrading things? It was sort of a sandbox/RPG/Double Dragon style game.









Blue wizard needs food BADLY!
Gauntlet II - This sequel to Gauntlet featured 100 levels and a bunch of different power-ups that made you really powerful. I remember spending a day pounding away at the game to beat the 100 levels. Only to discover, sadly, that there was no end to the game. It merely scrambled the order of the 100 levels and made you start again. But you kept all the power-ups so there really wasn't much point in playing. You couldn't possibly die or get better. I guess you could keep making your score bigger by collecting tons of treasure but after playing through a little over 100 levels of Gauntlet I gave up.


Sunday, January 22, 2012

Final Fantasy: Incoming Damage

{Found this post in my draft folder and figured better really late than never, right?}

Monsters follow very precise rules for how they act in combat. The first thing they do is check to see if they're going to run away. To find out they roll a number between 0 and 50 and add it to a monster intrinsic stat called morale. If that result is less than 80 plus twice your character's level they run away. The key here is they only check the guy in slot 1's level, so theoretically if I moved one of my friendly corpses into the first slot monsters would stop being scared of me.

Assuming they don't run they then check to see if they cast a spell. Every monster that can cast spells has a set chance to cast a spell. If this check succeeds they cast the next spell on their list of spells to cast. There's nothing random about which spell they cast. The first time they cast a spell they always cast the first spell in line. The second time they cast a spell they always cast the second spell in line. If they cast all their spells they start again at the start.

Assuming they don't cast a spell they check to see if they use an enemy skill which works they same way as casting a spell does. They have a list of skills and use the first one in line first and so on.

Assuming they don't use a skill they melee attack.


Astos has 255 morale which means he can't run away. (Max character level is 50 so the highest my side of the equation could be is 180. 255 plus a random number is always bigger than 180.)

Astos in particular has a 97 in 129 chance to cast a spell, or practically 75%. The spells he casts, in order, are Rub, Slow2, Fast, Fir2, Lit2, Slow, Dark, Sleep.

Astos has no skills.

If he attacks he attacks once per round with at attack value of 26. His hit is 42. His crit is 1. At level 28 my thief will have around 68 evade and 6 absorb. So he hits me for an average of 33 a swing, 39 on a crit. Out of 201 swings he'll crit me 2 times and hit me 140 times. Overall, that's a little over 23 damage each time he attacks. So his attacks are not scary at all.

In general spells make the same attack roll as melee attacks do, a number between 0 and 200. The base hit chance for a spell is 148 instead of 168 and there is no hit stat. The targets magic defense is used as an evade modifier. At level 28 a thief has 69 magic defense. (15 base + 2 per level)

What do his spells do?

Rub - instantly kills the target - Roll a number between 0 and 200 and compare against 148+24-69. So about 51% of the time I'm instantly killed.
Slow2 - forces the target to attack exactly once when they autoattack. 148+64-69, or 71% of the time I essentially can't win.
Fast - doubles the number of attacks Astos gets when he melees. This makes his attack average 46 instead of 23.
Fir2 - hit for between 30 and 60 damage. Roll to see if it hits. If it hits, do double damage. If it misses do normal damage. 148+24-69. So 51% of the time I take 90 damage, 49% of the time I take 45 damage. 68 damage on average.
Lit2 - exactly the same as fire but a different element. 68 damage on average.
Slow - the same as Slow2 except for some reason this hits all targets. So 71% of the time I essentially can't win. It is possible since this is cast so late in his rotation that I can still win after it gets cast.
Dark - Blinds the target. When blind a target has 40 knocked off their attack rolls made and 40 added to incoming attack rolls. Lands 51% of the time.
Sleep - Being asleep increasing incoming melee damage by 25% and reduces your evade to 0. You can't take an action but sleep is removed on your next action if a roll between 0 and 80 is less than your maximum health. Lands 51% of the time.


The question of how many rounds I get to live is therefore very complicated. I'll have close to 600 maximum health at level 28 and fudging the numbers some in terms of incoming damage modified by dark and sleep and such I probably take around 65 damage per 'attack' be it a spell or a melee swing. So I get to live until his 10th attack or until he successfully lands any of rub, slow2, or slow. Abstract things and say he attacks every 3 spells. Then after 18 spell casts he'll have meleed 6 times and cast 4 damage spells which is my dying point. So from damage I probably get 18ish swings. But to make it that far I have to avoid 3 rubs, 3 slow2s, and 2 slows. I do that .02% of the time. So, uh, not happening.

Fortunately I found that I only need 9 rounds to win. (Well, 26 swings at 3 swings per round.) That's barely once through his cast bar, so I have nothing to worry about in terms of damage taken and just need to avoid 3 death attacks. The last one isn't even that bad, since I'll already have most of my 26 swings in. Really, I have a 14% chance of avoiding the initial rub and slow2 and beyond that I probably win at level 28. But I'm less convinced I can get lucky and win at level 26.

Tuesday, April 05, 2011

THREE!

Commander Data sent the number 3 through space and time to break a time loop and save the USS Enterprise from perpetual destruction. It took the solo ninja 3 tries but the end result is the same. The time loop has been broken! Garland will no longer go insane and resurrect elemental fiends to send him back in time so he can resurrect them again. Woo!

Sunday, April 03, 2011

Flip Out?

I made it down to Chaos with this configuration. (I forgot I couldn't actually leave the dungeon so I gained the 50th level inside. It was a good one, but I couldn't save it, so I'll probably be 24 hit points worse next time. Or I may scum it to make sure I get about that many).

I got to take 6 actions total. Haste, 4 Sabers, and a melee attack in the 1700 range. I'd entered in my 8th command when he killed me. Sadly despite having a 50% chance to cast a spell he only cast 2 of them in his 8 actions. His 3rd spell has no game effect, so I had a good shot of killing him if he'd cast it. His 4th spell heals him to full, so if he'd cast more spells early on before I attacked at all I also would have won. A few more tries and I've probably got this, but the dungeon is so unbelievably huge that it takes an awfully long time to try. I don't think I have it in me to try again now, so I'm going to play some League of Legends games. Maybe I'll come back to it later tonight before bed, Maybe I'll try again tomorrow. Certainly he will die by Tuesday!

Saturday, April 02, 2011

Swords For $400, Alex

This is actually a word that begins with a bloody S! I am talking, of course, about SABRE! I picked the item up that allows me to cast this spell today and decided to give it a spin on the boss of that dungeon, the Kraken. The fight was like a scene from a ninja movie. The boss punched the ninja in the face and the ninja got mad. He started running around like crazy (IE: I used defense sword until I was invincible) and the boss kept swinging and swinging but never could hit the ninja again. Then the ninja started to taunt the boss, brandishing his sword but not actually doing anything noticeable with it. Look, a sword! After showing the Kraken his sword 10 times to scoop up an extra 160 damage and 100 hit the ninja cast fast on himself and finally moved in for the kill. One action, 16 swings, and a very, very dead Kraken.

Friday, April 01, 2011

Pointers

Welcome to Ziggyny's Coding Emporium. Today we're going to be discussing pointers using the random encounter system of the video game Final Fantasy as a starting point and ending up with the rough idea behind linked lists.

First off, how would you imagine the random encounter system works? Me, I'd think that every time you took a step the game would make a check. 10% chance that you get into a fight every step, say. When that check returned true, randomly figure out what the monsters were based on where the fight was taking place. I'd be wrong. It turns out that when the game is turned on and again after every random encounter the game picks  a number and stores that value in a variable, and every time you take a step that value gets decremented. When it hits 0 or lower you get into a fight. So as soon as a fight ends you know exactly how many steps it will take to get into your next fight. (Or at least you would if you had access to that variable.)

Only it turns out that number isn't random at all, either. The first fight on the overworld takes place after 15 steps. The next one is after 24 steps. Then 32. Then 29. It turns out there's a list of 90 step number for the overworld and the game just loops through them all. There are similar lists for ocean and dungeon fights. (Ocean fights are much less frequent, dungeons are slightly less frequent.)

When the fight starts the game picks a fight for you, but there's actually no randomness involved here either. Every zone has 8 possible fights it could be. The game has a list of 256 numbers. The first fight you get when you turn the power on is the fight associated with the first number in that list, which it turns out is 3. Then a 4, then another 3, then a 6, and so on. People have actually used this deterministic nature to plot out exact movement patterns through dungeons to get specific random encounters. (You can't run from some fights in the game, so if you want to beat the game at minimum level you need to never encounter those fights!) The only way to change what fight you're going to do is to change zones. You'll still fight the 3rd fight, it will just be the 3rd one from a different list.

What does all this have to do with pointers? Well, how are those 256 numbers actually stored? You could have a variable for each one and use one gigantic module to track where you are in the list but that's really inefficient. A trick you can use is to use an array which lets you use one variable to store all 256 numbers and then a second variable to store an index into the array. The index is simply a number which tells you where to look in your huge array for the data you need. The programming language takes into account where the data actually is in memory. All you care about is the variable for your array and the variable for your index. But what is the language actually doing? It actually treats all of memory as one big array of its own. The variable you use to refer to your array is just an index itself into the gigantic memory array. Your array variable, in a sense, is just a number.

In C, it's more than just a number in a sense. It's a number period. This number is called a pointer because it 'points' to the specific section of memory the language set aside for you but all it is is an index into an array. The memory system doesn't know what you've stored there. It doesn't care in the slightest. An interesting thing about arrays in C is there's no actual array substance at all. If you allocate the memory for, say, 256 8-bit values you might think it's doing something specific to break up a 2048 bit chunk of memory into a bunch of 8-bit sections for you, but it doesn't. It just takes a contiguous chunk of memory sized 2048, sets it aside, and tells you where it starts. How does the index work then? Well, the system does know the size of the values you're storing so it can work out where it is. A[0] starts right at the start of the array. A[1]? It's exactly 8 bits ahead of A[0] because you're storing 8-bit values. So the system actually turns A[1] into A+8*1. A[200]? It's at A+8*200. (Ever wondered why arrays start at index 0?)

So our array solution was actually a pointer solution without even knowing it!


This is all well and dandy when we know our data isn't going to change, but what happens if we're writing a more dynamic data system? One where we might want to add or delete items from the middle of the list? If you think about it, in our array solution a given entry in the array implicitly  'knew' where the next item in the array was. It was at the location in memory 8 bits ahead of where the current entry is. A[151] obviously follows A[150]. But what if we want to delete A[151]? (Our subscribers whined that the fights referred to by A[151] were too hard and demanded we nerf the game by taking them out.) With an array and the implicit pointer to the next entry we're in trouble. Our best bet is to copy the value from A[152] into A[151]. And then A[153] into A[152]. And so on until we've copied them all. And then we have to change our check for when we hit the end of the array to loop back to the start to check for 255 instead of 256. It's all a big mess.

Even worse, what if the word came down from the president of the company that the users want super-rare fights to spring up. They want a 257th possible outcome, and they want it to come after A[180]. Following the idea above, we could copy A[255] to A[256] and then A[254] to A[255] and so on until we've made room for the new value. Hold on now! We only asked the memory manager for 2048 bits of memory and now we're using 2054. In some languages this would result in an error of some kind. In C the system just doesn't care. It'll let you write into that section of memory regardless of what it's actually supposed to be. (This is how many security flaws came about, by sticking something really big into a section of memory and overwriting actual code!) This is obviously a big, big problem. But we can't just tell the president to screw off or we'll get fired. So we need to allocate 8 new bits of memory somewhere and then remember somehow that we go from A[180] to the new value to A[181]. Probably we do this with a bunch of if statements and eventually end up with terrible, terrible code.

The real problem above is that we were relying on implicit pointers to the next value. What if we could assign an explicit pointer to the next value? That way if we had to add or remove values in our list we could change the explicit pointers and keep the right connections around. Well, we know pointers are simply numbers, so we could change our data from being an 8-bit number to being an 8-bit number AND a pointer. The size of the pointer variable depends on the operating system, but if you're on a 32-bit computer it'll be 32 bits in size. On the NES I'd imagine it would have been 8 bits. This will double the amount of space our data will occupy but it will let us add or remove items easily.

So, instead of allocating one big block of 2048 bits we'd get the system to give us 256 blocks of 16 bits. The first 8 bits will have our number. The second 8 bits will be a pointer to the next allocated block. Maybe it's the next one in memory. Maybe it's somewhere else entirely. We don't care. All we care about is the location of the very first number. After we're done with that number we don't even care about that anymore. So we could update our pointer variable to bits 9-16 of the section of memory it's pointing to! We can even get rid of our 'end of list' check by making the last entry point back to the first one. Now if we need to add an extra number we can allocate space for it and adjust a couple pointers and we're done.


Linked lists are often represented something like above. Pointers are represented with arrows and are made to seem more complicated than they are. The above picture (stolen ruthlessly from wikipedia) has 3 distinct blocks of memory. The circles are just numbers. Numbers that can be thought of as an index into the gigantic array which is memory. You can change the number in the circle to change the index of the array. Or you can follow the arrow and change the value on the other side to change the value stored in the array. Getting the syntax right can be tricky with all the *s and &s but the important thing to keep in mind is pointers are just numbers. There's nothing mythical about them and they're so useful because they can be manipulated as numbers.

Thursday, March 31, 2011

Ding-Dong! The Lich Is Dead!

It took 8 tries last night but I finally killed Lich. He killed me 4 times and his trash killed me 3 times but the 8th time I got him. The crazy thing is the 4 times he killed me he landed a slow at about half health and then I got to fight for a long time before he finally killed me. On the kill he didn't even get to cast slow. Several crits in a row coupled with him melee attacking (and failing to paralyze) did him in. (In retrospect it turns out I was using the wrong weapon against Lich the whole time and should have had 3 more damage and 40 more hit against him. That hit would be just for chance to hit and not extra swings, I think, so not a huge deal but every bit counts!)

So, now what? I need to level to 50, become a ninja, gather all the gear I want, and kill a bunch of bosses. Ninja is the first step I think since I need to do that before I hit level 43 if I want all my spell charges. I may need to gear up a little to pull that off so I should also look for easily obtainable treasure chests containing useful stuff. In particular, stuff I may need/want:

Katana - Floating Castle
Light Axe - Sea Shrine
Heal Rod - Castle of Ordeals
Mage Rod - Sea Shrine
Defense Sword - Waterfall
Thor Hammer - Mirage Tower
Masamune - Temple of the Past
Opal Bracelet - Sea Shrine
Black Robe - Floating Castle
Flame Shield - Volcano
Ice Shield - Ice Cavern
Ribbon - Waterfall OR Sea Shrine OR Floating Castle
Heal Helm - Mirage Tower OR Floating Castle
Zeus Gauntlet - Castle of Ordeals
Power Gauntlet - Sea Shrine
ProRing - Floating Castle OR Gaia

In order to change into a Ninja I need to do the Ice Cavern to get the airship and I need to do the Castle of Ordeals to get the tail. Mirage Tower, Sea Shrine, and Floating Castle all require the airship to access. I really want a ribbon so I think my plan is going to be head for the Waterfall, the Ice Cavern, and then the Castle of Ordeals. Then I'll kill some fiends by doing Sea Shrine, Mirage Tower, and Floating Castle. I'll stop to level if things get tough but I have a feeling once I get a ribbon and a proring that I'll be ok. I will have to make sure I don't level off of any of the dungeon bosses though (I am still scumming, after all) so I may just level to 50 after I become a ninja to be safe.

Wednesday, March 30, 2011

Ninja or Thief?

My intention was to try to beat the game as just a thief if it was at all plausible and only upgrade to a ninja if I felt it was going to be needed to win. Having found out that Chaos has twice as much health makes me really think I'll need to upgrade to a ninja but I want to find out for sure with a little napkin math. I need to make this decision soon since in order to get all your ninja spells you need to make the switch by level 42. I'm currently 37 and I'm spending more time scumming for good levels than I am actually leveling since I can defeat everything on the peninsula of power and most of the monsters there don't run away yet. So, what does Chaos have going for him?

Chaos has 100 attack, 100 absorb, 200 hit, 1 crit, and 100 evade. He has 200 magic defense if I feel like casting terrible spells. Half the time he casts a spell from the following list in order: ice3, lit3, slo2, cur4, fir3, ice2, fast, nuke. Half the time that he doesn't cast a spell he uses a skill from the following list in order: crack, inferno, swirl, tornado. The remaining quarter of the time he melees twice. (Four times after he casts fast.)

Crack is an instant kill which I should be immune from since I will have a ProRing. Inferno has a damage value of 96 but is fire so with the ribbon I should always take normal damage from it. Swirl and tornado have damage values of 64 but will do double damage 68 times out of 201.

Ice3 does 70 damage. Lit3 does 60. Slo2 will blow out the thief 100 times of 201 but will just force the ninja to cast fast again. Cur4 is a full heal so I either need to burn him out before he gets around to casting it or I have to live long enough to burn him out after he casts it. Fir3 does 50 damage. Ice2 does 40 damage. Fast doubles his melee damage. Nuke does 100 damage and does double damage 143 times out of 201!

(Note that when a spell does 'X damage' it actually does damage between X and 2X. So Nuke could very well hit for 400.)

If he melees then he swings twice with 168+200 hit. On the NES this would actually be capped at 255 before taking my evade into account but on the PS he gets the full hit. My avoid is likely to be 99 so on the NES I'd get crit 1 time and hit 156 times in 201. On the PS I get crit 1 time and hit 200 times out of 201. That's right, even if I max my agility the 'hard to hit' character is guaranteed to be hit. I could use the shirt to max my avoid at 255 if I wanted to waste time (say, if my plan was to win after he heals to full) which would eliminate all normal hits on the NES and lower them to being hit 113 times instead of every time on the PS. My absorb will be 55 if I wear ribbon, proring, fire shield, opal bracelet. (Ninja only for the shield. I can drop 2 evade and 4 absorb as a thief.) So each time he swings on the NES he does 74 damage and each time he swings on the PS he does 95 damage. But when he attacks he swings twice (4 times after fast) so he actually hits me for 148, 190, 296, or 380 depending on game and haste status.

The expected damage from his spells/skills is 144 for inferno, 128 for swirl and tornado, 105 for ice3, 90 for lit3, 75 for fir3, 60 for ice2, and 257 for nuke.

So his attack damage is actually scarier than his spell damage. (Nuke can only be cast after fast.) These swings all have pretty high variance though, so I while I will get hit by everything I may just take low damage from most of it. But most likely, I'm dead in 7 or 8 damage actions. Probably I have to just burn him out before he casts cur4 (and therefore fast). So I get 7ish attacks to win, more if I get lucky and he attacks me a lot. (But not much more, since if he attacks me a lot I actually die faster.)

Is 7 attacks enough? Well, I'll have equipped masamune at this point. (Or maybe katana?) Masamune has 56 base attack. I will have 54 strength, so I get an extra 27 from that. So I will have 83 total attack. It has 50 hit, for a total of 153 hit and 5 attacks. It has a crit of 40 on the NES and 10 on the PS. Katana has only 33 attack and 35 hit but it has 38 crit on the NES and 30 on the PS. Also, for what it matters, only a ninja can use katana but a thief can use masamune.

Plugging everything into my spreadsheet I have total average damage on the NES with a masamune at 54 per swing. On the NES with a katana is 21. On the PS with a masamune is 34. On the PS with a katana is 17. I have 5 attacks per round so I need 8 rounds to win on the NES with a masamune, 24 on the PS with a masamune, and 47 on the PS with a katana.

I can live 8 rounds for sure and I can definitely get lucky enough to have 8 actions before the full heal, so I'm pretty sure I could win as a thief on the NES. There's no way to win on the PS as a thief. Even if I had infinite life his full heals would come more often than I could deal 4000 damage. Now, I could certainly get lucky with infinite health and get a long enough string of crits to win but the likelihood of that happening seems pretty small.

If I become a ninja then I can cast both fast and temper to boost my own damage. I could try to get lucky and cast slow, dark, and lock to try to make chaos weaker. I have items to use to boost my evasion and to heal myself. Fast alone reduces the number of rounds to kill him from 24 to 12. (+1 for the one to cast fast.) Temper adds 14 to my attack which alone would take me from 24 to 15. Put them both together and I'm winning in 8. This actually doesn't seem unreasonable. I waste two rounds to cast them both so I need to get a lot luckier than on the NES but it just could work.

The debuff spells are essentially impossible to land since Chaos has 200 magic defense and resists status. I think I'd hit 1 time in 201 when I roll a 0 and that's it.

But I don't think I need them. (I guess if I thought I did then I could try over and over to land my 1 in 201.) I am convinced I need to be a ninja though, so I cannot power level to 50 right away. I pretty much have to ding 39, kill Lich, and rush to the class change quest. I think I might be able to kill Chaos if I can pull that off. I just hope I can become a ninja and kill everything before him!

Tuesday, March 29, 2011

8-Bit Theater

Before I'd decided to run the solo thief I'd actually started a game up with a normal sized party. I used a party based on the webcomic 8-Bit Theater which is the best serial webcomic I've ever seen. (It loosely follows the plot of Final Fantasy and has finished. Go read it if you haven't. Read it again if you have!) The party featured in the comic is Fighter, Thief, Red Mage, and Black Mage but I got to name the characters in my game party. Now, these characters are taken to some real extremes so it's hard to match characters up to people I know exactly, but I was pretty happy with my overall choices. Can you guess who is who?











Monday, March 28, 2011

Lich Dropped Out And Got Big

I did a lot of digging yesterday (ok, I googled "how much health does Lich have in Final Fantasy Origins" and clicked each link until I found one with the information I wanted) and I figured out why Lich didn't die when I did way more than his max health to him. It turns out the people at Square who put out the remakes of the game decided to buff his health along with that of some other bosses. (I did notice Vampire didn't die when he should have but since I just hit him again and he died I didn't pay much attention to it.) So while Lich has 400 health on the NES he has 800 health on the PS and actually has 1200 health on the GBA and PSP. I'm not aware of any changes to the game that would justify this so I assume they just wanted to make it harder. Damage dealt in the PS version is actually substantially lower than damage dealt on the NES as it is, so doubling the health of a monster drastically increases the difficulty of the fight. (Crit percentages were a lot higher on the NES due to a bug and crit damage was a lot higher due to what I believe was a design change and not a bug fix as they fundamentally changed the crit damage formula.)

I'm currently working on leveling to 39 to obtain my 4th attack. My hope is the extra magic defense will help make the slow spell miss and coupled with the 4th attack I should be able to beat him, but I'm running out of ways to get more powerful. There is no 5th attack coming until either I become a ninja (and get a much better weapon) or obtain masamune. There is never a 6th attack. The level cap of 50 means my damage gain from strength, evade from agility, and magic defense from leveling is going to run dry real soon. I was pretty sure I could win with the NES values but can I win with PS values? Who else fatted up? I went into the pages at this site and looked through all the bosses. Most seemed to change between the NES and PSP version but only 6 look to have changed between the NES and PS versions.

Vampire - 156 - 280 - 280

Lich - 400 - 800 - 1200
Kary - 600 - 1200 - 1440
Lich #2 - 500 - 1000 - 2800
Kary #2 - 700 - 1400 - 3200
Chaos - 2000 - 4000 - 20000

Vampire was no problem. Lich hurt but I think I can surmount it. The remaining 4 I'm not sure so sure of. An extra 700 health on the second Kary seems like it might be a real problem but I'm hoping it can be done. 4000 on Chaos is shattering my will to go on. Doing 2000 damage at all was pretty daunting. 4000 seems off the chart, especially with the nerfed crit damage. I'm going to press on, of course, but I no longer feel like this is something I can accomplish. I am now wishing my dead idiots were also thieves so I could kill him with 2 thieves. Instead all my buddies were squishy black mages.



Oh, and Warmech has 1000 health on the NES and 2000 health with a 100 health per round regen rate on the PS. Yikes!

Sunday, March 27, 2011

Lich is a Big Cheater!

I leveled up to 28 and made it to Lich. He has 400 health according to every FAQ I've been able to find. I'm sure I did well over 500 damage to him and he still didn't die. So I decided to level up some more and came back at level 32. I kept a running total of how much damage I did to him and it was only 457 this time but that still exceeds 400 by quite a bit so I really don't know what's going on here. Do I need to level all the way to 39 to get my fourth attack to be safe? I wish I knew what my actual goal was so I could work out if I needed to level more or just try again and get luckier.

Friday, March 25, 2011

Lich: A Real Problem

I don't have a whole lot of time to play on Wednesday and Thursday (sleep, work, and raiding all get in the way) so I haven't gotten a lot of shots in on Lich yet. Well, really I've only had 1 actual shot at Lich and about 7 deaths trying to get to him. (On top of mobs that paralyze there are mobs that petrify in his rather large dungeon.) I didn't even come close to killing him the one time I made it down to him. He's basically a bigger, badder version of Astos. Like Astos he has almost a 75% chance to cast a spell. His spells are a little tamer than Astos' are, but only slightly. He casts haste, slow, and sleep. He casts 3 of the level 2 damage spells instead of Astos' 2. He has a second sleep spell. And he has hold, which paralyzes me. It's not quite instant death like rub was, but it hits 15% more often. On top of that his melee attacks can paralyze as well. He has 14 more base damage and 7 more hit but 54 less evade. And the minor matter of 232 more hit points.

The one time I made it to him he landed his slow, stun, and both sleeps. I didn't get any crits and only inflicted around 140 damage total. I feel like this fight should be doable at my current level but I will once again probably need to get lucky. I don't really have any avenues to power up, either. If I get all the way to level 39 I get a 4th attack and every level does grant me .5% dodge, 1% magic resist, and .75 damage per swing so I can power up a little bit. Fortunately leveling isn't tedious at this point at all since I have access to the hallway of giants. The annoying part is going to be sailing back to the starting town to buy more potions every so many fights.

I think my current plan is to level up to 28 or 30 and give it another go. The extra avoid and resist from leveling will help survive the paralyze/petrify mobs on the way down as well so maybe I can fight Lich more than 14% of the time that I try to. (For an undead mob to paralyze me he first needs to land a melee attack and then roll equal to or under 100-MR on 0-200 to land the debuff. Theoretically if I went all the way to 50 they'd have less than a 1% chance to paralyze me assuming they even landed the attack in the first place. But if I did that I wouldn't get to cast ninja spells.)

Thursday, March 24, 2011

Fighter vs Thief

There have been some comments about how a single fighter is probably better than most parties and a single thief is abysmal. I don't dispute either of those claims. My question is, at this point in the game (gearing up to fight Astos) just how comparable are the two classes? I haven't gone over the defensive numbers yet, but offensively the differences are:
  • Fighters can use the silver sword, thieves can use the sabre. The silver sword has 10 more damage, 10 more hit, and 5 less crit. Unless you're playing on the NES that is, in which case it has 5 more crit than the sabre.
  • Fighters get 3 hit per level. Thieves get 2.
  • Fighters are guaranteed a strength gain every level. Thieves don't, but I'm resetting every time I gain a level that doesn't include a strength so I actually keep pace here.
  • Fighters start with 15 more base strength.
  • Fighters start with 5 more base hit.

Assuming Tuesday's post was right I need 3 hits to win as a thief. (Turns out I actually won at level 25.) This requires level 28 to accomplish. A fighter, on the other hand, gets his 3rd hit at level 14. The thief has a base damage of 29 at level 28. A fighter has a base damage of 33 at level 1! He may or may not live as long at level 14 as a thief does at level 28 but if he does he deals way more damage. At level 14 he'll kill Astos in 11 swings on the PS and in 9 on the NES compared to 26 and 23 for the thief. Ok, so we need to delevel the fighter even more so he only gets 2 swings per round. Even if we knock him down to level 7 he still wins on both the PS and the NES in at least 1 fewer round on average. On the NES he actually doesn't even get worse than the thief until we take away his second attack. That's right, a level 4 fighter with 2 swings per round is better at dealing damage to Astos than a level 28 thief with 3 swings per round is. But he'll have a hard time living through 7 rounds... Or will he?

Wednesday, March 23, 2011

Suck It, Astos!

Last night was a long, tedious, but ultimately productive night. I loaded up at level 22 and plowed my way to level 25. At 24 I wandered around a bit to try to find a better place to level and found I could beat the weakest of the 'peninsula of power' monsters but ultimately decided I was dying too much to make up for the extra experience from the fights I could win.

I hit 25 and found I could barely get any experience at all (every level gained increases the chance a mob runs away by 4% and it still took 3 rounds to kill an ogre so they were often running away wounded). I decided there was a fight worth reasonable experience that I could probably handle... The wizards at the bottom of the marsh cave! Astos is pretty much on the way to the marsh cave so I figured I'd save outside his castle and give him a couple spins to see where I was at.

The first fight I got slowed as his second action but still managed to do about 70 damage before I died. The second fight I got rubbed out as his first action. The third fight I got rubbed out as his first action.

The fourth fight he opened with a melee attack while I got a good roll and hit him for 13. He missed his rub and I hit him for 9. He slowed me successfully but I crit him for 28. He then proceeded to melee attack me four times in a row while I hit him for one attack a round. He went through the rest of his spells and I got off a max hit of 14 along with some other decent hits. He missed the dark, the sleep, and his second rub. Coming into his damage spells I had 144 health left and he had 38 health left. He fireballed me for a mere 42. I attacked and crit him for 37. So here we are. He has 1 health left. I have 102 health left. His next spell is a damage spell which can hit for up to 120. I could miss my one swing. Will I win?!?

I ended up going first and hit him for 9, killing him off at level 25. Woo! Without realizing it I gave the D-X 'suck it' motion to the tv as he was dying, hence the title of the post.

The key you ultimately get as a reward for killing him let me get a weapon with 7 more damage and 10 more hit than my current weapon, opening up my third swing and practically doubling my damage output. The next town which was trivial to reach let me buy a new armor piece with an extra 10 absorb and 7 evade. Those changes coupled with the over 500 base health I have at level 25 have turned me into a practical god among men. I entered the next dungeon and monsters I'd never seen before were trembling in fear and fleeing at the sound of my approach. And then I ran into a group of 9 undead who can paralyze on attack and got hit before I could run, wiping out my progress in the dungeon. I really need to find a ribbon, pronto!

Tuesday, March 22, 2011

Final Fantasy: Damage Formula

All information summarized here was provided by this very in-depth FAQ. It turns out the original Final Fantasy on the NES had a plethora of bugs which were fixed on the PS version which I'm playing. This makes things easier in some cases and harder in others. (For one thing it's impossible to become practically immune to being hit with Ruse now.) The run away formula is one of those things. The game still rolls a number between 0 and 15+x and compares with your luck to see if you'll run away, but in the PS version x is your character level instead of some random number with no relevance at all. So on the PS the thief both starts and ends the game as the absolute best runner. (Woo?) But on the down side, the thief will always have a chance to fail at running now while on the NES he was guaranteed to get away as of like level 3.

The formulae I most care about are those dealing with hits and crits. Now, in the original NES version the crit chance was buggy. Each weapon was supposed to have a crit chance value innate to the weapon but instead the crit chance was based on the position of the weapon in the list. So the last weapon in the list had the highest crit chance which substantially boosted the power of Excalibur compared to Katana. Regardless though, that's not the important change for now. They actually changed what crits do. Typically a weapon swing does somewhere between D and 2D damage, with the enemy absorb subtracted. On the NES when you crit you add the random roll in again, without subtracting absorb, so you do at least double damage. If you rolled X then you do 2X-A damage. On the Playstation a crit merely ignores armor. So you do X damage. Now, the game actually forces X-A to be at least 1 regardless, so 2X-A is strictly greater than X. It also means crit don't scale with weapon damage. They actually scale with opponent absorb. Which is just plain weird, I think.

At level 22 I do between 26-52 damage a swing. Astos has 40 armor. So on the NES my crit would average 42 damage and on the PS my crit averages 39 damage. On the NES my weapon would have a 6% crit chance, on the PS it has a 5% crit chance. My non-crits would do 3 damage on average regardless of platform.

As far as odds of hitting go the game actually rolls between 0 and 200. A 0 is an auto-crit, a 200 is an auto-miss. Otherwise you check against 168+hit stat-evade stat. Note that on the NES they cap 168+hit stat at 255 regardless of evade which is why you can become unhittable with max evasion. Astos has an evade of 78 and I have a hit of 52. So 142 times out of 201 I'll hit. On the NES 12 of those would be crits. On the PS 10 would be crits. The difference isn't actually that extreme between the two versions (clearly it's harder on the PS) and as it stands I average a little over 4 damage a swing and need to attack 40 times on average to win. I'll look at incoming damage formulas later but as a rough feeling right now I can survive to attack probably 12 times if I'm lucky. For that to happen I need to have him miss me with Rub, both slows, and the blind. (Though I don't think blind affects crits so maybe that doesn't really matter.) Even still that's only 24 swings and not even close to the 40 I want.

What if I level up some? If I get all the way up to level 26 and keep using my current weapon I continue to only get 2 attacks per round. My average damage per swing will go up to almost 6 per swing and I will need only 30 swings to win. The extra 60-80 health will likely buy me another turn or two as well on top of what the extra 2% dodge and innate magic resistance gains will give me. I may be at the point where I can get lucky and win here. If I switch weapons I get an extra swing per round but actually lose 3 base damage and half of my crit chance. I end up not even averaging 3 damage per round and will need 57 swings to win. If I get all the way to level 28 I'll be averaging more than 6.5 damage per swing and will need only 26 swings on average to win. I'll get the extra swing per round and even more health and damage reduction so I'll probably get to swing 45 times before I die. This seems insanely good. I might need to get lucky to win at level 26 or 27 but at 28 I'm pretty much a lock to win after a few tries.

Unlike the wizards who lived at the bottom of a cave and required me to run from 4-6 fights each way before I could try them I can save right outside Astos' castle and get lots of tries on him. Leveling takes so long I'll probably take a break and try to win a bit at 26 and at 27 but after looking at the numbers I'm pretty convinced I can win for sure at 28 and will therefore keep slogging.

Monday, March 21, 2011

One Step Forward, Two Steps Backward

I made it to level 20 yesterday and decided to give the wizards another shot. My first encounter was with three wizards and I managed to kill one of them before I died. That gave me hope, so I went in again and ran into the optimal two wizards. I managed to beat them down with plenty of health to spare! Victory! I took the crown, drank to full, and went to leave the dungeon. On the way out I ran into some monsters who can paralyze me. They went before I did, paralyzed me, and then slowly beat me to death while I couldn't take any actions. I'd won the battle but not the war, it would seem.

That was discouraging, but I went back in again. A couple tries later I ran into two wizards and they beat me. I tried again. Two wizards, and I won! And then I got paralyzed on the way out and died. I made it down to two wizards twice more, and they beat me both times. At this point I'd spent a couple hours trying with nothing at all to show for it, so I gave up. I played some League of Legends games, watched some Battlestar Gallactica, and then came back. I looked up the stats for the monsters that were paralyzing me and determined another level or two and they'd probably start running from me before they managed to beat me to death so I went to level up some more. This would also help solidify beating the two wizard fight since I was only 2 for 5 as it was.

I gained one level, and then took note of how fast I was gaining experience at level 21. It seemed like it would take an hour and a half to level which was depressing. (It turns out anything I have a chance at beating is scared to death of me and runs away, so not only is my tnl going up by huge amounts but the amount of experience I get per fight is nosediving.) So I went and gave the wizards another shot. This time I beat the two wizard fight and actually ran away successfully from the ghouls in the dungeon and made it to the surface. Victory! I have my crown! I'm one trivial boss fight away from getting the mystic key and with it a huge weapon and armor upgrade, along with access to more places to potentially level up.

Only it turns out that one trivial boss fight is absolutely not trivial for one thief. Normally I have to level up to beat the marsh cave, so when a normal party is good enough to get the crown it's more than good enough to kill Astos. But he's nigh invincible against a thief. I'm not sure it's even plausible to win, though I will look into the numbers further tomorrow to see if I even have a shot at level 28...

Sunday, March 20, 2011

Avoidance vs Mitigation

This is an age old debate that takes place amongst World of Warcraft tanks. Would you rather take less damage per swing or would you rather just get hit less often? In World of Warcraft regardless of the right answer in terms of total incoming damage the reality tends to be you should just stack mitigation and maximum health. The reason is in WoW you have healers pounding heals into you constantly. Depending on the expansion, all a dodge really meant was more healing became overheal. The situation is a little different when you're a lonesome thief in a Final Fantasy game. My only source of healing in combat is to drink a potion which restores such an inconsequential amount that any fight where it could help is by definition trivial. (The 9 pirate fight was a potential exception; I could have hit it at a level where I could burn out 6 of the 9 pirates and then drink to full. Instead I just gained an extra level and killed all 9 pirates with no worry.) So what I'm looking at here is a strict damage prevented amount.

In particular, lets pretend I'm a level 16 thief that failed to scum optimal agility. Fully geared up I have 59 evasion and 6 absorb. I could switch that up and go to 69 evasion and 0 absorb, or to levels in between. Wizards attack twice per round for 30-60 damage a swing. (As an aside, what kind of wizard knows no spells and hits like a truck?) With my gear on, I expect to get hit for 39 damage 77% of the time, for 30 damage per swing. With my gear off I expect to get hit for 45 damage 73% of the time, for 33 damage per swing. So say I stick with the 30 damage a swing setup. They swing twice a round and I have 366 max health, so the 7th swing kills me. I need to have only two show up and then kill them each in two swings to win.

Wizards have an absorb of 16. My attack is 23, so I do between 7-30 damage a swing. I do swing twice, so it is possibly to kill them in two rounds but not likely, especially since they actually have 66 agility for a very high dodge rate themselves.

I actually tried to kill them at level 16 and it felt like I had no chance. I'm sure if I got lucky and crit my first swing on a 2-wizard fight I might be able to win but as it stands I don't have much hope. So my current plan is to level to 20 and hope the extra health buffer, the extra 2-4 damage per swing, and the extra 1.2% dodge will be enough... But realistically, I'm going to need the third attack at level 26 with the bad weapon or level 28 with the good one.

Saturday, March 19, 2011

Final Fantasy: Progress!

I managed to take Garland down without much trouble, but then ran into the problem that the random encounters in the next area were all harder than Garland was. So I had to grind on stupid goblins for several more levels before eventually running my way to Bikke and slaughtering his pirates mercilessly. I boated to the elf town and proceeded to get into random fights right beside town. About half of them would kill me but the other half I could barely win and they were worth 5-10 times as much xp as the goblin fights were, so it was a good deal. The only downside was the inn in the elf town costs 100 gil to use, I had to use it after every fight, and some of the fights I could kill were worth less than 100.

Eventually I hit level 10 (learning along the way that you can actually scum for good hp gain levels, for an extra 19+d6 health if I scum which has to be worth doing) and got my second attack. This enabled me to beat pretty much all the random encounters outside the elf town. At level 12 I was able to do a couple fights before resting and decided to give the next dungeon a shot. I ran my way to the wizards at the bottom (learning along the way that 19 luck is not a guarantee in the playstation version and that monsters that look fast like wolves are hard to run from) and got obliterated. I got to take 1 action before I was dead. Now, that was a group of 4 wizards and I didn't get lucky on dodges so maybe I could have a chance against 2 wizards, right? Wrong. I got to take two actions. A miss and a 1x hit for 10. A quick look at a FAQ shows they have 84 health each, so I was not even close to killing one of them, let alone two.

The problem now is leveling up doesn't make me appreciably more powerful. Do I need to wait until I have 3 attacks to kill them? If I switch to a higher +hit weapon that'll happen at level 26. I'll have more than double my max hp at that time too, so I should be able to win then for sure. Alternatively the wizards hit so hard I could just take off my armour for the extra avoid being naked gives and hope I get lucky. My tentative plan is to level up to 16, crunch some numbers on removing my armour, and trying again.

Friday, March 18, 2011

Final Fantasy: Scumming for Stats

In the original Final Fantasy there is only one way to get bonus stats: to level up. You can level at most 49 times, and can gain at most 1 of each stat per level so there is a very real hard cap in terms of how good a given character (say, a thief) can be.

The stats you gain on level up aren't really as random as you might think though. It turns out each level has a fixed set of stats you're guaranteed to gain (level 2 was a strength, an agility, and a luck for example) and then you have a chance (supposedly 50%) to also get the other stats. So theoretically I could save before every level gain and reset if I didn't get every stat, but that will take a long time. The question is, which stats should I actually scum for? What do the stats do? I did some digging and have a rough idea:

Strength - Every 2 strength increases the damage done per swing by an average of 1.5. I think I'll have 10 attacks at max level with fast up, so every strength is 7.5 damage per attack. This seems pretty good.

Agility - Your base evade is 40 + your agility. No one really knows what the evade formula is, but it seems reasonable to me that the attack rolls a number between 0-255 and if it's under your evade you don't get hit. If that is true, then an agility is worth 0.4% dodge. I'm not sure if the plan for killing bosses is going to involve the ruse shirt or not (probably yes) but if not then this seems good. Otherwise pretty irrelevant.

Intelligence - As best I can tell this stat has no game effect.

Endurance - When you level up you gain max health based on a formula. Either you gain 1 + (End/4) or you gain 20 + d6 + (End/4). So gaining an endurance at level 10 will likely get me 10 max health when I hit the level cap. The early couple endurance are probably worth scumming for, but later ones don't seem too important. I'm better off scumming for a better d6 roll on my big health levels, really.

Luck - Apparently when you're trying to run away the game rolls a number between 0 and (16+x) and then compares that to your luck. If the roll is less than your luck, you run away. But the game is bugged, and whatever they meant x to be it's something else entirely. If the runner is in the first slot then x is based on the status of the character in the third slot. In my case that status will always be dead, so x is 1. As such, if I have at least 18 luck I'm guaranteed to run away. I'm level 6 now and have 19 luck, so unless they fixed the bug in the Playstation version I'm guaranteed to run away.

So it seems like Int and Luck are worthless so I might as well scum for Str and Agi. Maybe End too if I feel like it at the time but I won't worry if I miss some.

Thursday, March 17, 2011

Final Fantasy: Plan

First up will be the original Final Fantasy, though I will be playing the Playstation version since my NES doesn't work and frankly I like the ability to buy more than one potion at a time. And the run button! It's not as good as the walk button but then what is? It turned out I have my completed save game from 4 white mages on my old memory card and can start a new game from there if I wanted. I didn't know what would be different so I went to gamefaqs to see what the difference is. Turns out, not much. You can unlock some more pictures if you play a second game on the easy difficulty but I really don't see a reason to want to play on easy. I did, however, see a walkthrough on beating the game with one white mage. It did seem pretty easy with 4 white mages, so maybe 1 white mage would be cool. But why do what that guy did when I can be a little different? There were also guides on doing it with every other class, save thief. I'm naturally drawn to thieves anyway (Locke was the answer to yesterday's bonus question) so I'm going to try playing with but a single thief. It sounded like it was plausible but could require scumming for levels which I am not above doing, I assure you.

I started out yesterday, got my three black mage friends murdered, and started leveling. It turns out a single thief is really abysmally bad at level 1. Also at level 4. I pretty much can only kill goblins without risking death, and each goblin is worth 6 xp each. To get from level 5 to level 6 requires an extra 975 xp, or 163 goblins. Woo? I did just hit level 5 last night before I went to bed so maybe I'll try to kill Garland. If not, 163 more goblins it is!