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 - Fox Cunning

Pages: 1 [2] 3 4
Fantastic summary, @binarck.

If you talk to every single person in every town, you do get enough hints to put together the correct sequence.

I'd have to replay this one sometime but I remember U3 being light on exposition. It could help to add some of the book lore to the script maybe.

On this, I was referring to some extremely vague dialogue such as "The Mystic Armor is somewhere" that I don't think really helps and could be made useful by expanding the text, e.g. "A man in Grey knows about the Mystic Armor".
An NPC in Grey actually does have a valuable hint and tells the player to ask about it in Dawn, where again two NPCs have useful hints.

That was difficult because it requires moving code and rebuilding pointer tables, which if done manually is prone to breaking things, and also a major pain in the bum.

That said, I am a fan of game manuals. When I was a kid, buying a new game was an event, and I'd spend days studying each booklet, manual and map included before actually turning my console/computer on.
With Ultima, reading the cloth map was a game by itself as you had to decode the runic alphabet using the table contained in one of the booklets. ;D

Thanks for the very extensive feedback ;D It's always great to have the opinion of someone who is wasn't already familiar with the game, as I would have never thought about many things you mention.

Now some would require extensive rewrites of the engine, but others are absolutely doable. Obviously at the time games relied on information taken from manuals, booklets and hint guides (the original release of U3 I think included 3 booklets, plus a map) rather than in-game text.
That was because of hardware limitations mostly, but also game design had not evolved much.

I did think about modifying NPC dialogues more to give more hints and better direction. However at the time I was changing bytes by hand with a hex editor, so changing the text length was risky and difficult. Now that I am working on an editor which already includes packed text reallocation, that would be much, much easier.

Note that locations, town names, weapon and armour effectiveness etc. are all explained in the game's manual - as I mentioned above the game just assumes a certain level of "meta-gaming". This can be fixed only partially by changing in-game dialogues, but note that many hints are already present and I believe it would be just a matter of linking them together as organically as possible.

Personal Projects / Re: Ultima: Exodus (NES) *Editor*
« on: June 15, 2020, 08:59:07 am »
Hello! Busy times, but I'm still working on this pretty much every day.
Currently implementing the "party editor" portion:


Personal Projects / Re: Resident Evil Famicom Upgrade Project
« on: June 05, 2020, 08:37:40 am »
I hope you manage to complete this project, because it looks really cool!
Stay safe though  ;D

Personal Projects / Re: Ultima: Exodus (NES) *Editor*
« on: May 27, 2020, 02:25:54 pm »
1. Is there any way to edit the ordering of magic spells? I saw where you noted the costs were hardcoded (and you had to change two places in order to drop MP consumption), but would there be any way to alter the order you "learn" them in? Switching "02 05 55 d5" etc seems to switch spells, but the costs are still the same. I.E., Missile can be switched with Light, but still costs 5 MP, even when its place is altered or the second byte is changed to 10 etc.

This could be achieved by completely re-writing the routine that displays the spells list so that it takes the MP cost from the table at $D460 and goes through each spell instead of stopping when the caster's MP is matched.
The current routine simply assumes that each spell costs 5 MP more than the previous one (4 in the hacked version).

That routine is in $D415, and calls a subroutine at $D441 to get the number of spells to display. Note that it only decides how many spells, not which ones: it will simply show spells 0 to that number.

The only easy modification I can think of would be setting a level limit rather than just an MP match.
Then check if the caster has enough MP for the chosen spell before casting.
If that doesn't break the game too much, I may include that "alternative magic system" in the editor, but no promises yet!

2. Initial party placement in battles? So maybe more like Quest of the Avatar? Have you found how the game decides where to place characters at the start of a battle?

Yes, those tables are in bank 4: $B000 to $B0BF.
That's three 64-byte tables containing OAM data: one for land battles and two for naval battles. In each entry, byte 0 is Y and byte 3 is X.
One more table could be added in theory, as there are exactly 64 bytes free after the third one.

