News:

11 March 2016 - Forum Rules

Main Menu

FF4 Roguelikeifyer

Started by pinkpuff, November 19, 2016, 07:15:16 AM

Previous topic - Next topic

pinkpuff

I had originally started a thread about this on the Slick Productions forum, but that site seems to be having issues for the past little while so I thought I'd cross post something about it over here.

The Goal
Basically, the idea is to make a "randomizer" of sorts for FF4, except instead of the type of randomizer you usually see that randomizes the treasures and character abilities/appearances and maybe some things about the monsters while leaving the plot and dungeon layouts the same, rather, it would leave the characters and equipment alone for the most part and completely scrap all the plot and original dungeons in favor of a giant dungeon-delve with randomly generated floor layouts, much in the style of roguelike games such as Crawl or Nethack.

Content Patches
At the beginning of the game, you construct a team consisting of up to five of any of the characters in the game (except FuSoYa, for a variety of reasons). Once you commit to your choice of team, there's no going back; that's your team for the game, short of resetting and starting a new game. In the finished version, there will be several options to choose from in terms of how you prefer the setup of the characters, spells, equipment, monsters, and other game content:

  • Pure Vanilla: The characters' abilities and progressions, all the equipment, spells, monsters, item prices, all that will be left more or less exactly as it is in vanilla FF4, with the exception that "dummied" items and abilities will be resotred, the characters' starting equipment might be changed, and probably Yang will be given some late-game HP gains. This means the characters will probably be unbalanced, so you can take Edge for an easy time especially through the earlier floors of the dungeon, or dark knight for more of a challenge, especially in the mid to late floors.

  • Vanilla-Inspired: (Default) The characters will stay more or less true to their original strategies and setups; the only changes made to them and to the equipment will be for the sake of balancing them out so that they will all be somewhat viable from beginning to end, and to help balance them with each other. For example, Salve will be able to use any item for its full effect (or most of it anyway) on the entire party, not just the first potion. Likewise, there will be equipment options for characters like the bard and dark knight to help them throughout the later parts of the game, and the ninja and chief will be brought back down a few levels to start them on par with the rest of the cast.

  • Unprecedented Crisis: The characters and equipment (and probably the monsters) will be more or less lifted wholesale from Unprecedented Crisis. This means a more radical departure from the original, and some changes that were motivated purely by my own whims rather than necessity, but if you prefer this character setup, the option will be there.

  • Randomized: This option will let the randomizer shuffle up character abilities and equip skills and deal them out to the characters. You might end up with a Rydia that has Dark Wave, Salve, and Gird. You might have a Paladin that has Cry and Black magic and equips harps, katanas, and spears. The possibilities are endless. Safeguards will be put in place so that if a character is dealt an ability requiring a certain equipment type, it will be guaranteed to have the corresponding equip skill. Otherwise, the sky's the limit.

Current Progress
There is a somewhat playable demo available, but it is still very raw, as I have really only just begun this project. Currently, the only content option is "Pure Vanilla", as I want to get the basic mechanics of the randomizer working 100% or close to it before I start branching the rom off into other versions to create the patches required for the other content options, because if I need to make any changes to the rom for the sake of the randomizer after I've made those branches, said changes will have to be applied to each rom.

In its current state, the roguelikeifyer will allow you to set up a team at the beginning. The descriptions it gives of the characters are for the "Vanilla-Inspired" content, but that hasn't been implemented yet, so you can ignore those descriptions for now.

It will create 11 "segments" of 20 floors each. Each floor in the segment is randomly constructed and randomly littered with treasures and the odd NPC. Each floor has an "exit" door and a "warp" door, except the first floor of each segment which has a save point instead of a warp back. Each segment ends with a boss fight. The random encounters gradually increase in difficulty as you progress from one floor to the next.

Currently, the dungeons are a little sparse and all have the same tileset, so it's a little dull in that respect right now, but remember it's still in the sort of proof-of-concept stage; I plan to add more content and tilesets after I get the underlying mechanics all working correctly and debugged.

Anyway, here it is for what it's worth:
http://www.timecave.net/ff4roguelikeifyer/ff4roguelikeifyer.zip

