Golden Sun Hacking Community
December 18, 2018, 10:55:26 AM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  Home Forum DC Wiki Help Search Calendar Downloads Login Register  
  Show Posts
Pages: [1]
1  The Editor / Golden Sun Hacking / [WIP] blanky's formulas on: October 18, 2018, 03:43:20 AM
Currently laying some groundwork for a hack centered around improving replayability and the hard mode feature. It would probably take forever for me to actually finish a full hack, given my busy schedule, but I plan on implementing the features one by one and releasing mini-patches so that nothing goes to waste either way. (The semi-randomized enemy drops patch was the first of these mini-patches.)

But every hack needs a mechanical foundation. So basically I plan on overhauling a variety of formulas in the game to achieve a semblance of balance. Yes, more formula hacks seems redundant. Stay with me here. Note that these are, as of right now, all very rough drafts. I would love it if the community could give me feedback or ideas for better implementation.

HP & Atk stat growths are assumed similar to vanilla.
Def stat growth is assumed doubled from vanilla. (see:Physical damage)
Casting is a new stat. (see:"Magic" damage)
Agility is now capped at 255.
PP may or may not be reduced subjectively.

Physical damage: [(Lv*8+Additive modifier)(Atk/Def)*Multiplicative modifiers]
The italicized portion (Atk/Def) would be capped at a minimum of 0.5 and a maximum of 1.5. This formula shifts the value of the Defense stat so that it's every bit as good as attack, rectifying the obvious imbalance between the class multipliers for the two stats. Not counting modifiers like resistance the formula acts as follows:

--(~200) damage at level 50 if Atk/Def equals 0.5 or less
--(~400) damage at level 50 if Atk/Def equals 1.0
--(~600) damage at level 50 if Atk/Def equals 1.5 or greater

--(~396) damage at level 99 if Atk/Def equals 0.5 or less
--(~792) damage at level 99 if Atk/Def equals 1.0
--(~1184) damage at level 99 if Atk/Def equals 1.5 or greater

I got the idea of Atk/Def as an equalizer from the Pokemon damage formulas.

"Magic" damage: [Base*Rand(1.0 to 1.25)*4(CurrentCastStat/MaxCastStat)*Modifiers]
The italicized section is capped at a minimum of 1.0. CastStat refers to a new stat, similar to Intellect in Salanewt's patch. The idea here is that until you pass 25% of the max stat (so probably 250) the psynergy would do its base damage, modified only by a small amount of randomness (to make it feel less controllable than physical attacks). But after that it would gradually increase to its final damage of about 4*Base. Ignoring resistances a psynergy with a base power of 200 would act as follows:

--(200-250) damage at <250 CastStat
--(400-500) damage at ~500 CastStat
--(800-1000) damage at 999 CastStat

Keep in mind that base powers can be modified suitably. The goal here was just to implement scaling properly. I took inspiration from some of the newer Dragon Quest games for this formula, since they too once lacked a proper magic stat before adding one in.

Healing: [Base*Modifier*(1+CurrentCastStat/MaxCastStat)]
Yep. Scaled healing. Note that base powers would be modified properly to fit this model. The differences between Mercury and non-Mercury would also be less drastic, probably by substantially nerfing Mercury. It's okay for Mercury healing to be slightly stronger but it shouldn't render other healers inviable.

Enemy stat growth: [Growth*Level(1+Level/100)]
The section in italics is capped at 1.5. The idea here is to have every enemy's stats calculated and save those results to RAM instead of having fixed stats. Why bother? Because by adding subroutines for (level+a IF flag is set) you can have monsters that grow stronger as you progress through the plot AND that can scale properly for a New Game+ mode. Instead of vanilla's total cop out x1.5 Atk/HP mode.

Are you wondering what the italicized section is for? It's to simulate character growth. While you keep getting djinn and classing up, monsters don't get that luxury. So instead they're given a modifier based on their level that reaches 1.5 at level 50 and then stops. (This way monsters never become totally insurmountable after you STOP getting new djinn.)

Note that this could also save a few bytes in monster data (if those hardcore hackers really need them) because growth stats should never come close to the monster's original stats. This might also indirectly remove the caps from monster stats, depending on how it's coded. Not sure.

Easy option: Simple Success Rates patch+Enemy Specific Immunities patch

New option: Give each monster a resilience stat (0-100). Change the status formula to (Base acc-Resilience). Which should save substantial space since that's a simple formula. And here's the fun part. Give every monster a "family" byte that determines which abilities they are and are not immune to. Families would be things like Boss, Dragon, Aquatic, etc.

And of course it would have the same benefits as the enemy specific immunities patch. Want a lightning unleash that always paralyzes flying enemies? Done. How about a bait item that distracts animal type enemies? Gotcha. A holy themed psynergy that instantly removes undead enemies from your sight? Say no more fam.

