Users browsing this thread: 1 Guest(s)
Let's Hack FF6 Stream - Week 2

#1
Posts: 763
Threads: 83
Thanks Received: 55
Thanks Given: 7
Joined: Apr 2015
Reputation: 22
Status
Obliviscence
Hey guys!

Gearing up for the next stream:
Last week was amazing and I was pleasantly surprised by the turnout. This week should hopefully be a bit more polished and I'm hoping there's less confusion on the starting time. In fact... in the hours leading up to the stream I will get a countdown timer on twitch leading up to the event... it can also be viewed here. The stream will start this Thursday at 9:30 PM EST [UTC -5:00]. Be sure to check your timezone and the countdown timer to ensure you know when to be on!

This week:
We are going to continue working through updating the Desperation Attack (DA) system. Last week we identified the code and how the algorithm worked, as well as adjusted the attacks to trigger every single attack and change based on whether the character was in critical HP or not. This week we are going to really get into the hack. In fact, I'd like to have  a plan worked out with your help on this thread so that we can jump right into content on Thursday.

A few notes:
  • Going back over the stream i noticed a few things. We had identified the code that checks for Gau or Umaro as superfluous... it is in fact mandatory, its making sure characters like Leo and Banon don't attempt to use desperations.
  • I am going to be more willing to use some extra space for coding, but hopefully not too much... I just need recommendations on space that can be used without interfering too much with other hacks. The same applies for free RAM (if needed).
  • Since we are going with 2 attacks per character, I'd like to see what people would like to use for each characters second desperation attack. Since we are limiting our scope to Desperation changes only, lets pick from the existing abilities in the game for the second ones... Let me know who you think should get what!
  • Lastly, and most importantly, we need to plan either a new algorithm or a new way to use the the attacks. There was overwhelming support for a Limit-esque system, but I'm also very inclined toward something automatic and algorithm-based. If we go the Limit route, we are looking at probably 2 more weeks of DA edits, since it'll involve a lot of work in battle menus and such. If we go with an edited formula, then we can feasibly finish this week. Let's get creative.

Our code as it currently stands (after last week)
Code:
Desperation Enhancement


C2/15C8: C0 08        CPY #$08
C2/15CA: B0 44        BCS $1610   (No DA if monster)
C2/15CC: EA EA EA     NOP
C2/15CF: EA EA        NOP
C2/15D1: B9 E5 3E     LDA $3EE5,Y
C2/15D4: 89 24        BIT #$24
C2/15D6: D0 39        BNE $1610   (No DA If Muddled or Image)
C2/15D8: B9 E4 3E     LDA $3EE4,Y
C2/15DB: 89 12        BIT #$12    
C2/15DD: D0 32        BNE $1610   (No DA If Clear or Zombie)
C2/15DF: A5 B9        LDA $B9
C2/15E1: F0 2E        BEQ $1610   (No DA if $B9 = 0)
C2/15E3: EA EA EA     NOP
C2/15E6: EA EA EA     NOP
C2/15E9: EA EA EA     NOP
C2/15EC: B9 D8 3E     LDA $3ED8,Y (Which character it is)
C2/15EF: C9 0C        CMP #$0C
C2/15F1: F0 05        BEQ $15F8   (branch if Gogo)
C2/15F3: C9 0B        CMP #$0B
C2/15F5: B0 19        BCS $1610   (branch if Character 11 or above: Gau, Umaro, or
                                   special character.  none of these characters have DAs)
