AotI Offline (Unofficial) Expansion: Despair and Hope

Topics about modding PSU. The home of the offline project.

Re: AotI Offline (Unofficial) Expansion: Despair and Hope

Postby Agrajag » Wed Apr 27, 2016 3:53 am

Let's talk about... PRS compression!

Back in the Sega Saturn days, Sega introduced an LZ77 variant, typically used in .prs files (hence the term!). While Sonic Team itself has largely moved on, the group that split off to become the Phantasy Star Crew has... not so much. It has been used in PSO, PSU, PSZ, PSP1/2/i, and PSO2 so far.

In simple terms, it takes a series of bytes and turns every part of it into either a reference to an earlier section (if it's already appeared) or a raw value (if it has not). If you have 1234512345, it'll turn it into 12345 and then a reference to copy the first 5 values again.

In more complex terms...
Compressed data is split into two types of value:
1. Control values. These are single bytes, generally not stored consecutively. The bits in these control how to read the other data or, occasionally, encode data themselves.
2. Encoded data. These are either raw values or encoded references.

Generally speaking, you're looking at a number of raw bytes being copied directly (each denoted by a control bit of 1), followed by a copied sequence (started with a control bit of 0). There are two types of copies--long and short (short go up to a length of 0x7 and a distance of up to 0xFF bytes back from the current offset, while long copies are up to 0x100 bytes stored up to 0x2000 bytes before the current location).

If anyone's curious about more details (or examples), feel free to say so. This is the kind of thing that gets really convoluted really fast.



Long story short, I rewrote my compressor for it (the previous version was 4 years old). It's about 3-4 times faster now (it's still not what I'd consider "great', but... on the other hand, all my tests have been on Debug builds rather than Release ones, so most of the optimizations are turned off) and as an added bonus, it's not a complete embarrassment any more.