You have put so much work into this project Fox, it's awesome! My Ultima buddies are eagerly awaiting this editor. :)

I can't wait to finish and see what people can create with it ;D

Personal Projects / Re: Ultima: Exodus (NES) *Editor*
« on: May 26, 2020, 12:24:29 pm »
Does the map editing currently include the overworld?
And also the ability to turn Ambrosia into a second continent that behaves exactly like Sosaria - including Moongates and the ability to circumnavigate the map seamlessly.

Ideally, the editor should allow making an entirely new game using the same base engine.

Personal Projects / Re: Ultima: Exodus (NES) *Editor*
« on: May 26, 2020, 09:26:50 am »

Another little progress video:
Curently the final touches to the NPC editor and the palette editor.

Next I will finish the text editor which is almost complete, and then I'll start working on party / item stats.

Personal Projects / Re: Ultima: Exodus (NES) *Editor*
« on: May 17, 2020, 11:34:39 am »

@8-bit fan, glad to have your interest and attention :beer:

Here's another quick little video with a second test:

Wow! I registered (finally) with this site just to respond to your post.

I've been hex editing UE for years. I can't say for certain the ROM addresses posted on the internet were copied from my old posts on other forums and message boards, but I discovered what has been posted well over 10 years ago.

I would LOVE to know how you found the dialogue. I have searched endlessly. I know the simple text table which begins at 8A, but after a long while decided the dialogue (which I know is drawn from the text table) was compressed or encoded in some way beyond my meager skills. I even found several places where dialogue could be changed for another in the same board (allowing you to switch one NPC message for another). I have always had plans to edit the weapons (for instance), as well as the address which assigns "melee or projectile," etc but since the shop text doesn't simply pull from the text table, I could never change the weapon names in the shops, only in the inventory.

In short, YES I for one would love an editor. Good luck in your work.
If you like, I have saved all my notes are in this Google Drive folder. I'm just not publicising it much because they are still my raw notes, i.e. a bit messy.
"Dialogue Hack.txt" probably has all the info you want. There is also a disassembly of the string unpacking routines in "String Routines.asm".

Text compression is actually achieved via a simple 6-bit packing algorithm, then the unpacked string is turned into nametable entries, plus a few special characters (e.g. $3F = end of string, $3E = newline, $30 = read uncompressed text from $(99), etc).

Note that I don't have any special skills either ;D this is my first NES hack.
To figure out the text compression I watched the nametable entries being written to RAM at $0580 when text was displayed; then I set write breakpoints to find the routine that was generating uncompressed data, and finally followed the traced backwards to see where it was reading it from.

Weapon names are in more than one place, both compressed and uncompressed, so it's a bit of a pain to find and change all of them.
Also, when you change anything you'd have to reallocate memory for your text and rebuild the pointers table (unless you only want to make text either smaller or the same size).
An editor of course can automate that, and mine can already do it in a fraction of a second ;)

Personal Projects / Ultima: Exodus (NES) *Editor*
« on: May 14, 2020, 11:25:34 am »
Hello, folks.

Not sure how many will be interested, but I just wanted to say that I'm still working on this editor as I had promised a while ago.
The goal is still far away (I haven't even started looking into the music/sound code yet), but so far so good - it can modify maps, NPCs, dialogue text, most palettes and a few more things.

Here's a quick progress video for the curious.

Got another bug report (still playing on 1.03, mind you, since I'd already progressed quite far on that version, so if this was fixed in 1.04 you can disregard).

Illusionist's max MP (and I'd guess this affects Alchemists as well) seems to calculate incorrectly with extremely high WIS values.  I'm not sure of the precise breakpoint as I wasn't checking every time I boosted it by 1 point, but right now my Illusionist has 95 WIS and the status screen reports she has a maximum MP of 7.

Thanks again for the feedback! I've just reviewed the code that assigns max MP, and there is in fact a bug that will affect Illusionists and Alchemists with respectively Wisdom and Intelligence higher than 85. Totally on me, since I forgot to keep the carry after the 8-bit addition used to multiply the relevant attribute by 3.
Will be fixed in version 1.05!

And by the way, you won't lose your saved games if you upgrade. In fact the correct values of max MP and HP will simply be applied as soon as you load the game (from the battery-backed RAM of course, not from an emulator's saved state).

