Golden Sun Hacking Community
January 27, 2020, 04:38:02 AM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News:
 
  Home   Forum   DC Wiki Help Search Calendar Downloads Login Register  
Pages: [1]   Go Down
  Print  
Author Topic: Randomizers  (Read 3231 times)
0 Members and 1 Guest are viewing this topic.

Novice Member
*

Coins: 20
Offline Offline

Posts: 10

« on: September 04, 2019, 05:12:52 AM »

I thought I'd start a thread on randomizers, as I recently released a randomizer for GS1 and I've made significant headway with GS2. This first post will probably become some form of documentation further down the road and edited as needed. Responses will be useful for bug reports and suggestions.

GS1:
  • Djinn: Randomly swaps all 28 djinn.
  • Summon requirements: This changes the element of set djinn required for each summon. For example, Boreas could require either 4 Venus djinn or 4 Jupiter djinn. It's possible to have no use for Mercury djinn.
  • PC elements: This shuffles the initial element of the PCs, and you'll end up with one PC per element.
  • Class requirements: This shuffles element requirements for each set of classes, and rescales requirements if necessary. For example, the Guard set of class requires 5 Mars elements, and will never need more than 5 total, even if it becomes a double or triple element class.
  • Equippable weapons/armor: This changes who can equip what.
  • Key Items: This randomly swaps key items in the game, ones that contain psynergy or are necessary for beating the game. Items include Catch Beads, Empty Bottle, Dragon's Eye, Orb of Force, Douse Drop, Frost Jewel, Lifting Gem, Boat Ticket, Anchor Charm, Mystic Draught, Cloak Ball, Halt Gem, Cell Key, Red Key, Carry Stone, and the Black Orb.
  • Boss Drops: Either Kraken, Toadonpa, Storm Lizard or Deadbeard will drop a key item.
  • Dialogue suppression: It suppresses most (not all) dialogue. It helps speed through cutscenes.

GS2:

The GS2 randomizer will do many similar things to GS1: djinn, summon requirements, class requirements, PC elements, and equippable weapons and armor. Some additional stuff:

  • Key Items: Lash Pebble, Pound Cube, Scoop Gem, Healing Fungus, Laughing Fungus, Black Crystal, Cyclone Chip, Tremor Bit, Ruin Key, Sea God's Tear, Pretty Stone, Red Cloth, Milk, Li'l Turtle, Aquarius Stone, Burst Broach, Dancing Idol, Left Prong, Center Prong, Right Prong, Trident, Grind Stone, Shaman's Rod, Hover, Douse Drop, Frost Jewel, Carry Stone, Lifting Gem, Orb of Force, Magma Ball, Teleport Lapis, and Mars Star.
  • Tablets: These can all be shuffled. For example, the Zagan tablet can teach Sheba Sand.
  • Default psynergy: Mind Read (Sheba and Ivan) and Douse (Piers) can be swapped with tablet psynergy.
  • Retreat: It can be used anywhere, primarily to prevent softlocks in the psynergy tablet rooms.
  • Overworld Retreat: This work like Teleport, but lets you backtrack to any previously visited location on the overworld map.


At this point all of these have been setup and tested. I just need to do the logic for the key item and tablet randomizers, and then test it to ensure there are no softlocks. I think it'll take a few weeks, but my GS1 randomizer will help a lot with that (I think). That said, there's always a new bug to find.

Future work:

I think this really depends on feedback. A few things I'd like to try are shuffling weapon unleashes and scaling up the battle difficulty progressively. An all item randomizer might work for GS2 (way more difficult for GS1, unless I missed a table). We'll see how it goes.
Logged
View Profile

New User


Coins: 20
Offline Offline

Posts: 3

« Reply #1 on: September 18, 2019, 08:48:23 PM »

I immediatly got stuck because i had no access to Whirlwind before Goma Cave :/
Logged
View Profile

Novice Member
*

Coins: 20
Offline Offline

Posts: 10

« Reply #2 on: September 19, 2019, 02:13:43 AM »

Thanks for post. It turned out to be a quick fix, so I posted an update. I tested this on seed 416416, and checked logs of about a dozen other seeds. Let me know if it works for you.

If you still have your save file, you can continue your playthrough. Just generate a new rom from scratch with the same seed and reset your classes by moving your djinn around.
Logged
View Profile

New User


Coins: 20
Offline Offline

Posts: 3

« Reply #3 on: September 19, 2019, 09:52:00 AM »

Yeah all the classes changed and with a Ninja i can Gale it.

How does the fix work? does it allways give you a ninja/wind seer now?
Logged
View Profile

Novice Member
*

Coins: 20
Offline Offline

Posts: 10

« Reply #4 on: September 19, 2019, 11:29:48 AM »

Great!

Yeah, at the moment you will get Wind Seer/Ninja for Whirlwind/Gale before the cave, as well as Water Seer/Dragoon for Ply. It makes the default classes heavily biased, but I'm toying with some ideas for improving that. Whirlwind and Ply could be set as default psynergy, like Retreat and Move, or I could just add them to additional classes.
Logged
View Profile

New User


Coins: 20
Offline Offline

Posts: 3

« Reply #5 on: September 20, 2019, 01:10:45 PM »

Well, i beat it :P
Besides the Goma cave thing (which was fixed) and me not knowing you could get fuchin fall's treasure without the dragon's eye, i ran into no problems

Worth noting, maybe, is that as far as i'm aware, 3 of the djinn were impossible to get, as it was impossible to get the Orb of Force, Catch beads, and Cloak Ball
« Last Edit: September 20, 2019, 01:13:32 PM by 2tousent » Logged
View Profile
Misery
Bad Luck

Great Member
***

Coins: 20
Offline Offline

Gender: Male
Clan Position: Mercury Hack Leader
Posts: 714

« Reply #6 on: September 24, 2019, 08:04:13 PM »

This was fun. Beat the game (seed 342146), and I have some notes and suggestions.

-Give Ivan whirlwind as an innate psy if possible, it doesn't impact gameplay much and imposes less on class randomization than forcing one of the classes to be available at a certain point.
-As we noted, Dragon's Eye is not actually needed anywhere, since you can get the other key item from Fuchin Temple without it. So it should probably stay in its normal location and be excluded from the pool of key items.
-Class randomization results in a lot of inaccessible classes due to other classes of the same type appearing later in the list. For example, in my seed Guard and Hermit have the exact same type and requirements, meaning no one can ever be a Guard. Checking so that classes that require three elements appear after ones requiring two if they use the same class type value would go a long way towards variety. As would not generating duplicate requirements, of course.

Additional stuff I'd like to see:
-Option to ensure all gear can be equipped by at least one party member. Assign completely unequippable items to one random party member after the initial randomization to avoid increasing the overall chance of being able to equip items.
-Option to keep higher total elemental level requirements for (originally) tri-elemental classes. As it is they go well with the general randomization quirkiness, but they'll have much higher stats across the board while requiring few to no djinn, so it would be nice to be able to separate them.
-Randomization for non-key items. I guess this is what you meant by all item randomizer.

We also talked about randomizing psynergy learnsets for classes. There are several ways that could be implemented, maybe I'll get back on that later with some ideas.
Logged
View Profile

Novice Member
*

Coins: 20
Offline Offline

Posts: 10

« Reply #7 on: September 25, 2019, 02:18:56 AM »

Thanks for playing and for the feedback. As it sounds like you had no urgent bugs, I think I'll keep focusing on GS2 at the moment. But don't worry. I'll include your suggestions in GS2 when applicable, and apply them to GS1 shortly after that release.

A few thoughts:
  • I can include guaranteed equipping as an option.
  • I've started rescaling class boost stats to deal with the OP default tri-elemental classes. Yay or nay? It's just a line function of the total elements, at least from what I can tell.
  • I think I'll include lots of options for classes: element requirements, psynergy, boosts, levels, and whatever else. User picks what they want.
  • What first comes to mind for psynergy movesets is completely random, random but grouped (e.g. if a class gets Ply, it also gets the other Plys), or swapped (e.g. Squire psynergy becomes Wind Seer psynergy). Any other ideas?
  • For inaccessible classes, maybe I could write a new script for setting the class type and give each class a unique type (kind of like the class items in GS2). I'll look into that.
  • Yeah, all-items is interesting but tricky. Let's get back to that when my TODO list dwindles.

Logged
View Profile
Salanewt
His Sexiness
Global Moderator

Oh yeah, baby!

Prodigy
*

Coins: 200
Offline Offline

I am: A part of the organization of Cool Cats, but more of a dog person in reality.
Emblems: Have a nice day.
Posts: 4592

« Reply #8 on: September 25, 2019, 02:28:31 AM »

Hey, just a small heads up that I moved your tools to the Utilities section; should make them easier for future users to find too. :P

Also, nice work! May I suggest implementing an option that changes/randomizes the base class modifiers? For example, to base 5% instead of 10%.
« Last Edit: September 25, 2019, 02:36:10 AM by Salanewt » Logged

Oh yeah baby, £ me harder.

Fusion is just a cheap tactic to make weak Adepts stronger.

Yoshi's Lighthouse is a hacking website in progress. Why not check it out if you like Yoshi or the Mario & Luigi games?
View Profile WWW
Misery
Bad Luck

Great Member
***

Coins: 20
Offline Offline

Gender: Male
Clan Position: Mercury Hack Leader
Posts: 714

« Reply #9 on: September 25, 2019, 07:43:46 PM »

Must be quite a bit of work to put everything together for a GS2 randomizer, but I'm definitely looking forward to it.

Quote
I've started rescaling class boost stats to deal with the OP default tri-elemental classes. Yay or nay? It's just a line function of the total elements, at least from what I can tell.
Yay... I think? As long as you keep it optional.
Initially I reacted to getting those classes right at the start - I had Dragoon and Ninja as base classes, and White Mage available with one djinni. But they're not as "OP" as one would expect due to not having access to their abilities. The main benefit comes from them being tankier, especially when you have more djinn available and can use them without stat penalties.

Quote
What first comes to mind for psynergy movesets is completely random, random but grouped (e.g. if a class gets Ply, it also gets the other Plys), or swapped (e.g. Squire psynergy becomes Wind Seer psynergy). Any other ideas?
That's basically what I had in mind as well, sounds like you've got everything covered with the options you listed earlier.

Quote
For inaccessible classes, maybe I could write a new script for setting the class type and give each class a unique type (kind of like the class items in GS2). I'll look into that
I can't imagine how you'd actually assign the type, but if you can figure out something that works then go for it. However, the system in place is still fairly flexible (aside from types 1, 2, 6 and 7). Rather than making a new system, it seems like less work to make sure that when multiple class lines use the same type, the later entries:
  • Don't require the exact same elements
  • Don't require fewer different elements (no dual elementals after triple elementals)
  • Always require at least 1 level in any element that isn't the type's primary element
Following those conditions, you shouldn't run into the issue of inaccessible classes. Although for everything to have the same chance, you'll have to move the actual class data around, otherwise it will be much less likely for something like tri-elemental Squire to be generated.
Logged
View Profile

Novice Member
*

Coins: 20
Offline Offline

Posts: 10

« Reply #10 on: November 15, 2019, 04:25:50 AM »

I have several updates to mention:
  • GS1 rando code is now available on GitHub. If the exe doesn't work for you, you will have to use the source code to run the randomizer.
  • GS1 updates were made thanks to feedback. The main things are randomizing psynergy in classes, adding utility psynergy to PCs as defaults (Growth, Whirlwind, Ply), some more options for equipment, shuffling PC stats, and Retreating in the overworld (works like Teleport from TLA).
  • A beta version of GS2 TLA is up. I does the same things as GS1, but is quite a bit more interesting with the larger number of key items and the inclusion of tables. If the executable doesn't work for you, there are 3 demo patches available.

My primary focus now will be on cleaning up the GS TLA code and releasing that on GitHub. Once I do that, I'll consider it a full release (no longer a beta version).

Any feedback is welcome, especially thoughts and suggestions for randomizing enemies. I really would like to randomize them as much as possible, but they really would need stat modifications to do so, and there are no clear constraints to enforce how that works. I don't think I'll shuffle all items or town/cave locations until something can be sorted out with enemies.

GS1 randomizer and github
http://forum.goldensunhacking.net/index.php?action=downloads;sa=view;down=120
https://github.com/MarvinXLII/GS-Randomizer

GS2 randomizer (beta);
http://forum.goldensunhacking.net/index.php?action=downloads;sa=view;down=122
Logged
View Profile
Pages: [1]   Go Up
  Print  
 
Jump to:  

Cbox
December 24, 2019, 09:33:09 PM
Fox: Even just plain Editor work can make some difference. = At least these forums are indexed on the Search engine. I was also curious about whether to um... go through all the topics on these forums and take all the important stuff out/placed into a folder for a bit of organization. Would be a bonus since if something ever happened to this forum, or if we ever wanted to start afresh again, it wouldn't be that difficult to do so.
December 24, 2019, 09:23:03 PM
Fox: One thing is for sure. This place has become completely dead. (Mostly because of Discord.)  = I don't think much will happen with this forum unless I, Salanewt, or someone else does a thing.
December 24, 2019, 09:18:05 PM
Fox: Probably not?
December 24, 2019, 06:51:08 PM
Luna_blade: I suppose this is the last Christmas of this forum? 
December 24, 2019, 06:50:51 PM
Luna_blade: Yay thanks for the coins
December 19, 2019, 04:39:45 AM
Fox: Okay, another thought... "gsmagic" could be the code name/project name... and "Golden Sun Magic" could be the more formal official name... (As in using both names.)  -  I still need to look into these other games as well... so who knows if it could be better to call it Camelot Magic if those should ever be supported to a decent standard.  Would probably be a long time from now, though. As I can be pretty lazy.
December 18, 2019, 10:01:39 PM
Foreclosure: gsmagic is fine
December 17, 2019, 05:44:32 PM
Fox: Also. I call my program "gsmagic" and not "GSMagic" =P (Not asking for correction/I being silly)... Had to call it something, so picked something short.  Maybe I should rename it to Golden Sun Magic later. *shrug*
December 17, 2019, 05:35:04 PM
Fox: (And "Golden Sun" instead of "GS" to reduce confusion that would likely not be there anyway... when "Golden Sun" doesn't take up much space to start with. (Imagine being new and thinking GS meant GameShark, or some other oddity. Ew.)) - All just thoughts...I'm still going with most of this not mattering that much, though.
December 17, 2019, 05:12:55 PM
Fox: "Misc. GS Hacking" = That name looks odd, so I'd probably just go with "Golden Sun Hacking"
December 17, 2019, 05:08:05 PM
Fox: I tempted to also suggest the Editors can go in the first category. Since the Editor is the reason this place exists in the first place. (I think.)
December 17, 2019, 04:53:19 PM
Fox: (combined = Not meant to be taken literally... but rather.... to generalize things more, since it apparently looks like we don't need the extra space no one is using.)
December 17, 2019, 04:48:49 PM
Fox: Worse still... we've only used those for Golden Sun content.... and there's not much there.
December 17, 2019, 04:45:53 PM
Fox: E.g. Maybe everything in "Assets & Discussion" could be combined with "Creative Works".... I don't feel like sound and art apply to general hacking anyway... that only comes into play when you have tools to insert them.
December 17, 2019, 04:40:26 PM
Fox: categories and/or forums
December 17, 2019, 04:36:48 PM
Fox: Everything else seems to be about right, though. Perhaps some categories could be combined(?), but doesn't really matter that much.
December 17, 2019, 04:33:03 PM
Fox: (I still think The Community section fits best at the bottom. =P)
December 15, 2019, 05:10:04 PM
Salanewt: Heya! I'm planning to get the demo up today, but if you can't wait then it's already available on the Discord.
December 15, 2019, 04:12:27 AM
Fox: (Then sell the badges on the Trade Center for a very high price... and give a lot of active people coins to buy them with, so they can basically transfer the coins to me if they want something... Gosh I could be a naughty hoarder. =P)
December 15, 2019, 04:06:19 AM
Fox: I'd buy up all the stock for each item too... but man... I think I'm too lazy for that. =P
December 15, 2019, 04:01:24 AM
Fox: There we go. That should be all of them.
December 15, 2019, 03:25:32 AM
Fox: Duplicates will still show up as separate entries on the profile as well. Interestingly enough.
December 15, 2019, 03:18:25 AM
Fox: (Well, one of each badge, at least.)
December 15, 2019, 03:18:08 AM
Fox: Now I can buy up the whole shop. :3
December 14, 2019, 08:58:08 PM
Foreclosure: Guys, I really want to see the AI overhaul demo... please fast! :D hehehe
December 14, 2019, 08:57:33 PM
Foreclosure: I sent 2 thousand coins for ya bro
December 14, 2019, 01:31:38 AM
Fox: In my opinion, even with the old system where it was set up so you could only coin people once per hour... I think it would have been far more fair if we could have also coined ourselves hourly.... since people have favoritism for certain people.... I feel like that could mitigate it some. At least to get badges that people care about the most. - Unlimited coining sounds like a step further than that, which is interesting... :)
December 14, 2019, 01:12:00 AM
Fox: Do note, that people can't coin themselves... but I feel if you got someone who's willing to transfer the coins you give them back to you... it is as though you have that coin option on yourself anyway....
December 14, 2019, 01:07:29 AM
Fox: Go to any of my forum posts, look for where it says Coins... under that, you'll see [increase] , clicking that will give me coins. You won't lose anything for doing so. Click it as much as you like... Under that, you should see Send Money (a faster option if you got the coins). Use that link to transfer your coins to me of any amount you want. (e.g. Put in 2000, means I get 2000, you lose 2000... but if I've already given you 2000+, you don't really have to see it as actually losing anything.)
December 13, 2019, 03:42:39 PM
Foreclosure: How do I return favor, sir?

Affiliates
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.17 seconds with 22 queries.