C2/15F7: 1A           INC
C2/15F8: 3A           DEC         (if it was Gogo, we decrement the DA by 1 to account
                                   for Gau -- who's before Gogo -- not having one)

C2/15F9: 09 F0        ORA #$F0   
C2/15FB: 85 B6        STA $B6     (add F0h to modified character #, then save as attack #)
C2/15FD: B9 E5 3E     LDA $3EE5,Y
C2/1600: 89 02        BIT #$02
C2/1602: F0 02        BEQ 02   (No DA If not Near Fatal)
C2/1604: E6 B6        INC $B6
C2/1606: EA EA EA     NOP
C2/1609: A9 10        LDA #$10
C2/160B: 14 B0        TRB $B0
C2/160D: 4C 14 17     JMP $1714

Let's hear what you guys want for the next stream!

Happy Hacking!



The stream:
https://www.twitch.tv/b_run_

Countdown:
https://countingdownto.com/countdown/let...f2266e5341
  Find
Quote  

#2
Posts: 3,971
Threads: 279
Thanks Received: 237
Thanks Given: 58
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
For free space banks $D8, $D9 and $EE (among others) have significant free space for ASM code. People could apply the code without expanding the ROM in this case. I doubt the three I mentioned are used by some patches. You can forget $C0, $C1, $C2 and $C3. There's a list of free space here. For free RAM, $1440-$144F is known to be unused. Pandora's Box use it and I use it for experiments and nothing wrong ever happened. Edit: If you need RAM stricly for temp value that won't be reused more than once or in the same routine, use the stack Tongue

For the algorithm, it would be cool to include character stats. I don't have the game mechanism knowledge to come out with something balanced or that makes sense but just for the sake of a (stupid) example, you could do something like:

Code:
if (magic power * Vigor) > 0x7000
    use second desperation (stronger attack)
else
    use first desperation

I'm curious to see how the second stream will come out!
  Find
Quote  

#3
Posts: 763
Threads: 83
Thanks Received: 55
Thanks Given: 7
Joined: Apr 2015
Reputation: 22
Status
Obliviscence
(03-28-2016, 02:24 PM)Madsiur Wrote: For free space banks $D8, $D9 and $EE (among others) have significant free space for ASM code. People could apply the code without expanding the ROM in this case. I doubt the three I mentioned are used by some patches. You can forget $C0, $C1, $C2 and $C3. There's a list of free space here. For free RAM, $1440-$144F is known to be unused. Pandora's Box use it and I use it for experiments and nothing wrong ever happened. Edit: If you need RAM stricly for temp value that won't be reused more than once or in the same routine, use the stack Tongue

For the algorithm, it would be cool to include character stats. I don't have the game mechanism knowledge to come out with something balanced or that makes sense but just for the sake of a (stupid) example, you could do something like:

Code:
if (magic power * Vigor) > 0x7000
   use second desperation (stronger attack)
else
   use first desperation

I'm curious to see how the second stream will come out!

Thanks for the info!

Using stats would be an interesting way of increasing the frequency later on in the game... and also help it serve as a sort of upgraded attack... That sounds pretty reasonable... The only thing we will have to look out for is giving already strong characters easier access than characters with lower stats... but i'm sure there's a balance here somewhere. Good thoughts!
  Find
Quote  

#4
Posts: 1,633
Threads: 56
Thanks Received: 13
Thanks Given: 84
Joined: Apr 2014
Reputation: 12
Status
Atma
I was also for implementing in DA a boost to damage multiplier as suggested in the previous stream.

There are significant chances that i won't be there since i have university early on friday...  Sad


THE GREATEST CHALLENGE OF ALL TIMES AWAITS:
http://www.ff6hacking.com/forums/showthr...p?tid=2593
DO YOU HAVE WHAT IT TAKES TO SLAY A GOD?
------------------------------------------------------------------------
Tenkarider's project #2 is started: FF6 Curse of the Madsiur Joke (CotMJ)
http://www.ff6hacking.com/forums/showthr...p?tid=2755
What happens when Madsiur tweaks your account? This full game hack will show that!
  Find
Quote  

#5
Posts: 763
Threads: 83
Thanks Received: 55
Thanks Given: 7
Joined: Apr 2015
Reputation: 22
Status
Obliviscence
(03-28-2016, 03:04 PM)Tenkarider Wrote: I was also for implementing in DA a boost to damage multiplier as suggested in the previous stream.

There are significant chances that i won't be there since i have university early on friday...  Sad

We can definitely do this... Especially if we need to pick critical DA's for each person.... we can normalize the damage so that way we can use any ability and it not be overshadowed... it should be easy enough to make tables for ability selection and power.

I'll make the first recomendation. Let me know if you agree/disagree or have ideas for other characters!

Terra: ?
Locke: ?
Cyan: ?
Shadow: ?
Edgar: ?
Sabin: ?
Celes: Shock
Strago: ?
Relm: ?
Setzer: ?
Mog: ?
Gogo: ?

Gau (optional): ? and ?
Umaro (optional): ? and ?
  Find
Quote  

#6
Posts: 378
Threads: 94
Thanks Received: 17
Thanks Given: 26
Joined: Jul 2013
Reputation: 11
Status
Charmed
Y'know...a weaker DA for the early game that can later become stronger later with better stats is actually really interesting and I wish it could become something in the future.
I'm gonna try suggestions then. Not sure if they need to be actual spells or what.
Terra: Based on her Dissidia moveset, Flood or an actually enemy-only damaging Tornado, since they're the only elements that do not come in spell form.
Locke:
Cyan: GilToss? He's a samurai after all.
Shadow: It could manually invoke Interceptor with Wild Fang or Takedown, or perhaps a more unique move.
Edgar: Lancer? Like that FFV skill that replenishes HP and MP. Maybe Sharpnel, as if he attacked with scrapped tools xD
Sabin:
Celes: I like Shock too. An ability for Generals.
Stargo: It could cast an enemy ability not accesible through Lore.
Relm:
Setzer:
Mog: Magnitude 8 or something stronger? He's a geomancer after all.
Gogo: Perhaps Vanish/X-Zone, reminiscent of Famed Mimic Gogo?

Gau would most likely just do a stronger regular attack, like Takedown or Bite or something, I just made that up. Same with Umaro, really. I guess Umaro could go as far as using strong ice attacks, but that's it.


Step forward, spriters! We are also responsible to make hacks look new and fresh, we are no less important than code or ASM hackers! CHARGE!!
Quote  

#7
Posts: 826
Threads: 11
Thanks Received: 22
Thanks Given: 13
Joined: Nov 2011
Reputation: 16
Status
Double
Set that mostly attempts to use original attacks:

Terra could have Goner as her DA. I think it would be cool since it would parallel Kefka's Goner the same way Celes' Shock would parallel Leo's, which I think would be neat thematically.

Locke could maybe attack 4x as if he were equipped with the Offering (probably not at half damage though) while Mugging. I'm not really sold on my idea here personally, and it differs from the others' attacks, so I'm not sure if it would be doable to implement.

For Shadow I'll just follow Kugawattan's lead.

Cyan could Summon Ragnarok perhaps, since it's a giant sword (albeit the wrong kind), which seems up his alley a little bit. I'm not sold on this one either.

Edgar could use Magitek Missile. I think it would fit with his Tools to some degree, and it's not normally accessible.

Sabin's hard, since the ultimate Blitz move is clearly Bum Rush (which is easily accessible for half the game), and not much else really fits.
Brainstorming, I thought of using all the Blitzes as a combo attack, but that would take far too long and wouldn't fit with the rest. Perhaps Spiraler without the associated death that normally comes? Or throwing a character at an enemy like Umaro?

Celes: No disputes here.

I think Kugawattan's idea makes sense for Strago. Goner's already taken with my prior ideas. Perhaps Flare Star?

Relm is mostly just a caster, so Ultima could make sense. It's not creative by any means though.

For Setzer, it's too bad Joker Doom is what it is, or it would be a beautiful fit. Bahamut would feel strange to me as well, but it could work since it's the second most powerful slot.

Mog could use a random rare Dance step.

For Gogo I was thinking along the lines of Kugawattan, but I'd prefer the reference to be Meteo rather than something to do with Vanish + X-Zone.

Gau could use the Pugs Rage. Not sure, it may shoot the player in the foot.

Umaro could just tackle an enemy for 9999. I don't think it would be too broken coming from Umaro, since he's later in the game and his only purpose is hitting things anyways.

Invented Moves:

Even with invented moves, I like Terra -> Goner, Celes -> Shock and Gogo -> Meteo enough to use those. Strago should probably use an enemy's attack, so it shouldn't be new either.

Locke -> Steal an enemy's life force directly, damaging the enemy and healing himself.

Shadow -> An indirect attack that applies all negative statuses to an enemy and all positive statuses to himself, possibly with some damage (even better would be dealing more damage the more statuses the enemy is immune to, but that's a pipe dream).

Edgar -> Some sort of weird combination of his tools. Hit all enemies (Autocrossbow), do decent damage (Drill/Chainsaw), set Poison/Blind/Confuse (Bio Blaster/Flash/Noiseblaster), make enemies weak to a random element (Debilitator), and give the air anchor's effect (Air Anchor). Not sure if there's a fitting animation though, and it might be undoable.

Sabin -> Focus, hits for 2x (maybe 3x or 4x) damage, no back row penalty, ignores defenses.

Relm -> A Sketch move that uses her own stats and doesn't get absorbed (OK, these are getting more and more ridiculous. Laugh ).

Setzer -> Roulette, except it does massive damage (more than the other DAs) instead of being an instant death spell.


Confused Moogles FTW
Quote  

#8
Posts: 378
Threads: 94
Thanks Received: 17
Thanks Given: 26
Joined: Jul 2013
Reputation: 11
Status
Charmed
Actually Lock, Vanish is the Advance name for X-Zone...oh shit, it was banish wasn't it? I play Final Fantasy games mostly in spanish and then I get slammed in the face, like a cylinder wall right into my face, like *BHAM!* and I just scared the crap out of my budgies back there.

Terra with Forsaken, I have no idea how that did not occur to me. I approve.
I also though of Magitek Missile, but for Terra lol but I like it for Edgar.
I like the idea too of Sabin using a "drawback blitz" without the drawback. I think DA need to be unique first and powerful second.
For Relm, you think something around Control? Maybe something that confuses all enemies, like she Sketches modern art the monsters can't understand...LOL
Setzer with that kind of roulette is 10/10
The thing about Gogo is that is regular DA is also Meteo-something, he would be the guy with two kinds of different meteos...not that Banish is any more unique.
Ha, Gau using rages not programmed into the Veldt but existing is also really clever.
Umaro likes intricate bone carvings...there's no bone-type attack in the game, right? :O


Step forward, spriters! We are also responsible to make hacks look new and fresh, we are no less important than code or ASM hackers! CHARGE!!
Quote  

#9
Posts: 76
Threads: 20
Thanks Received: 2
Thanks Given: 4
Joined: Apr 2012
Reputation: 0
Status
None
Terra: Dispelga - Final Kefka's Revenger/Vengeance.
Locke: Steal Gil
Shadow: Assassinate - Gray slash with skull (Yojimbo's Tradeoff/Eye for an Eye ability).
Cyan: Shrapnel/Metal Cutter - looks like spinning blades, but this could be renamed to something more appropriate.
Edgar: Launcher - The enemy ability that shoots eight missiles.
Sabin: Blizzard Fist - Vargas' ability.
Celes: Shock
Relm: Pray
Strago: Flare Star
Setzer: Roulette - the enemy version? I really don't know about Setzer... Maybe a "Dice" ability that would be no different from the actual Dice weapon.
Mog: Lagomorph/Mysidian Rabbit - Dance is compose of Terrain and Animal command from FFV.
Gogo: Meteor - the flaming meteor version.

Gau and Umaro shouldn't get anything, keep them as is.
  Find
Quote  

#10
Posts: 763
Threads: 83
Thanks Received: 55
Thanks Given: 7
Joined: Apr 2015
Reputation: 22
Status
Obliviscence
I'm liking these suggestions... I think we should keep it to existing abilities... then adjust the power or other small edits in the code manually, because i don't want to mess with any enemies that use the abilities.

Here's the list as I'm seeing it so far...

Terra: Goner
Locke: i cant find a good drain that isn't a spell or another character's ability, but maybe Love Token? (in reference to stealing life force and a tribute to Rachel?)
Cyan: Hyperdrive (maybe i can make it AoE or x4 hits)
Shadow: maybe Disaster with some attack power added? (based on Lockirby's idea, only no buffs)
Edgar: Launcher
Sabin: Blizzard Fist isn't a real ability, but i can use Blizzard and make it physical.
Celes: Shock
Strago: Flare Star
Relm: Mind Blast (with some added magic power, thematically appropriate with her skills and as Shadow's daughter)
Setzer: Atomic Ray (but AoE or 4x) or Wave Cannon? (im thinking along the lines of an Airship Air Strike)
Mog: S. Cross (geomancer-ish fire elemental) or even Scar Beam (holy elemental)
Gogo: Meteo

How does this sound so far? I think I'm going to skip Gau and Umaro... too much extra work to add and they will basically never get used.

Also lets talk algorithm... I'm really leaning away from doing the limit thing... im thinking a base 1/16 chance then modify it based on statuses and conditions up to maybe 1/4 normally or even as a bell curve... like each item we check has an independent 1/16 (6.25%) chance... so hypothetically if we have 3 things that would increase it happening we'd get (1-(15/16))^4 (standard chance + 3 more chances) = ~22.75% chance of it triggering, then have critical health be an immediate 50% check. so keeping a character near fatal would trigger plenty of attacks and we would get them occasionally with good conditions outside of near fatal....

Anything in this post can change... so feel free to disagree with anything ive talked about. And if anyone whos mechanically-minded wants to put some more thought into the algorithm id welcome the help!

Thanks for the input! Keep it up!
  Find
Quote  



Forum Jump:

Users browsing this thread: 1 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite