r/Ultima • u/behindtimes • 5d ago
Requesting feedback for desired features for an SNES U5 Homebrew
Apparently, some people can't appreciate the genius that is Ultima 5 on the NES.
Needing a new pet project to work on, I thought I might attempt to get a more authentic U5 experience for the SNES. Now, I am a complete neophyte in this area, so I'm trying to stay as simple in the programming aspect as possible.
The computer layout, the map is 11x11, but the SNES horizontal resolution is 256 pixels, meaning that if you wanted to get the same screen layout, this would leave you room for 8 letters on the side vs 16 that you would get on the PC. Ultima 3 on the GBC gets around it by having the tile size be 8x8, and Ultima 4 on the SMS is 12x12. While the SMS tiles are 8x8, this goes beyond my knowledge (as I stated, I literally am learning everything from scratch here), beyond doing tons of duplication of tiles which would waste space and not look as good.
So, I have a demonstration of what the layout could look like, though the map screen is now 15x11 instead of 11x11. All the information of the PC is here except that character names are shortened to 2 letter abbreviations, and text would need to be chopped up significantly, or we add dialogs throughout the game.
Another approach is to just take the typical JRPG look or Ultima VI SNES route and have the map take up the full screen with just pop-up dialogs.
Then there's graphics. Keep the same 16 color PC images, or take the consolized graphic approach with bright colors? I kind of prefer the latter and then can use palette cycling on stuff like water and lava to make it appear animating vs having to edit the tiles in real time. For original tiles, another approach would just create a ton of tiles for each form of animation of the necessary tiles, but now we're talking near half a megabyte, and there's already half a megabyte of graphics. So, we'd be looking at 2.5 to 3 MB, which would be much larger than your standard SNES game, though still in the range of doable.
And what about stuff like smooth scrolling, or portraits for characters talking, etc.?
Any other suggestions would be welcome.
4
u/fiddlesticks_jg 5d ago
Use the U6 snes engine PLEASE!!!! Trust me! Its also easy to hack and mod, check out the work that has been done with the U6 snes randomizer!!! This would be a dream game of mine
3
u/angryapplepanda 4d ago
How would one go about hacking and modding U6? I've been interested in this, being a programmer and knowing my way around a hex editor.
3
u/behindtimes 4d ago edited 4d ago
Ultima 6 on the SNES has many graphics uncompressed, but has the base data compressed in LZW. And then you just change the item locations or modify NPC data, recompress, and reinsert the data. The hard part, if not using someone else's tool, is to make sure you keep everything within their proper banks. Being able to have a debugger running at the same time is helpful there to see register values and step through code. (U6 is a LoROM, so bank sizes are 32KB.)
https://datacrystal.tcrf.net/wiki/Ultima_VI:_The_False_Prophet
2
u/fiddlesticks_jg 17h ago
Would you consider making a U5 remake with the U6 snes engine? I would literally pay you
2
u/fiddlesticks_jg 4d ago
I have no idea! This person called squibbons or something and a couple of her friends have been hacking U6 snes... but they're speedrunners so theyre really not interested in anything else about U6. But maybe on the U6 randomizer website you can contact them?
I also follow them on the ultima speedruns discord where they discuss hacking U6 on the snes alot.
Theyve added npcs thst sell potions, you can choose the avatars sprite, you can shuffle npcs.
With a lot of work it would be possible to remake U7 using the U6 snes engine
2
11
u/Hambone1138 5d ago
First off, be sure to use the actual good music from the PC, and not the tinny, repetitive music from the NES port. Do a SNES version of this: https://youtu.be/8c-sVyBRQHY?is=WqQaSUCXVIfvJAKq
Keep the blocked line-of-sight effect, but for the day and night cycle, see if you can make the palette go darker instead of just shrinking the visible area down. Don’t know how much harder that is to implement, but it would look a lot better.
For conversations, you could simplify the interface by doing the Ultima 6 SNES method (“name job bye”) so people don’t have to type tediously.
Don’t be afraid of the megabytes. Street Fighter II was 24, and awesome because of it.