News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Kea

Pages: [1] 2 3
Personal Projects / Re: Final Fantasy 1 DoS: Remix
« on: July 28, 2018, 11:08:55 am »
I've thought about making Dia hit more monsters. But the undead category covers a good number of monsters already; making it more widely usable would be diluting the White Mage's role. The Dia line is stronger than other spells at their level to compensate for only hitting undead.

There are a few items from the bonus dungeons in the main game; you'll start seeing them in Melmond and Crescent Lake. Making a list of all weapons and armor is on the schedule, but I haven't decided how to format it. Maybe a spreadsheet would be best.

Personal Projects / Re: Final Fantasy 1 DoS: Remix
« on: July 27, 2018, 11:58:44 pm »
I went ahead and made some changes based on your suggestions. Garland was a little overtuned, so now he has less Attack power and uses weaker spells. Venom only had 48 accuracy which is way too low, so I bumped that up to 80 so it can reliably double. The download link in the OP links to the updated version.

Garland does resist poison, yes. I think you'll find it useful against high-HP monsters later on; humanoid foes like Ogres and Gigases in particular are weak to Poison, so you're looking at 37-150 damage with a good chance of hitting the upper range of that. But let me know if your experience suggests otherwise.

Personal Projects / Re: Final Fantasy 1 DoS: Remix
« on: July 27, 2018, 05:49:02 pm »
The exp scale is tuned so that the first ten levels go by pretty quickly. The Pravoka-Elfheim-Marsh Cave segment of FF1 is always pretty dense so there's no need to add XP worries on top of that. Noted on the Thunder typo, that's been fixed.

If I knew how, I'd love to implement the Quicksave feature the other FF ports have, so you can make a temporary save whenever you want to take a break. Not sure how feasible that would be - of course I could always delete FF2 to make room in SRAM, but I'd rather avoid that kind of extreme measure.

Garland's spell list is probably a little too nasty in retrospect, haha. I'm going to tone that down. The L2 spell charges coming so soon is sort of how it had to be to space things out; I tried to make it so that mages had at least one SP increase every level. As you get further along, the newest spell levels will be coming online at more reasonable times.

Not being able to move around equipment in combat...I mainly did that so I/the player wouldn't feel the urge to micromanage your equipment selections turn-by-turn to always have the optimal gear equipped in terms of resistances or spells cast or what have you. Ideally I'd make swapping equipment simply take up your turn, but for now all you can do is remove gear mid-turn.

ROM Hacking Discussion / Re: Question about Graphics
« on: July 27, 2018, 09:17:05 am »
My friend, the program you want is Usenti. It allows for exactly what you describe - exporting only X number of colours in a palette, reordering a palette freely, specifying the transparent index, and more.

Personal Projects / Re: Final Fantasy 1 DoS: Remix
« on: July 27, 2018, 09:13:29 am »
Feedback in this topic is fine.

Separating number of hits from accuracy was indeed interesting, but playing the patch I didn't think that it was implemented all that well; the classes with the most hits tended to have good accuracy too, or at least good enough - few classes had low enough accuracy that it posed a problem. I ended up approaching the idea from a different angle, by allowing weapons to directly add or subtract hits: for example, hammers tend to have high accuracy but reduce your number of hits, while knives are the opposite, offering a greater number of inaccurate swings. It's more transparent than tying # of hits to Agility and a hidden class modifier.

I haven't heard of using FF2 spell animations in FF1! That would be very intriguing if true - part of the work involved with making new spells has been trying to cobble together appropriate animations, or modifying existing ones to function whether an ally or enemy casts it. Like, NulBlaze had an enemy-side animation, since Vampire Lords cast it, but NulFrost and NulShock didn't, so when I introduced AI patterns that use those spells they needed some editing.

Removing those NPCs in Cornelia would be entirely possible; it would likely save on event identifiers too, which could be handy down the road. I'll look into it.

Personal Projects / Re: Final Fantasy 1 DoS: Remix
« on: July 26, 2018, 07:18:22 pm »
Ludmeister's notes were a huge help when I was starting out, especially for providing a partial key for the text encoding, but limited in scope as they are I ended up doing a great deal of research anyway to figure out how to do things like coding new spell animations, making a new type of spell entirely, reworking the random encounter system, and so on.

As for the design of the hack, his Mod of Balance 2.2 was what inspired this project in the first place, but by now the gameplay has moved pretty far from what you'd find there; there's two spells that are shared with Mod of Balance and that's about it. I'd say my patch is pretty tough, at least later on, but you never know how it will appear to other people.