Instructions
Apply the patch "FF4RL Base" to a FF2US v1.1 UN-headered rom. Then, rename the resulting rom file "test.smc" (I'm a very lazy puff). Finally, run the executable "FF4Roguelikeifyer". A black screen may flash up briefly; ignore it. The resulting test.smc rom should then be randomized and ready to play around with.

Any feedback and/or ideas or input are appreciated. Thanks!


The character selection screen.


A randomly genereated dungeon.
Let's dance!

Bahamut ZERO

Woah, you're progress on this since last I looked over at Slick is astounding! Great work!

I'll be giving this badboy a go here later on in the afternoon, and I'll give some feedback.  :)

Also, if at any point you want change ups to graphics (weapons, tilesets, w/e really), feel free to give me a shoutout!  :beer:
Like Super Mario Land? Then you'll love my first completed Rom Hack: Maniac on the Run!

SunGodPortal

Whoa. This sounds so cool. I can't wait to try this. :D

BTW, p, your FF4 editor is BOSS.
Cigarettes, ice-cream, figurines of the Virgin Mary...

Madsiur

I really like the idea of this project and the direction it is taking!  :D

I'll keep an eye on this!

Chronosplit

Hell yeah, I've been wanting this ever since I first played the Lunar Ruins. :D

Looking at the Save spot makes me think, is there any chance that we'll be seeing graphic reversion in later updates?

Grandpaf

Wow ! Its looking real good and I'm quite impressed by the work. I  played a bit this morning and gladly shared the patch with friends  :thumbsup: However, I got stuck at the second floor with rocks blocking the way to the stairs. Regardless, its pretty cool and cant wait to hear news about your progress !
La forĂȘt... en pleine Beauce

pinkpuff

Thanks everyone! Glad to hear people are liking it so far. There's quite a bit left to do though. I don't plan on making any graphic changes, though one can easily patch over it with graphic changes such as the save point tile.

Quote from: Grandpaf on November 19, 2016, 02:41:05 PM
Wow ! Its looking real good and I'm quite impressed by the work. I  played a bit this morning and gladly shared the patch with friends  :thumbsup: However, I got stuck at the second floor with rocks blocking the way to the stairs. Regardless, its pretty cool and cant wait to hear news about your progress !

Even in its current form, that shouldn't be able to happen. I don't suppose you kept a copy of the output rom? If you did would it be possible to post a patch so I can take a look to see what might have gone wrong?
Let's dance!

Grandpaf

Quote from: pinkpuff on November 19, 2016, 07:20:49 PM

Even in its current form, that shouldn't be able to happen. I don't suppose you kept a copy of the output rom? If you did would it be possible to post a patch so I can take a look to see what might have gone wrong?

Sure do, I uploaded the ips file for you :)

https://ufile.io/b2919
La forĂȘt... en pleine Beauce

pinkpuff

Thank you so much! As a result, I was able to identify the problem and correct it. I have updated the zip, so that should be working correctly now. Let me know if anything like that happens again or if you find any other bugs.

http://www.timecave.net/ff4roguelikeifyer/ff4roguelikeifyer.zip
Let's dance!

Cecil188

So I was going through the dungeon, and I encountered a "wall" that prevents me from going any further: https://www.youtube.com/watch?v=Yu2g3Ouzw_g
Aside from that, there are a few comments that I could make, though I assume you're aware of the issues that I'll bring up, given that this is more just to show that the idea works, but regardless:
There's really no incentive to keep going constantly(like a time limit, as per the FFVAC), and I found myself just stopping to grind repeatedly. It's also really easy to grind as much as I'd like because supplies are really easy to get.

I wouldn't need to grind, however, if the treasure chests were better. These types of hacks only really work, I find, if the stuff you're getting is *better* than the average gear you'd have for a particular part of the game, because you're often lower level due to being forced to keep progressing, like most rogue-likes have. However, I'm mostly just walking through 3 whole floors to find a single treasure chest sometimes, and then it's got a high chance of giving me something silly, like a Potion when I have 3000 HP, or a Mallet when I have 99 Remedies already. I find a good balance is when shops allow you to fill holes in your equipment, at the cost of gil, but I find I just end up buying everything I need from shops, since everything is really cheap, and I often have absurd amounts of gil from grinding.