(And because they never let go of the format, it's usable for PSO2 stuff, too.)
User avatar
Agrajag
 
Posts: 886
Joined: Thu Feb 16, 2012 12:24 am

Re: AotI Offline (Unofficial) Expansion: Despair and Hope

Postby Agrajag » Mon May 09, 2016 3:15 am

Let's talk about... status effects!
(Particularly, buffs and debuffs)

"Magic to strengthen or weaken your party members" is a concept that dates back a very long time. The online PS series is no stranger to it--every one of them has had at least a couple, one in particular (guess which) may have gone a bit crazy.

PSO has two of them, with associated debuffs:
Shifta: Increases ATP
Jellen: Reduces ATP
Deband: Increases DFP
Zalure: Reduces ATP

(PSO had a weird phobia against letting people actually increase their MST; teching weapons still had ATP as their actual attack stat, so the most MST you could get from a weapon was in the 50-60 range.)

PSU has... well... let's count:
1. Shifta (Agtar): Increases ATP
2. Deband (Defbar): Increases DFP
3. Zodial: Increases ATA and EVP
4. Retier: Increases TP and MST
5. Jellen: Decreases ATP
6. Zalure: Decreases DFP
7. Zoldeel: Decreases ATA and EVP
8. Megistar: Casts Shifta, Deband, Zodial, and Retier solely on yourself, but also drains HP
9. Giresta: Restores HP over time (note: can restore above 100%, leading to effectively increasing max HP, briefly)
10. Rentis: Negates (offline)/reduces the damage of (online) a certain number of tech attacks
11. Dizas: Negates (offline)/reduces the damage of (online) a certain number of physical attacks

11. 11! You can cut out the 3 debuffs and Megistar, and you still have 7.

Moving right along, though, Infinity has the following:
Shifta: Increases ATP and TP
Deband: Increases DFP, EVP, and MST
Jellen: Decreases ATP and TP
Zalure: Decreases DFP, EVP, and MST
Foverse: User only. Summons flames that follow the caster, inflicting damage to nearby enemies.
Note: Mirage Blasts can provide the following two effects:
Wild Blast: Increased Blast Gauge fill rate
Attack Haste: Increased attack speed


Giresta is gone (its revival ability is instead on Regene (Reverser in english PSU, Giresta in english PSP2) when you have the リバーサラー (Reversaller; yes, it's stupid) skill), the main 4 buffs got combined into 2 (with the ATA bonus gone, for... some reason), the main 3 debuffs (and the rare TP/MST down) got combined into 2, Rentis and Dizas are gone...
(Note that Wild Blast was added to PSU as a GAS customization, and the standard mix of HP restore units are still available in Infinity. Also note that, because the firearm damage formula includes ATA, this means that shifta is a little bit less effective on rangers than it is on hunters and forces. The more you know...)
(Fun fact: Foverse is "firedress" internally)


PSO2 actually went an interesting direction:
Shifta: Increases S-ATK/R-ATK/T-ATK
Deband: Increases S-DEF/R-DEF/T-DEF

That's it for "cast and carry" party buffs. Individual characters have more that they can solely use on themselves (e.g Fury Stance, Showtime, Wand Lovers, PP Convert, etc) that I'm... largely going to ignore here because there's way too many of them and they're not strictly relevant. However, there are still other, more global ones:

2 ranger bullets:
Weak Bullet: Increases (>2x) damage inflicted to a certain hitbox
Jellen Shot: Decreases all damage inflicted

2 field techniques:
Megiverse: Casts a field in which all party member attacks gain HP steal
Zanverse: Casts a field in which all party member attacks inflict extra damage as wind

2 Bouncer auras:
Elemental PP Restore Field: An aura that surrounds its owner, increasing the amount of PP party members within range recover from attacking monsters with the proper element.
Critical Field: An aura that surrounds its owner, increasing critical hit rate for party members within range.

PSO2 largely moved towards a more offensively-oriented system. Ranger has all the debuffs, several effects are granted only while standing in the designated area; initially, even Shifta and Deband needed to be reapplied in combat (each fully charged cast would give 4 pulses of their status, each pulse gave 15 seconds of duration, it was hard capped at 1 minute max duration).



Alright, so, all that in mind: how do I envision these things? Well, taking it from the top...
Zodial and Retier add two stats each. Shifta and Deband are one each. These are two different ways of setting them up, with the end result that you need to cast 4 techs to cover most classes (Shifta and Zodial for attack, Deband/Retier for defense), which is way too many. Shifta can cover all the attack stats, Deband can cover all the defense ones.

This, of course, renders Zodial, Zoldeel, Retier, their respective status effects, and the (generally unused) TP/MST-down status effect worthless. This would be fine (I would love to cut out a few pointless techs), but... Zodial, Zoldeel, and Retier all show up in the wild, and I don't want to have to edit every monster who has them (including things like the Ohtori Encampment version of Ethan). Similarly, PSO has one particular status effect that shows up literally one place in PSU, and it would be neat to have it show up elsewhere; with that in mind...

Zodial/Zoldeel: Haste/Slow. Slow showed up all over the place in PSO, but it showed up only in the Dark Falz 2 fight in PSU (with no icon or anything); this would effectively promote it to a full status effect. Obviously it wouldn't be a 6-minutes-per-cast thing (PSO slow lasted about 10 seconds, tops); it may not even be a persistent buff at all, I'm halfway thinking maybe they should be area of effect things ("stay within the field to move faster").

Retier/(nonexistent): I struggled to find something for this. The goal is something unique but optional; pretty much the best I could come up with is Thorns and Life Tap (to borrow the Diablo 2 names). Essentially, the buff would cause enemies to take damage upon attacking you, while the debuff would cause them to heal instead. If the life steal one was put on something akin to online's Sa- techs, you would effectively have a version of PSO2's Megiverse (just where the enemies have to be in it rather than you).

Rentis/Dizas: These two are... problems. On one hand, I could just ignore them (I'll admit a large part of this project is just "let things fall where they may"), on the other, "negate the next 5 attacks" is too good to ignore without either a major penalty or major downtime (neither of which is really doable here). Completely coincidentally, there's a certain SUV that focuses on support, but provides something generally not that useful. Maybe remove the actual techs, buff the status effect, and put it on Rapia Fluge.

If anyone has any thoughts on any of this, feel free to let me know. I'm still kinda bouncing ideas off the wall on all of it, the only ones that are anywhere near actual implementation are the Shifta/Deband and Zodial/Zoldeel changes (and the latter's primarily from when I was trying to track down what was going on with the attack speed units and/or the "slow" SE that Falz 2 uses).

(Note: techs use the same visual effect format as weapons, SUVs, enemy attacks, units, status effects, etc. In theory, I could steal the toilet from Ascension Gift (or, you know, a non-joke thing) and turn it into Gigrants... except that the light tech list is completely full. Giresta and Rentis may be on borrowed time...)
User avatar
Agrajag
 
Posts: 886
Joined: Thu Feb 16, 2012 12:24 am

Re: AotI Offline (Unofficial) Expansion: Despair and Hope

Postby Macman » Mon May 09, 2016 10:32 pm

Did anyone even seriously use Zodial and Zodeel? I never played online but I only ever packed Shifta or Retier.
User avatar
Macman
 
Posts: 223
Joined: Fri Feb 17, 2012 1:50 pm

Re: AotI Offline (Unofficial) Expansion: Despair and Hope

Postby Agrajag » Tue May 10, 2016 1:05 am

In my (admittedly somewhat limited--I'm rather antisocial in online games) experience, people who devoted an entire slot to buffs would use all 4 (using Giresta on another slot--assuming they didn't replace Resta entirely with it), while the ones who kept it down to a 1-handed weapon would use either Shifta+Retier (if they had a dedicated FO and not, you know, a GT/WT/whip AT) or Shifta+Zodial. The vast majority of my playing on JP was with a small group (shoutouts to Raujinn, EspioKaos, and Qwerty) that didn't include anyone who used Rentis or Dizas, so I have no idea how they fit in with standard buff cycles.

I'm not going to argue that Zodial is critical (or even all that good--ATA hits diminishing returns faster than TP or ATP), but with the lack of TP-based damage (even disregarding how difficult it was to love FOs for most of the game's life, most of the damage options people had were physical) and the general mediocrity of defensive stats, it kinda ends up the default option.

Debuffs, on the other hand, were pretty much unicorns. I think I saw a grand total of two people use any of them, ever. Kinda suffered from that combination of "not amazingly effective" and "horribly tedious to level" that was so common on techs, with the added bonus that it's generally not worth trying to debuff an enemy that's only going to last about 5 seconds.
User avatar
Agrajag
 
Posts: 886
Joined: Thu Feb 16, 2012 12:24 am

Re: AotI Offline (Unofficial) Expansion: Despair and Hope

Postby LightDark » Tue May 17, 2016 3:23 am

Zodial was for those who played support, wanted a complete set of buffs on a rod, and could occupy two weapon slots. However, for one weapon slot (a Wand/TCSM combo), it could have been replaced with Resta (which could be placed together with Retier, thus getting an elemental bonus), at the cost of Reverser.

Haste and Slow is the most ideal options. A number of games use movement speed as a stat parameter and I think being able to have a speed-up (for you and for the enemies) would be nice. However, I'm a bit concerned about slowing down enemies from Zodeel, as that would significantly decrease the difficultly of the game. In PSO, there is no Haste and enemies couldn't be slowed, maintaining an equilibrium between the two. There is also the concern with overwriting status effects - an issue with PSU in general - which could render them useless.
User avatar
LightDark
 
Posts: 173
Joined: Thu Feb 16, 2012 10:03 am

Re: AotI Offline (Unofficial) Expansion: Despair and Hope

Postby Agrajag » Mon May 23, 2016 11:33 pm

JamRules wrote:I never gave it much thought before but that's a great idea, it's nice to have the choice and it looks excellent with multiple effects.
Probably some fun to be had trying the different combinations.

After seeing your example I just had to try it myself for PSP2i, thanks for the inspiration

*snip*

That's pretty cool! Kinda suspected it'd be easier in PSP2/i given the whole "any unit can be in any slot" thing was already there, but there's a big gap between "theoretically possible" and "actually done".

Generally, I'm too lazy to try to add a mutual exclusion thing for units, so assuming the freeform unit thing gets done ("very likely", not "guaranteed"), you should be able to have a bunch of cool-looking combinations and a few... err... not-so-good ones (generally anything with multiple sets of wings).

(Note: I'd try to make the supplemental outfits into 3-part ones, but they're awful in that regard. We're talking "The jacket has the torso, right arm, right hand, and left arm, while the pants include the left hand, both legs, and the left foot" level bad. "Clothes that clip significantly" are a little past my limit, so "outfits that cause arms and legs to disappear" is well past it.)

maybe I should port this whole project to PSP2i
probably not

LightDark wrote:Zodial was for those who played support, wanted a complete set of buffs on a rod, and could occupy two weapon slots. However, for one weapon slot (a Wand/TCSM combo), it could have been replaced with Resta (which could be placed together with Retier, thus getting an elemental bonus), at the cost of Reverser.

Haste and Slow is the most ideal options. A number of games use movement speed as a stat parameter and I think being able to have a speed-up (for you and for the enemies) would be nice. However, I'm a bit concerned about slowing down enemies from Zodeel, as that would significantly decrease the difficultly of the game. In PSO, there is no Haste and enemies couldn't be slowed, maintaining an equilibrium between the two. There is also the concern with overwriting status effects - an issue with PSU in general - which could render them useless.

Resta doesn't actually use elemental percent. Even if it did, you're going to be Reverser-ing a lot more often than you will be Retier-ing, especially given the only thing that can cause an off-cycle loss of Retier is death.
The general theory on this is that, given the absence of a "dispel all buffs on target creature" effect, the whole "buffs/debuffs overwrite one another" thing would be a feature here, not a bug. If you have a field that adds or subtracts speed while you're in it, it'll sidestep it entirely; otherwise, having SEED-Ardite suddenly gain a bunch of speed (and damage reflection!) would be pretty scary... except that Zoldeel (or Barada Maga (bonus: this is a PA that nobody uses)) would bring it back down to normal.

(Haste will be either "good" or "long duration", not both.)
User avatar
Agrajag
 
Posts: 886
Joined: Thu Feb 16, 2012 12:24 am

Re: AotI Offline (Unofficial) Expansion: Despair and Hope

Postby Agrajag » Thu May 26, 2016 3:02 am

Split the PSP2i stuff into its own topic, it's interesting and relevant, but it needs to be somewhere it won't get buried in other things.

Let's talk about... music!
(This will be a fairly fluffy post.)

As everyone's abundantly aware, PSU's music is... troubled. Some of it's good (I'm particularly a fan of Old Rozenom City), some of it is bad (if you did something wrong in Charged Puzzle, the game would play a 10 second loop of "Comedy" for the rest of the run), but a ton of it falls into "technically sound, but remembered with disdain". Why is that?

It's very simple. It'll surprise nobody.

They grossly overuse a relatively small number of tracks.

Let's take a look at the area music, and which areas use it:
Clyez Linear Line: Linear Line (unused area), AMF Metrolinear
Contamination: Dark: Linear Line (dark)
S.E.E.D. Hive: HIVE, Rykros, AMF Central Command

Raffon Meadow: Raffon Meadow, Raffon Lakeshore
Rozenom line Milate 04: Train
Old Rozenom City: Rozenom City
Mellvore: The Abandoned City: Underwater Plant, Il Cabo

Mizuraki C.D.: Mizuraki C.D., Saguraki C.D.
Hakura Temple: Temple, Pavilion of Air
Floating Islands: Shikon Islands
Habirao: Habirao F.D.

Galenigare Mines: Galenigare Canyon, Galenigare Mine, Granigs Mine
Kugu Desert: Kugu Desert

RELICS: Asleep: RELICS (sleeping)
RELICS: Awake: RELICS (Parum), RELICS (Neudaiz), RELICS (Moatoob)

And then the post-supplemental tracks:
Deep Blue Edifice: Seabed RELICS
Sub-Space Labo: Inhelt Lab
El-Bals Mountain: El-Bals Mountain (/Mount Elbars, depending on your preferred translation)
Ohtori Castle: Ohtori Castle
Jungle - A forest cage -: Crodog Rainforest
Naked Sky: Paracabana Coast (not to be confused with the field lobby)
Aire Iglesia: Sacred Ark Crowley

That's a grand total of 14 tracks in v1 and AotI together (plus the four PSO ones). Out of 17 missions on Moatoob, 9 of them use Galenigare Mines. On the Colony, there are 6 missions that use HIVE and 3 more that use Contamination: Dark (one uses the PSO area music, one uses Aire Iglesia).

It's not all doom and gloom, though! Sega actually started using unique music in missions later on:
1. SEED Awakened swapped from the HIVE music to ZC Enemy 2 (one of the story miniboss themes; I want to say this one's one of the ones that tends to be used for Magashi, when they aren't using The Hunt - The End of Planets -).
2. Ruins in the Mist (post-supplemental Neudaiz RELICS mission) uses Ancient Civilization instead of RELICS -Awake-.
3. Part of For Brighter Day (episode 3 chapter 8) uses "Laia" (or "Raia" on the JP version) instead of SEED Hive.

So... with that in mind, what can be done? My thoughts are something along the line of the following:
1. Rykros in general will play "Laia" instead of "SEED Hive".
2. Mechanical Ghosts is now on Linear Line (clean) rather than Linear Line (dark). Added bonus of using an otherwise unused area (outside one or two story areas and one of the events).
3. Something on Moatoob will use Moatoob in place of Galenigare Mines (if people have suggestions, let me know! Gut instinct says one of the cave areas.).
4. Electronic Brain (reminder: this is the only AMF HQ free mission) and Rising Malice (post-supplemental HIVE mission with Dark Falz as a boss) will use ZC Enemy 2 to match SEED Awakened.
5. Lode Runners is still a stupid mission. This doesn't actually relate, but just throwing it out there.
6. "Ethan" needs to be used somewhere. Possibly True Darkness?


Areas aren't the only issue, though. Bosses...
De Ragan, De Ragnus, and Zoalgoug share "Growl, from the Wild Sky".
Onmagoug and Dimmagolus share "Fly Up Ivy".
Adahna Degahna and Magas Maggahna share "Madness the Machine Sparx".

These need to be separated. We know Dimmagolus is a remodeled Onmagoug; we don't need the music reminding us. With that in mind...
"Growl, from the Wild Sky" is De Ragan's theme. De Ragnus will use Clast Edge BLAVAS.
"Fly Up Ivy" is Onmagoug's theme. Dimmagolus will gain its own (suggestions?).
"Madness the Machine Sparx" is Magas Maggahna's theme (it has a lot in common with The Hunt -The End of Planets-, marking it as another Magashi theme); Adahna Degahna will gain its own (I thought "Machinery Conqueror" from PSZ, but that's badly compressed; alternately, possibly Ravum Aedes Sacra from PSO Episode 3).

Worst case on these, I'll just split the tracks in two (De Ragnus already has its own music, but it just points to the same file as De Ragan's, and likewise for Adahna/Magas and Onma/Dimma; this would split them into two identical copies) for other people to use for whatever. Sadly, because the boss intro cutscene music is defined in the cutscene and not in the map, there are limits; everyone remembers how online Dark Falz 2 used the first few bars of The Vibe -The End of Planets-, but this is how it would be if I did as that one event did and had it play el DIOS Despertar for one mission but not the rest.