Personal Projects / Final Fantasy 1 DoS: Remix
« on: July 25, 2018, 06:26:56 pm »
After far too long in development, I've decided I have enough progress in this Dawn of Souls hack to start its own thread. This hack is a fairly comprehensive overhaul of the Final Fantasy 1 half of DoS, with the aim of making gameplay more challenging and interesting without sticking cheap shots in there.

This hack takes the game closer to the NES version in some ways - the MP system has been replaced with the old Vancian casting (at more generous allotments of charges), characters and monsters are relatively low-power, random encounters are tougher, that sort of thing. I've cut way back on the encounter rate too, both because monsters are stronger and it was just obnoxiously high to begin with.

The hack is just about finished in that everything up to Chaos has been tinkered with, but I'm looking for beta testers to play through it to give feedback and report bugs. You can't really balance a game just based on your own experience; it'd be helpful to see how somebody without any foreknowledge going in handles it.

For a detailed (though not exhaustive) list of changes, you can check the readme in the download package. The patch can be found here.

And now for some screenshots:

A couple of examples of the new formations, and of the unrunnable battle alert.

I added a item-viewing screen so you don't have to check an external document to see what every weapon or armor does.

One of the edited maps. This was the first map I made with Tiled, and I went a little overboard on the size. Good thing I can adjust encounter frequency by map!

ROM Hacking Discussion / Re: Screenshots
« on: July 27, 2017, 04:27:34 pm »
Using Tiled Map Editor to work with FF: Dawn of Souls maps:

For the moment map data must still be extracted and inserted by hand, but it's still a big step up from hex editing.

For my part I wasn't making any progress on the raster IRQ issue, so thank you for fixing that last issue  :thumbsup:

PS2 hacking is well outside my purview I'm afraid.

You could always put your notes on the Datacrystal wiki too, that way people can just view them on a webpage rather than downloading and looking through an archive.

(Only noticing your latest post now...)

You can probably submit Nightmare modules as documentation to the site - one my my own documents includes some- but if you're not sure you can always contact the staff and explain your idea. It may be helpful to also include more standard notes on the data offsets and structure along with the modules for people who aren't interested in Nightmare.

News Submissions / Re: Site: RHDN 3.0 Site Refresh Launched!
« on: June 24, 2017, 11:46:47 am »
Yeah, I'm not seeing those link boxes nesrocks mentions at all - not even a horizontal scrollbar.

News Submissions / Re: Site: RHDN 3.0 Site Refresh Launched!
« on: June 23, 2017, 06:54:03 pm »
Go to Profile -> Account Settings, then hover over the "Modify Profile" button to reach the Look and Layout section; you can change the forum theme there.

Personally I'm going to stick with the old standard theme - this new one is a little too spread out for my liking.

Good to see you around again!

Nightmare is indeed a handy tool - I use it myself for simple data table edits on a game I'm hacking. However it's poorly suited to editing bitfield values or data structures that aren't conveniently fixed entry-length or contiguous. That's why I'm working on a more general-use editor.

If you're willing to learn some basic coding, making an editor program yourself could be a good option; you'd be able to make it work just the way you want to. Python has lots of libraries out there to aid this sort of thing. Java is also a decent choice, the JavaFX library is pretty good these days.

News Submissions / Re: ROM Hacks: New Hacks Added to the Database
« on: June 04, 2017, 01:30:29 pm »
One could close off the postgame dungeons by removing the exits to them in the map feature data. Not sure how easy it would be to keep them locked until all four Crsytals are lit, but that would be another possibility.

There's a lot of things you'd need to do to bring FF1a closer to Origins. Off the top of my head there's spell formulas, the XP table, changing/removing new items like Ethers and [Stat] Plus, and making monsters use spells more often (Monsters in FF1a roll out of 200 instead of 128 when determining whether to cast a spell); those are matters for a separate patch. Perhaps somebody else will make a project in that direction - my own is going to stick with the MP system.

ROM Hacking Discussion / Re: FFHackster 2017 June Alpha
« on: May 31, 2017, 10:22:18 pm »
Agreed, very impressive! FF1 hacking has really come far.

ROM Hacking Discussion / Re: bad coding in roms
« on: May 02, 2017, 08:42:59 am »
While some of those speak to many coders, odd porting and bad coding I do also have to wonder if some of those are anti cheat. I know many of their games were not trivial to make cheats for.

