LagoLunatic / dsvrandom

Randomizer for DS Castlevania games
MIT License
82 stars 8 forks source link

A question and a few wacky requests #35

Closed aStarStalker closed 6 years ago

aStarStalker commented 6 years ago

Heyy Lago! Long time no see!

I hope you've been doing good. Probably been busy trying to make these map randomizers work, am I right?! ^o^' So, anyways, since I know you're probably working hard right now to finish the 1.2 version, I don't expect these requests to be carried out (if at all) in the near future, but I thought I might as well share some of em before I end up forgetting them, and ask something while I'm at it too

In the most recent DoS seed I played, I had to use a Cutall special to trigger a switch so I could progress. I'm pretty sure you already said this once so sorry in advance, but I forgot; are Cutall specials considered a movement upgrade/option by the randomizer logic? I'm pretty sure I got mine from a world spawn, so I figured it was the case, and I also just checked that I had the option to sell it. If those can be required to progress it might be a good idea to also make them unsellable, just like Mina's Talisman?

As for the wacky requests, those are pretty much just options I've seen in a few randomizers and found them to be quite funny (and wacky).

Since those are all so wacky, of course they would go in the Optional/Experimental category, if they were a thing, and possibly as individual options since having them all checked would make for a WACKY run! (and not everyone likes to go all wacky, unfortunately :/ )

Again, since I know you have quite a few things to do I don't expect any of these to be a thing in the near future and some of em are also pretty bad Ideas LuL but I thought it might be fun to have em around at some point!