OR use these GameGenie codes:

The different amounts of HP on levelup based on class don't seem to be functioning in 1.03 - in my playing, all four classes I used were gaining 75 HP upon leveling up (I have a level 2 paladin with 235, a level 3 lark with 265, a level 2 illusionist with 180 and a level 2 wizard with 175).


Thank you for bringing this to my attention.
The game was working as intended, i.e. 75*level + profession bonus, but I understand the confusion as it's (75*level)+bonus and not (75+bonus)*level.
Also, as you noted, characters tended to have similar total HP the higher their levels.

So, I've changed the formula in v1.04 to be 50 + (bonus * level), with slightly higher bonuses per profession.
Hopefully it will be approved soon :)

Personal Projects / Re: Ultima: Exodus (NES) --- Now released
« on: February 29, 2020, 05:31:30 pm »
Hi there, I've discovered a bit of an exploit that allows the player to recover HP and MP inside of combat. Using v1.00 for the record.
With the first character in the party active, press the A button to bring up the Fight/Magic/Tools menu, then press B to cancel it. You can also choose an action and cancel it. Repeat a few times and you will see your HP and MP regenerate as if combat turns are passing.

Edit: There also seems to be an issue with attribute gains on level-up with certain characters. So far I've only noticed the problem on Fuzzy Wizards who start with 30 INT. The bug occurs when this character reaches level 2: his INT (and Max MP) are reduced from 30 to 25. Also, when he got to level 3, his INT and Max MP were still stuck at 25. I tested a 25 INT Elf Wizard and he received the correct +2 INT at level 2.

Thanks for the feedback, I'll look into both these issues!

Update: fixed! Expect version 1.03 to be published as soon as my submission is approved. Thanks again for the report, well spotted!

This is IMO, bad. It's only going to cause you and others headaches down the line when people start patching the game to "bad dumps" and things break. CRC32 should be a lock in, I think the issue is the patcher looks specifically for the exact file name ie. "Ultima - Exodus (U)[!].nes", so if their ROM is called "Ultima - Exodus.nes" or "Ultima Exodus.nes" but have correct CRC32's, it won't patch. I would change it to look for the correct CRC32 or else fail, but file names shouldn't matter, like "123.nes"

I do agree with you on patching "bad dumps"; the reason why I did that update is that there is another very common dump with a different header but exactly the same ROM data.
Initially it would only patch the expected file, but a lot of people had the other one and were panicking that it would fail.
The best solution would be to have XDelta3 skip the first 16 bytes and only check the CRC32 value of the raw ROM dump, but at the moment that's not an option :(

News Submissions / Re: ROM Hacks: Ultima: Exodus Remastered hack released
« on: February 29, 2020, 05:26:41 pm »
BTW I patched both versions just to compare old vs. new font on my end to 1.01, and for the old, the CRC32 didn't match the readme's, was that correct or a problem on my end?
I know there is a dump of the same ROM where for some reason they added trailing data to the header. Other than that, the actual ROM is exactly the same and the patch will work just fine.

Update: also I had made a mistake with an older CRC32 value in the batch file, oops! Fixed in v1.03 ;D


News Submissions / Re: ROM Hacks: Ultima: Exodus Remastered hack released
« on: February 28, 2020, 06:33:00 am »
This is an awesome hack so far, I wanted to report a potential bug I found (I am not sure if this is an emulation glitch) but whenever I'm in one of the four shrines in Ambrosia, and I try to cast a "Heal" spell, the game resets.  I am playing the game on a Raspberry/Retro Pi.
Thanks for the report, I will investigate this ASAP.