On spell animations does it do anything to account for bosses or large sprites? If all the PCs are the same height and with same broad sprite animation types it could make for an animation that looks odd on a massive sprite.

The many tables thing has me curious. Would it line up with the size of banks in an earlier system at all? I am still quite prepared to believe multiple coders created their own array/table/incbined a table independently of each other -- it is poor coding form  but it is not like you have to be nice to ROM hackers.

For spell animations, differences between monster and PCs are handled in the animation script and script processing code themselves; both use the same scripts overall. A lot of the effects are general enough to work for both small PCs and big monsters, f.x. "animate this tile in the center of the target's sprite", or "play this animation in the center of the targets' side of the field". A few spells play very different animations depending on who's casting (Thundaga's is much shorter when cast by monsters), but again that's taken care of inside the script.

The monster data tables are located at 0x1DE044, 0x223F4C, 0x227054, and 0x22A880. I'm not familiar enough with segmented-memory systems to know if that fits with any previous FF1 port's banks, but I do think this was probably a case of multiple coders including the same table. The first is used for the Bestiary, the second is used to update monster stats mid-battle, the third is used when generating monster stats at the start of battle, and the fourth is used when checking if a monster is Regenerating type at the end of each round.

It might be that some of these things were deliberate, if so it seems like a pretty crude anti-cheat. Most likely they didn't mind if they had redundant data or used up extra ROM space by accident so long as it worked - 16MB is plenty of space.

ROM Hacking Discussion / Re: bad coding in roms
« on: May 01, 2017, 10:06:23 pm »
You could fill a book writing about mysterious coding decisions by TOSE, who (among other projects) were responsible for the GBA  Final Fantasy ports. Some examples from their work on Final Fantasy I & II: Dawn of Souls:

-There are separate routines for copying party member's stats from general to battle RAM, for the start of battle and between every action respectively; but the second routine is called soon after the first, before these stats are used for anything, rendering it almost completely redundant. Also, in the first routine the Monk's unarmed critical rate is calculated as Stamina; in the second it's Level*2.

-Many data tables are duplicated. For instance, there are four identical copies of the monster stats table scattered throughout the ROM. All four are used by different areas of the game's code.

-Continuing with monster stats, each entry in the table has a byte indicating the AI that monster uses, however it is never read. Instead a separate table for monster AI bytes is used whenever the game needs to find a monster's AI.

-Similarly, entries in the spell data table have an 'animation byte' indicating what animation to play when cast. This byte is read only when a player character casts a spell; when monsters cast spells they use the spell's ID to index to the animation tables.

-Many routines are in the ROM, but are never called or referenced. Often their effects have been incorporated into routine(s) that might have called them.
-A few routines will load a RAM value into a register then immediately overwrite it with a constant or second RAM value.

-In general, there's quite a few vestigial leftovers of NES/PSX-era formulas. For instance, damage spells roughly operate off a formula of: (Int+Luck)/2 + (Int/10 *  SpellPow). At the same time, it also replicates the original 'doubling' mechanic, where a spell's accuracy is compared against the target's Magic Resistance - except instead of doubling damage, if the spell 'hits' it adds a measly Intellect/5 to damage.

(Oh, and player characters with over 200 Resistance take take 25% damage from spells; those with 199-100 take 50% damage; and those with <100 take 87.5% of normal damage. Monsters' Resistance stat doesn't apply in this way.)

Programming / Re: GBA data after function offsets
« on: March 21, 2017, 09:31:26 pm »
The 0000 bytes are most likely to word-align the following data - the LDR rd, [pc,#] instructions used to load large local variables can only index to 4-aligned offsets to maximize range.

The 0x00000020s and 0x21s I would imagine are artifacts of the specific compiler that TOSE used for FF6A. I'm not certain that's the case, but I've looked at code from their earlier FF ports and those don't have these 20/21s at the end of functions. Possibly they changed compilers somewhere along the road. Is there any pattern to which functions have these words tacked on?

As an aside, I've never heard about IDA Pro before; looking at their website it seems to have a pretty solid feature set. What's been your experience using it? Would you recommend it over, say, No$GBA?

ROM Hacking Discussion / Re: Screenshots
« on: March 11, 2017, 11:54:54 am »
FF1's inbattle sprite handling is still a mystery to me...

E: Well, technically I think this is caused by attaching vertical motion to an idle sprite action, so it continually moves him up.

Pages: [1] 2 3