And one more thing, since I've been typing/talking for so long already, Rom mentioned in one of his streams that he'd like to have people race in this randomizer at some point (I assume just like the alttp rando racing hype that's been going around), since it's sooooo good and well made. I thought it might be a good idea to let you know that, and maybe you could show up there one day we're doing CV related stuff to talk about it in specifics? 😄 Or at any time really, we'd love to have you there any day!

That's all I got, JEEZ I typed a lot, sorry for the wall of text (still better than OP 20 Fish head walls though Kappa), can't wait for 1.2 version to come out! Hope you're having fun with this cause it sure is fun to play it! Again, thank you so much for doing this!

LagoLunatic commented 6 years ago

Yo StarStalker!

In the most recent DoS seed I played, I had to use a Cutall special to trigger a switch so I could progress. I'm pretty sure you already said this once so sorry in advance, but I forgot; are Cutall specials considered a movement upgrade/option by the randomizer logic? I'm pretty sure I got mine from a world spawn, so I figured it was the case, and I also just checked that I had the option to sell it. If those can be required to progress it might be a good idea to also make them unsellable, just like Mina's Talisman?

Cutall special can be required if you checked "Allow requiring glitches to win", but otherwise it shouldn't happen. The randomizer does makes the cutall unsellable if you have that option checked, but if unchecked cutall isn't considered a progression item. You might want to check the spoiler log entry to be sure there wasn't any other way to progress, if you don't see one paste the seed info from the spoiler log here and I'll check to see if that seed was bugged.

Item Name randomizer (as in scramble around the names of all the Items, not sure if it's possible) Item Icon randomizer (same as above but with icons) Enemy Names randomizer (again, scrambling around enemy names, could be funny)

These would be quite easy to do. In terms of affect on gameplay, I'm worried that randomizing both the names and icons of items with hardcoded affects (like Death Ring) would make it impossible to know that the item has a special effect. If I add exceptions for certain items and don't touch them it would be fine, then these should be nice silly little options.

BGM randomizer (also not sure if it's possible but could be lots of fun if possible)

Also easy, I actually already tried this once but I made the mistake of allowing literally any song to be BGM. Turns out having boss music, ambience, or complete silence as the BGM of half the areas is boring. This should be fun as long as I limit it to BGM only.

Also why not go the extra mile and maybe randomize the dialog? Scrambling around the words, just like the other ones? (this one I feel like it could take a long while to make it work, IF its even possible)

I don't think shuffling the words would yield interesting results, it would be pretty much unreadable:

the been the 2035, my learned of of but was thought my possessed from since the the I his Ever that life the and never I About over... It Dracula... a then, That of then solar that in was eclipse brink. has me, castle troubles I, realized power to friends me am evil souls enemies. the since same. has Cruz, were the that pulled I That almost power my my year engulfed passed I truth...Soma seize It rebirth

Though you just reminded me of a silly rom hack I saw a while ago, called Kronos Trigger. It took the entire script of a game (Chrono Trigger) and converted it between a ton of different languages using google translate, then back to English. I'm not sure if it's even possible to implement that in a randomizer while still obeying the game's text formatting rules, but if you wanted wacky...

Ecological eclipse of 2035 My life is never the same. Notez Soma Cruz, Dracula Rebirth ... kale I've learned the truth ... I have to take advantage of the power Spirit of my enemies. There is almost the power of evil I swallow, but my friends I shot at the edge of the river. A year ago Since then, and I think My problem ended ...

I think this would qualify.

And one more thing, since I've been typing/talking for so long already, Rom mentioned in one of his streams that he'd like to have people race in this randomizer at some point (I assume just like the alttp rando racing hype that's been going around), since it's sooooo good and well made. I thought it might be a good idea to let you know that, and maybe you could show up there one day we're doing CV related stuff to talk about it in specifics? 😄 Or at any time really, we'd love to have you there any day!

I'd love to watch rom's streams more often! Unfortunately in my time zone his streams usually start after midnight and end around morning. Excluding one time that he streamed way earlier, I've only been able to watch his streams live by staying up all night so I can't do it on a regular basis.

I don't know much about racing myself, but a couple of my beta testers have been doing races of the beta 1.2 version. They've had some good suggestions to make the randomizer better for racing: I've implented an optional Short Mode for PoR, which cuts the number of portraits in the game from 8 to 4 to make races feel less slow and tedious, and I made some balance changes like not allowing Death Ring as a random drop since it can be unfair in races.

That's all I got, JEEZ I typed a lot, sorry for the wall of text (still better than OP 20 Fish head walls though Kappa), can't wait for 1.2 version to come out! Hope you're having fun with this cause it sure is fun to play it! Again, thank you so much for doing this!

I can't wait to release 1.2 either, it's got lot of features I think people will like! My current plan is to finish up DSVEdit 1.7 since it has HoD support and a lot of bug fixes people are waiting for, then I'm gonna finish up the last bit of work necessary to get the room randomizer working with PoR (it already works for DoS and OoE). Then 1.2 should be ready to release.

aStarStalker commented 6 years ago

It's nice to know that most of the things I suggested are pretty easy to do, looking foward to them once/if they get implemented!

As for the hardcoded effect items, I feel like not knowing what it is until you put them on is in the spirit of a randomizer, but I can see a Death Ring-effect item with randomized name/sprite being really detrimental gameplay-wise. The same could be said of progression-related items like Mina's Talisman, the Dominus/Custos Glyphs, Stella's Locket, etc. Maybe those should also get the immunity from being randomized if this feature is implemented. Quest-related Items I'm not sure, maybe keep the name reference and randomize just the sprite? As for the rest I feel like it'd be okay to randomize.

Ecological eclipse of 2035 My life is never the same. Notez Soma Cruz, Dracula Rebirth ... kale I've learned the truth ... I have to take advantage of the power Spirit of my enemies. There is almost the power of evil I swallow, but my friends I shot at the edge of the river. A year ago Since then, and I think My problem ended ...

OMG, this is gold. lmao!

When I suggested dialog randomization I actually meant shuffling all of the dialogue in the game, which is why I figured it would take a while to implement, if its even possible to. Same thing for the enemy names thing I suggested. You think it is doable? If it's not, or it's not interesting, I'd understand. (To be fair, I'm a silly person who laughs about things like the nonsensical shuffled dialogue you showed, so I might be suspect for suggesting this ^o^)'

I'd love to watch rom's streams more often! Unfortunately in my time zone his streams usually start after midnight and end around morning. Excluding one time that he streamed way earlier, I've only been able to watch his streams live by staying up all night so I can't do it on a regular basis.

Yeah, that is a thing for me too. Maybe I could try talking to him about it so we can arrange that he streams some randomizer runs on a reasonable time for you to join? There's also his Twitter which is what he uses most of the time and you should be able to talk with him fairly easily through that.

I don't know much about racing myself, but a couple of my beta testers have been doing races of the beta 1.2 version. They've had some good suggestions to make the randomizer better for racing: I've implented an optional Short Mode for PoR, which cuts the number of portraits in the game from 8 to 4 to make races feel less slow and tedious, and I made some balance changes like not allowing Death Ring as a random drop since it can be unfair in races.

Oh cool, there's already some people racing it? That's really nice to hear! I mostly let you know it so you could maybe optimize it for races later down the road, but you're already doing this so it's really good!

As for the races themselves I believe rom meant like actually racing on speedrunslive . com in the SpeedGaming channels. But I'm not sure myself so that's why I think it would be really nice if you two talked about it someday. He'll be attending Zeldathon this week, so after that it would be a really good time to talk about it.

I can't wait to release 1.2 either, it's got lot of features I think people will like! My current plan is to finish up DSVEdit 1.7 since it has HoD support and a lot of bug fixes people are waiting for, then I'm gonna finish up the last bit of work necessary to get the room randomizer working with PoR (it already works for DoS and OoE). Then 1.2 should be ready to release.

I didn't know that DSVEdit would be getting HoD support, that's awesome! Looking foward to what people will be able to make there. Seems like 1.2 is almost done too, so I'm happy about that as well!

aStarStalker commented 6 years ago

as for the seed log thing:

Seed: lul, Game: Dawn of Sorrow, Randomizer version: 1.1.0 Selected options: randomize_pickups, randomize_enemies, randomize_enemy_drops, randomize_boss_souls, randomize_item_stats, randomize_skill_stats, randomize_shop, randomize_wooden_chests, randomize_villagers, randomize_weapon_synths, randomize_enemy_stats, randomize_enemy_anim_speed, name_unnamed_skills, unlock_all_modes, reveal_breakable_walls, fix_first_ability_soul, fix_luck, no_touch_screen, remove_slot_machines, fix_infinite_quest_rewards, dont_randomize_change_cube, open_world_map Difficulty level: Normal Randomizing pickups: Placing main route progression pickups: Placing pickup 00D0 (paranoia) at 00-00-11_02 (The Lost Village) Placing pickup 00CE (puppet_master) at 00-00-13_05 (The Lost Village) Placing pickup 0105 (black_panther) at 00-01-26_00 (Demon Guest House) Placing pickup 0146 (hippogryph) at 00-01-07_00 (Demon Guest House) Placing pickup 0142 (balore) at 00-00-16_00 (The Lost Village) Placing pickup 00D2 (skeleton) at 00-02-12_02 (Wizardry Lab) Placing pickup 003F (seal_3) at 00-04-00_00 (The Dark Chapel) Placing pickup 003E (seal_2) at 00-05-02_00 (Condemned Tower & Mine of Judgment) Placing pickup 0039 (tower_key) at 00-04-13_00 (The Dark Chapel) Placing pickup 0040 (seal_4) at 00-08-1A_02 (Cursed Clock Tower) Placing pickup 00FC (bat_form) at 00-04-10_05 (boss) (The Dark Chapel) Placing pickup 0145 (rahab) at 00-09-01_06 (boss) (The Pinnacle) Placing pickup 00CF (zephyr) at 00-06-0D_00 (Subterranean Hell) Placing pickup 0119 (bone_ark) at 00-07-0C_05 (Silenced Ruins) Placing pickup 00C6 (mina_talisman) at 00-03-00_00 (Garden of Madness) Placing pickup 0041 (seal_5) at 00-00-0D_00 (The Lost Village) Placing leftover progression pickups: Placing pickup 0134 (skeleton_ape) at 00-0B-0B_01 (The Abyss) Placing pickup 0103 (flying_armor) at 00-00-07_04 (The Lost Village) Placing pickup 00E3 (killer_clown) at 00-05-1B_02 (boss) (Condemned Tower & Mine of Judgment) Placing pickup 00D4 (axearmor) at 00-08-19_00 (Cursed Clock Tower) Placing pickup 00EC (ukoback) at 00-04-15_01 (The Dark Chapel) Placing pickup 0143 (malphas) at 00-01-05_00 (Demon Guest House) Placing pickup 0104 (bat_company) at 00-07-05_03 (Silenced Ruins) All progression pickups placed successfully.

I opted to use a Cutall special from the Whip weapon to progress through Wizardry Lab after I got paranoia and puppet master and explored every area I could reach with those two things alone. Maybe I had a way to progress with these items to another power-up but I didn't know how.

aStarStalker commented 6 years ago

...And I just remembered another suggestion I was going to make! Not a wacky one this time around though!

Would you consider adding a average enemy animation speed slider to the randomizer? I'm not sure how you do it, if it's a multiplier or not, but that could make for some really difficult seed options. Randomizing animation speed sometimes makes things harder, but having a way to consistantly make it harder(or easier!) I feel like would be better. (I also don't know if this is already a thing on the beta, so sorry in advance if it is)

aStarStalker commented 6 years ago

Also, did my most recent messages go through? Literally made this account 2 hours ago and somehow made it get flagged lol but now its fixed.

LagoLunatic commented 6 years ago

When I suggested dialog randomization I actually meant shuffling all of the dialogue in the game, which is why I figured it would take a while to implement, if its even possible to. Same thing for the enemy names thing I suggested. You think it is doable? If it's not, or it's not interesting, I'd understand. (To be fair, I'm a silly person who laughs about things like the nonsensical shuffled dialogue you showed, so I might be suspect for suggesting this ^o^)'

Ah, so like shuffling each sentence in the entire game, instead of each word in a sentence? Might be possible, but again I'm not sure how well the special text commands would work so I'd need to test it to know for sure.

For enemy names, you mean generating new names from all the words, like "Bomber Slime" for example? (As opposed to just shuffling the names so you wind up with a Student Witch named "Skeleton Ape" or something.)

Yeah, that is a thing for me too. Maybe I could try talking to him about it so we can arrange that he streams some randomizer runs on a reasonable time for you to join? There's also his Twitter which is what he uses most of the time and you should be able to talk with him fairly easily through that.

If rom has the time to stream earlier I'd definitely be a fan of that. Or even if he just started out with the rando it would be helpful, since if he starts streaming SotN when I'm awake at midnight and I go to sleep I won't realize if he switches to the rando 2 hours later for example.

As for the races themselves I believe rom meant like actually racing on speedrunslive . com in the SpeedGaming channels. But I'm not sure myself so that's why I think it would be really nice if you two talked about it someday. He'll be attending Zeldathon this week, so after that it would be a really good time to talk about it.

Ooh I see, the races done so far have been coordinated in the Randomizer Central discord and are effectively two people streaming the same seed at the same time on their own channels, there's no commentator like the LTTP rando tournament on SpeedGaming right now.

It would be good to not have a race like that until after 1.2 is out at least, since it fixes a number of bugs like the Tristis waterfall being impossible to unfreeze in specific scenarios, being able to abuse the DoS luck patch by getting negative luck to always get drops, etc. Once I've released 1.2 I'll contact him on twitter to tell him about it and ask him about any race specifics I can help with.

I opted to use a Cutall special from the Whip weapon to progress through Wizardry Lab after I got paranoia and puppet master and explored every area I could reach with those two things alone. Maybe I had a way to progress with these items to another power-up but I didn't know how.

You can escape wizardry lab with just puppet master. That wall at the end is too high for just puppet master, and you can't ride the platform without balore, but the trick is that you can trigger the platform to leave without you, and then the platform is a couple pixels lower than the wall so you can puppet master on top of it:

dos puppet master platform

(I should maybe link to this gif in the FAQ section of the readme.)

...And I just remembered another suggestion I was going to make! Not a wacky one this time around though!

Would you consider adding a average enemy animation speed slider to the randomizer? I'm not sure how you do it, if it's a multiplier or not, but that could make for some really difficult seed options. Randomizing animation speed sometimes makes things harder, but having a way to consistantly make it harder(or easier!) I feel like would be better. (I also don't know if this is already a thing on the beta, so sorry in advance if it is)

Oh right, I was gonna add that a while ago but completely forgot, I'm gonna add that now. And yep it's gonna be a multiplier, so if you put it all the way to the right to 3.0, enemies are much more likely to be sped up by a ton (but there is still a small chance of an enemy being slowed down).

Also, did my most recent messages go through? Literally made this account 2 hours ago and somehow made it get flagged lol but now its fixed.

I think I can see them all now, but only this last message gave me a notification so maybe the others didn't go through at first or something.

aStarStalker commented 6 years ago

...omg, I completely forgot about the platform being a little bit lower than the wall there. My bad!

Ah, so like shuffling each sentence in the entire game, instead of each word in a sentence? Might be possible, but again I'm not sure how well the special text commands would work so I'd need to test it to know for sure.

For enemy names, you mean generating new names from all the words, like "Bomber Slime" for example? (As opposed to just shuffling the names so you wind up with a Student Witch named "Skeleton Ape" or something.)

I feel like generating new names from all words might make it funnier than just giving each monster a different monster name. Same goes for item names and skill names, if you end up adding a feature like this. Could the same be applied to the game's dialog? That's what I've been trying to suggest, but english is hard and I haven't been able to express it well enough. '^o^ And I imagine it would take a while to do these too...

If rom has the time to stream earlier I'd definitely be a fan of that. Or even if he just started out with the rando it would be helpful, since if he starts streaming SotN when I'm awake at midnight and I go to sleep I won't realize if he switches to the rando 2 hours later for example.

Okay, I'll make sure to let him know whenever he streams again.

Ooh I see, the races done so far have been coordinated in the Randomizer Central discord and are effectively two people streaming the same seed at the same time on their own channels, there's no commentator like the LTTP rando tournament on SpeedGaming right now.

It would be good to not have a race like that until after 1.2 is out at least, since it fixes a number of bugs like the Tristis waterfall being impossible to unfreeze in specific scenarios, being able to abuse the DoS luck patch by getting negative luck to always get drops, etc. Once I've released 1.2 I'll contact him on twitter to tell him about it and ask him about any race specifics I can help with.

Yeah, I agree that it would be better to wait for 1.2 to host races there. I'll be looking foward to it 😄

Oh right, I was gonna add that a while ago but completely forgot, I'm gonna add that now. And yep it's gonna be a multiplier, so if you put it all the way to the right to 3.0, enemies are much more likely to be sped up by a ton (but there is still a small chance of an enemy being slowed down).

Nice, glad that I reminded you about that! Looking foward to that as well.

LagoLunatic commented 6 years ago

I feel like generating new names from all words might make it funnier than just giving each monster a different monster name. Same goes for item names and skill names, if you end up adding a feature like this. Could the same be applied to the game's dialog? That's what I've been trying to suggest, but english is hard and I haven't been able to express it well enough. '^o^ And I imagine it would take a while to do these too...

Ohh, I see. Yeah, come to think of it that would be a lot funnier. For item and enemy names it should be pretty easy, basically just the same as the seed names automatically generated by "New seed" but with only words that make sense for items/only words that make sense for enemies.

For dialogue, I wonder how that would work... maybe I should generate a Markov chain off all the dialogue in the game, then for each event have the Markov chain generate a bunch of sentences. There are libraries that do that so this part wouldn't be a problem:

Don’t be too sure. I thought, too. I’ll give it a try and see. I fulfilled my promise to you. When you get home, make sure you remember him, the hunter. Yeah, just about. Oh, there is one more thing. You would be able to crack it, but just keep that in mind. What can she do by opening those gates. Oh, man.. Yoko's avoiding me.. People support each other. Oh, hello. So that's what’s happening.. Yoko and all, but that ”pretty boy, Arikado. But I can kinda understand, but...don't you think Mina's doing? But alas, I will see about joining Arikado. I need your help. Yeah, he said he's here to keep in touch. Y-You obtained the same time as Dracula's demise.

It would basically just be a matter of figuring out how to put in the special commands after the Markov chain is done generating the sentences. I'd probably need to preserve all the commands in the original dialogue, then add those exact commands back in, in order so it doesn't break the game, but spread out randomly between the generated sentences.

aStarStalker commented 6 years ago

Don’t be too sure. I thought, too. I’ll give it a try and see. I fulfilled my promise to you. When you get home, make sure you remember him, the hunter. Yeah, just about. Oh, there is one more thing. You would be able to crack it, but just keep that in mind. What can she do by opening those gates. Oh, man.. Yoko's avoiding me.. People support each other. Oh, hello. So that's what’s happening.. Yoko and all, but that ”pretty boy, Arikado. But I can kinda understand, but...don't you think Mina's doing? But alas, I will see about joining Arikado. I need your help. Yeah, he said he's here to keep in touch. Y-You obtained the same time as Dracula's demise.

^ omg... what the.... LMAO!

Well I'm glad the stuff I've been suggesting wouldn't be too hard to implement if you did it, so that's nice

That dialogue though...

It would basically just be a matter of figuring out how to put in the special commands after the Markov chain is done generating the sentences. I'd probably need to preserve all the commands in the original dialogue, then add those exact commands back in, in order so it doesn't break the game, but spread out randomly between the generated sentences.

Hmm... I'm not sure if I understand most of this, but it seems like you have it figured out, so I'll just smile and wave and hope for the best! 😄

LagoLunatic commented 6 years ago

Hmm... I'm not sure if I understand most of this, but it seems like you have it figured out, so I'll just smile and wave and hope for the best! 😄

lol don't worry about it, I'm just talking to myself about how to avoid softlocking the game.

Also, here's one for PoR and OoE... makes just as little sense.

And through this castle, that power can be yours. A ghost, as you would say. He said it was effective. Things going well, I assume? You know, that cog we foundearlier will probably fit here. In order for the one that gets damaged! C'mon, let's go. I pass away, that's good enough, don't you think those two vampire girls! Whatever you do, don't overdo it. Belmonts inhabiting the whip. Think what you wanted. Master of this castle! You know.. But look, we have to be the great magician everyone's been talking about? That was never mentioned in any book I've read! Something's here? I give you, I shall grant you a world of peace, my beloved daughters, I will tell you my enemy! Belmonts in order to use it wisely. Know the limits of your business! Isn't that a little nervous about that!

A Rapier Glyph? It's like a full-fledged chef. My strength is returning! I'll pull out all the rest: In ages past, there was a hunter's clan. Just jump or back-dash to regain control. At an awkward time, I see. And I'm going now. The [Royal Crown] is complete. Dominus, we two can save the world--from nothing less. Howrude of me! I'm gonna return the final piece? [Prison Island]? You left a trail.. That's TWO fetch errands I've sent you on some silly errand instead. You've come at last.. Glyph straight off your bloody corpse! I can't even do it? Then again, I do not smile. And so we gain things too, you know. ...There may still be clues at the general store.

aStarStalker commented 6 years ago

So basically, every dialogue in the game would be replaced by one or two of these randomized sentences? With the size being determined by the original one? Or did I get it wrong?

Oh boy... And I thought I was hype for 1.2... lmao

Then again, I do not smile. And so we gain things too, you know. ...There may still be clues at the general store.

This is just too much 😄

LagoLunatic commented 6 years ago

So basically, every dialogue in the game would be replaced by one or two of these randomized sentences? With the size being determined by the original one? Or did I get it wrong?

Yup, that's the idea.

LagoLunatic commented 6 years ago

v1.2 is finally done, map randomizer and all! So at some point soon I'll start working on 1.3 with this stuff. I made a condensed list of cosmetic options I'm gonna try to add here: #39