I've found where the bug is. The game resets if you cast Heal, Heal2 or Raise after talking to the priest. If you do that before talking to the priest, the dialogue will be messed up and the priest will become a woman ::)

I hope I'll get this fixed and tested tonight, and then an update published tomorrow :)

Update 2
All done! Version 1.02 is up with bugfixes.

Personal Projects / Re: Not one, but two SMB2 hack demos...
« on: February 27, 2020, 04:10:17 am »
Looks pretty cool, and congratulations for not being homeless anymore ;D

News Submissions / Re: ROM Hacks: Ultima: Exodus Remastered hack released
« on: February 25, 2020, 08:01:38 am »
The font is beautiful, but kind too fancy to be reading all the time. I would suggest a small patch with a mor traditional font... like Dragon Quest/Dragon Warrior font!

I am trialling a v1.01 patch with an option to use an alternative font. I'll send you a link if you are interested in testing it before release.

News Submissions / Re: ROM Hacks: Ultima: Exodus Remastered hack released
« on: February 24, 2020, 06:40:43 am »
when I go to the main menu  and examine characters, I saw Paula, Ken, Milo, and Kate as the  last four characters in the last four slots.
Is that actually part of the hack's programming? I don't remember seeing them in the original release of the NES port or Ludmeister's one.
Aye! Every time a new game is created, four characters are chosen from a roster of pre-made ones in a semi-random fashion (the game actually tries to make a balanced party for you).

This replaces the original "pre-made" character selection.

And for the curious, there are a few reasons why I made that change:
- The previous functionality took way too much room for little return.
- Some of the pre-made characters were not the best choices.
- The process of selecting four random characters was about as long as manually creating them, and sometimes longer if the RNG kept presenting you the same two you didn't want.
- If one was new to the game and knew nothing about professions, races, ability bonuses etc. presenting them with that kind of choice was not effective.
- If one was not new, but just wanted to start the game quickly with pre-made characters, this was also useless since as stated before the random selection took longer than manual generation.
- With this system you can just start a new game and immediately form a part using the last four slots, and you will have a balanced, usable combination of professions with decent stats.

Cheers! :)

News Submissions / Re: ROM Hacks: Ultima: Exodus Remastered hack released
« on: February 24, 2020, 03:52:18 am »
I cannot get the exe to run on my PC. i am using XP and it keeps saying it is not a valid win32 appication.  :'(
Ah, that's because I've included the 64-bit version: try replacing xdelta3.exe with the file found here:
That's the 32-bit version and should work in windows XP as well.

EDIT: Also just tried this out on my gf's pc and it still has an error. This time where it patches the file and says it does not exist.  :-[
You probably have the "alternative" ROM dump. I have updated my patch with a flag that should work with that too now: try downloading the hack again and it should work.
Also download it again before replacing xdelta3.exe as explained above.

Is there an ips version?
Because of extensive code/data relocation I didn't want to include copyrighted material in my patch, which an IPS would have done.
XDelta3 was the next best choice to avoid that.
Let me know if the above works!

Personal Projects / Re: Ultima: Exodus (NES) --- Now released
« on: February 23, 2020, 05:33:02 pm »
Congrats on releasing this patch. I was wondering if it would be possible to create a separate patch that still uses the old font. I find new one a bit hard on the eyes.
Thanks, try this!
Let me know how it looks like, if others have the same issue I may include that as an optional extra patch on a future revision.

Personal Projects / Re: Ultima: Exodus (NES) --- Now released
« on: February 23, 2020, 07:02:19 am »
Anyway, as there are several files in the patch folder, I think it will be less daunting for users to have some basic instructions on how to apply the patch: just for them to be sure they are doing things right in the case something doesn't work. :p
You are absolutely right. I will have to make it more user-friendly.
Anyway, glad it worked for you in the end :)

Pages: 1 [2] 3 4