You've probably already considered all of this, but I think the most elegant solution to this would be to make the treasure chests better(and perhaps more numerous as well), and introduce some sort of catalyst to make the player progress forward. As it stands, 220 floors is a bit of a slog when I have to stop for hours at a time, and I believe I had logged 12 or so hours in that particular video, and I was maybe about halfway through.

Another thing to consider might be removing some of the floors that just spew single Imps or something. It would trim some of the excessive fat off the dungeon.

pinkpuff

Most of what you mention here I am indeed aware of.

The thing about the chest rarity is that there can only be a maximum of 256 chests among all the overworld maps. If there are 220 overworld floors, then that averages just a little more than one chest per floor. So if you find a floor with a bunch of chests, then you might have to go a few floors before finding a chest again. This is a technical limitation of the rom that is difficult to avoid, especially when I'm trying to use as much of the map space as I feasibly can. At best I can try to make the treasures more valuable; this kind of tweaking will probably happen at a later stage in development, though, since it will have to be different for each content patch.

There is a planned feature in the works that will cause the item purchase prices to be inflated while leaving their sale prices low. It may not end up being applied to the "Pure Vanilla" content (which is what you're looking at right now), but it will be in all the other content patches, including the default one.

The floors with imps is a side effect of my original scheme for assigning monster domains which just blindly assigned them sequentially in numerical order, the way they were in the rom, one per floor, without any regard as to the difficulty curve, whether they were supposed to be overworld or underground encounters, or even whether there were enough of them (there aren't, and that might be related to the glitch you encountered). The current WIP version has that fixed and will be uploaded sometime soon.

On that note, do you know what floor (roughly) you were on when that glitch occurred? I can see it says "L10" but do you happen to know what segment that was, or a rough estimate? The game itself doesn't track the segments, you would have had to count them... although if the bosses were working for you then maybe you can remember who was the last boss battle you fought before that happened? I'm currently trying to get the transition from the overworld to underworld and underworld to moon working so that I can add the rest of the maps (the goal is 300 maps total).
Let's dance!

Cecil188

That's a shame about the treasure chests, but I think the content is more important than the number, anyways.

The bosses were indeed working correctly(though they scale so slowly that they're easily the easiest fight in the set. I believe I fought the Mist Dragon, then the Antlion, then the Mom Bomb, then Milon, then Milon Z., and then Cagnazzo. I believe there was also a set without a boss, for whatever reason. If I haven't missed anything, that makes the floor number 150. It may also be worth noting that the only encounter in those last 10 floors is vs. Rubicante, so if that's a common occurance, that would also help identify what floor it was.

Geiger

Quote from: pinkpuff on November 26, 2016, 03:57:40 AM
The thing about the chest rarity is that there can only be a maximum of 256 chests among all the overworld maps. This is a technical limitation of the rom that is difficult to avoid, especially when I'm trying to use as much of the map space as I feasibly can.

An in-game dungeon randomizer was an idea I toyed with for Chrono Trigger.  While I would face many of the same technical limitations as yourself, it was technically feasible that I could create a random 'fake' chest.  It wouldn't be automatic, and there would be little to no long-term tracking of it.  Would work something like:


  • Paint a tile with a closed chest.
  • Make the tile solid.
  • Attach an interaction event to the tile.

    • Paint tile with open chest.
    • Play treasure sound.
    • Give item to player.
    • Display dialog.
    • Turn off object.

But then, Chrono Trigger is capable of some pretty advanced stuff, like self-modifying code.  I admit I don't know anything about FF4's event commands or memory usage, so this might be two or three orders of magnitude impossible.
This is the patent age of new inventions -/- For killing bodies, and for saving souls, -/- All propagated with the best intentions. --Lord Byron

megakidicarus

I got to a boss floor where there was a Trap door sprite(I assume Demon Wall) but it just was a it swas a trapdoor fight and the sprite didn't disappear when defeated.

Kiyoshi Aman

An in-game randomizer's perfectly doable if you use the algorithm Lufia II uses for its Ancient Cave. (I think it has predefined room shapes and merely connects them at the door to form a coherent level.)

SmashManiac

Slick Productions appears to be gone for good, and I was unable to retrieve the original thread from public archives except for the first page of posts.

Is the documentation in this thread still up-to-date?