Dodge rate: [Agility/(Level/20)=Dodge chance]
This one's definitely a work in progress and may or may not see the light of day. The general assumptions are (A) dodge success will be checked BEFORE unleash rate so agile monsters can effectively dodge late game uses of the attack command, (B) items will be modified to restrict access to broken agility boosts in the early game, and (C) class modifiers for agility are kept modest, maybe even within a -20% to +20% margin.

The core goal here is to make agility just as worth optimizing as the other stats. Instead of just determining turn order, this change would allow players to toss some end-game agility focused gear on a Ninja and turn it into an honest to goodness dodge tank build.

A hard cap of perhaps 50% dodge rate is probably necessary. But these so called dodge tanks are still vulnerable to everything except normal attacks...unless I can set a value on the monster skill EPAs that allows them to skip to a dodge animation as well. No promises.

Other changes
Summons. Nerfing. Question is how. On Discord we discussed several options, from implementing a special meter, to inverting the damage formula so they only do their full damage to weakened enemies, to implementing a "disabled" mode for djinn instead of out of battle standby, to just reducing or flat out removing the HP modifier. It's hard to find an answer that feels right because summons are integral to the game but BROKEN AS THE GOLDEN GUN.

Personally I'm leaning toward the inverted damage formula, with a few modifications to allow summon rushing to still be an option without being THE option.

ELevels would probably be removed from all formulas, as it's otherwise wasted space on enemies. Ailment recovery might just be a set number of turns, or perhaps based on agility or the new casting stat. Dunno yet.

I might also add a formula that factors in both Atk and CastStat. This would be useful for a few things, like making maces and light swords that feel right on both melee and mage characters.

Last, and honestly least, I want to move the equipment calculations so that multipliers only apply to the character, not the equipment. The fact that Sol Blade can have anywhere from 160-340 attack depending on Felix/Isaac's class does not make sense to me. It's the same sword. Ancient magical swords of legend don't just randomly lose their sharpness because you happen to be holding a black book.

This is all I have for formula discussion at the moment. Please tell me about every mistake I made in my calculations and assumptions. Thank you.
2  The Editor / Golden Sun Hacking / Re: Vanilla's skill/strat viability tiers on: October 16, 2018, 01:46:35 AM
Shifted the tiers a bit. Multiplier EPAs have been split into two groups. The first group is (loosely) EPAs that have a multiplier of 2x or more like Call Dullahan and Legend. The second group is essentially Geode and lower. Buffing and debuffing have also been split up since, as pointed out, Def buffing is really just not as good.

Wish and the high EPAs get their own tier, as Caledor suggested. They're clearly better than buffing. Agility buffing and Venom are useful on a few bosses...but do nothing against 90% of the bosses in the series. I bumped them up to a "not quite useless" tier for now.

As for Ghost Soldier it is undeniably the best additive EPA in the game...but that's not saying much tbh. I don't think Atk+170 demands a tier shift compared to Atk multiplied by...well anything greater than 1. Multipliers just straight up ruin the math lol. If Ghost Soldier gets another upvote I'll definitely reconsider it.

One odd one out for me is Kite. In the right strategies it's crazy strong. But in standard usage it's actually pretty middling. Hard to tell where that one should go imo.
3  The Editor / Golden Sun Hacking / Vanilla's skill/strat viability tiers on: October 15, 2018, 06:49:53 AM
Yes, obviously summons and Megiddo rule the game. But where does everything ELSE rank?

This topic can be deleted if it's already been done somewhere. In the interest of rebalancing the game I think it would be useful to have a list of viability tiers based on the vanilla effects. Feel free to argue that a skill is in the wrong tier because that's the point of posting it.

And yes I know there's already a dedicated rebalance patch. But there are multiple approaches to balance and it's fun to explore them.

(S) The skills that can arguably comprise the optimal loop.
- Summons
- Megiddo
- Lull
- Barriers (Flash etc)

(A) Powerful skills that are not necessary for the optimal loop.
- Pure Wish
- High multiplier EPAs (Legend, Call Dullahan, etc)

(B) Endgame viable, but not needed at higher levels.
- Atk/Res buffing
- Revive
- Break
- Kite
- Status restoration

(C) Endgame viable, but not standard-setting.
- Rime
- Other Multiplier EPAs (Geode, Quick Slash, etc)
- Def buffing
- Eddy
- Petra/Ground
- Pure Ply

(D) Not endgame viable but usable in earlier stages.
- Base damage skills
- Additive EPAs
- Stat debuffing (other than agility)
- Non-Mercury healing
- Bind

(E) Occasionally helpful but VERY situational.
- Venom
- Agility buffing/debuffing

(F) Literally never helps with a single boss.
- Every status not listed above
- Drain/Psy Drain
4  The Editor / Golden Sun Hacking / Re: Question about mode Flags on: September 08, 2018, 12:21:07 PM
I would definitely appreciate that if you get the chance. The consensus on Discord was the same, that it probably just skips the function that resets stats or something like that. But I didn't see any explicit mentions of easy mode in the documentation so I thought I'd ask just to be safe.