The overarching theory is, if I bring in music from another game, it needs to be from a Phantasy Star (failing that, a Burning Rangers or a Sonic; absolutely nothing outside Sega), and preferably it should be from one of the lesser ones (so PSO Episode 3 and PSZ take precedence over PSO and PSO2). Sega already brought in certain tracks from PSO (later events used Abysmal ball -banquet- and Underworld -chaos-), PSZ (Crescent Crusade), PSO Episode 3 ("IDOLA" the Strange Fruits), and PSP2/i (all the new areas and boss themes; of note, el DIOS Despertar tended to be used for Falz 2 in events), so this wouldn't be a huge departure.
User avatar
Agrajag
 
Posts: 886
Joined: Thu Feb 16, 2012 12:24 am

Re: AotI Offline (Unofficial) Expansion: Despair and Hope

Postby EspioKaos » Thu May 26, 2016 4:12 pm

Agrajag wrote:Let's talk about... music!

YESSSSSSSSSSSSSS! :D :D :D :D :D :D :D :D :D :D :D :D :D :D

Agrajag wrote:3. Something on Moatoob will use Moatoob in place of Galenigare Mines (if people have suggestions, let me know! Gut instinct says one of the cave areas.).

"Moatoob" has an outdoorsy feel to me, so I'd go with using it for the canyon maps.
User avatar
EspioKaos
 
Posts: 23
Joined: Thu Feb 16, 2012 12:43 am
Location: Memphis, TN

Re: AotI Offline (Unofficial) Expansion: Despair and Hope

Postby Macman » Thu May 26, 2016 8:03 pm

Throwing in the notion that Tower of Caelum is an excellent track and should be used somewhere. I've used it for my Seabed BGM in PSO:BB for a long time.
User avatar
Macman
 
Posts: 223
Joined: Fri Feb 17, 2012 1:50 pm

Re: AotI Offline (Unofficial) Expansion: Despair and Hope

Postby Agrajag » Fri May 27, 2016 12:09 am

Don't worry, Tower of Caelum is on the short list, assuming I can find somewhere it fits. It's a standout track in an already spectacular soundtrack.
User avatar
Agrajag
 
Posts: 886
Joined: Thu Feb 16, 2012 12:24 am

PreviousNext

Return to PSU Modding

Who is online

Users browsing this forum: No registered users and 2 guests

cron