I hate to go through all the trouble of looking for that function and modifying it just to find out later that there was a simple flag to toggle. :p
5  The Editor / Golden Sun Hacking / Question about mode Flags on: September 06, 2018, 10:47:16 PM
Does anyone know if easy mode and hard mode set flags and if so what flags they are? I thought features or scripts that change to match your mode might be interesting...until I realized that the ROM map has very little documentation about the difficulty modes.

EDIT. Oops. Hard mode is 0x2E. So I guess I only need the flag for Easy mode now...if it exists.
6  The Editor / Golden Sun Hacking / Re: Passive abilities on: September 03, 2018, 12:35:12 PM
I'm no wizard but I understand the basics. Pretty sure I could implement a few simple passives myself with more free time but since my days off are disgustingly rare I don't get to tinker much. Right now I'm just bringing it up in case people haven't already considered it.

Imagine a caster class that regens (1pp*set djinn) per turn. After applying equipment it would allow for a psynergy spamming build that opts not to summon rush for more casting power. There are limitless cool and quirky possibilities for passives so I just wanted to point out the potential.
7  The Editor / Golden Sun Hacking / Passive abilities on: September 03, 2018, 10:17:32 AM
So I've been lurking the hacking section for a while and I had an idea for a feature that no one has implemented it yet. Note that it absolutely requires ASM but most cool things do.

Passive abilities. Golden Sun's engine might seem too simple to have these, but Pokemon is a simple game and they made it work. The obvious downside is that every passive would require additional checks and routines strewn throughout the formulas.

But I think adding some basic passives to the classes like "auto-cast Impair once per battle" or "take half damage from fire/Mars" or "recover faster from ailments" would make the classes feel more fleshed out.

Right now classes only really matter for what your favorite animations are. If a certain class was better for grinding whereas another is better for bosses, the situational nature of passives could encourage more strategy.

As for display, it could just replace status on the menu. Most players already know they're poisoned or w/e...we were there when it happened. Instead of checking status it could check class and display the appropriate passive instead of the usual, mildly annoying "Enemies gave you syphilis...again." Or it could be added just underneath that maybe? But that's harder.

Anyway...I don't really know if I'll pursue this since stringing opcodes together on my slow laptop is a headache, but I thought I'd mention it as a possibility. Adding a few more checks and branches is relatively easy compared to big stuff like custom maps complete with event scripts, warps, and encounter data. Kind of a lazy way to make the game feel new.
Pages: [1]
Yesterday at 06:43:36 AM
Salanewt: Okay, minor announcement I guess. We just looked over some pre-release footage of GS1, and noticed that one of the unused and unlisted animations we discovered in GS2 (and GS1) plays in that footage. "Brine" is actually an early Fizz.
December 15, 2018, 01:06:23 AM
Fox: :D
December 15, 2018, 12:58:01 AM
Fox: A banana for you, a banana for me, a banana to your face. Your face is mine! A face for you, a face for me. A face for the banana too. Who wants to feed the banana?
December 09, 2018, 07:43:31 PM
Fox: A banana for you, a banana for me, let's all open a banana and enjoy!
December 08, 2018, 09:48:52 PM
Drake baku: ba... ba.... bana.... bana.... banana.... nanananananananana..... and now back to doing normal, kinda
December 07, 2018, 05:43:02 PM
Luna_blade: Hey I forgot the christmas theme
November 29, 2018, 09:01:09 AM
zman9000: ded
November 19, 2018, 11:05:28 AM
Drake baku: Good day to ya all
October 30, 2018, 09:45:58 PM
Atrius: There used to be where I got the battle sprites for Kraden, but that site doesn't exist any more.
October 26, 2018, 01:31:40 PM
Infitek: Do you know if there any custom Alex battle sprites available on the internet ?
October 26, 2018, 01:31:01 PM
Infitek: Hey everyone
October 13, 2018, 03:23:06 AM
Salanewt: Updated it to provide more info that I forgot to mention.
October 13, 2018, 03:16:48 AM
Salanewt: I'm still trying to iron out IQ 2 but I'm pretty sure it's entirely random targeting.
October 13, 2018, 03:16:29 AM
Salanewt: Oh yeah, I posted some more info about enemy IQ.
October 12, 2018, 09:51:27 PM
FoxThe HTML5 project is too small to count
October 12, 2018, 06:19:48 AM
Luna_blade: there is jjppof's html5 project...
October 12, 2018, 06:19:17 AM
Luna_blade: Though Momo rings a bell it seems I came here after you left
October 11, 2018, 12:49:41 AM
Fox: (If that makes sense.)
October 11, 2018, 12:48:33 AM
Fox: Yeah, I guess so.  More just saying that's a good place to get answers to GS related questions at the moment.
October 11, 2018, 12:42:28 AM
Crystal Sonata: I did before, but I guess I could try it again

Temple of Kraden Golden Sunrise
Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!
Page created in 0.152 seconds with 21 queries.