Castlevania II (Simon's Quest) - Multilingual enhancement

Started by Bisqwit, December 19, 2012, 01:38:36 PM

Previous topic - Next topic

MathUser2929

There was never any ban on request for changes to the hack. And since you aren't RHDN staff or the hack author you don't get to dictate which requests are fulfilled. So you can quit arguing against it cause you don't make the decision anyway.

Vanya

Quote from: Rhetorical on March 21, 2013, 09:28:45 AM
Since you say you understand why it isn't infinite lives, can you explain it to us?  You can do it in PM if you must.

Since he's asking for changes to the mod, I think the discussion belongs here unless he reverts to stomping his feet, sticking out his tongue, and telling everyone who corrects him "NUH UH" without anything to back up his position.

You got your PM.

Bregalad

This tread becomes ridiculous, but for information, hearts, experience, time and all this stuff is stored in BCD in Castlevania games (and not just Castlevania II). So no hex conversion necessary for cheat codes.

Also if you want to play simon's quest without loosing just force a nonzero value at address $40 (which is current HP), and there you are. I just thought I'd mention that.

Da_GPer

Lets get this topic back on track, ya know, having it be about the project itself and not about hearts.....

Bisqwit

Quote from: Vanya on March 21, 2013, 01:58:23 AMI'm curious about how the game handles the password/save feature since you went as far as calling it elegant.

Passwords are different, because the player is always returned to the starting location in Jova upstairs.
But the death-resume, and by extension, SRAM-resume, use the following measures to elegantly ensure that Simon is never spawned in a dangerous spot:
-- Every frame, the game keeps track of last safe spot where Simon is in. The spot is Simon's current loation, except if he is airborne, or if he is in the stairs, or if he is on a floating platform or on a ferry, in which case the safe spot is not overwritten. Thus, at death-resume, and by extension SRAM-resume, Simon is always returned to a spot where he can stand safely. He is never respawned on a moving platform that might no longer be there.
-- At death-resume, and by extension SRAM-resume, Simon is given a few frames (128 if I recall right, about two seconds) of invulnerability. He can walk through enemies without getting harmed. This ensures that even if Simon is spawned on a small platform that has a skeleton to his company, he can enough time to react and move to safety without getting hurt.

MathUser2929

Quote from: Bregalad on March 21, 2013, 06:05:43 PM
This tread becomes ridiculous, but for information, hearts, experience, time and all this stuff is stored in BCD in Castlevania games (and not just Castlevania II). So no hex conversion necessary for cheat codes.

Also if you want to play simon's quest without loosing just force a nonzero value at address $40 (which is current HP), and there you are. I just thought I'd mention that.

When I opened CV II in a hex editor the value was already at a non zero value: e7. I changed it to 01 anyway I didn't get to keep hearts after death either.

When I added a cheat 0044:01 in FCEUX 2.20 I didn't get keep hearts after death either.

Can someone make a patch for this then instead? I'd settle for that if the hack author don't want to half hearts after death, which I still think is a great idea.

KingMike

Bragalad is either using a different version or got the address wrong.
This is the US version.
RAM $80 = current HP
RAM $46-47 = EXP, RAM $48-49 = hearts

Knowing that, let me tell you how you could find the code yourself easily with FCEUX. :)

In FCEU debugger, set breakpoint for writes to RAM $0048-0049.
Purposely get game over.
Choose Continue.
Debugger window opens on function $C419 (zeroes EXP and hearts).
Checking the Stack, we can see it was called by $C314 (look at the first two bytes under Stack. They are C316, the address at the end of the instruction that called it. Subtract 2 to get the first byte of the instruction).
If you know the mapper, you know $C000-FFFF = last bank of PRG ROM, and so that maps to ROM address $1C324.
NOP the JSR $C419 (changes the 3 bytes at $1C324 to EA)
(the part to be interested in in the mapper doc is PRG Setup. I know MMC1 has two modes, one where $8000-BFFF is always ROM bank 0 and $C000-FFFF is swappable, and the other where $8000-BFFF is swappable and $C000-FFFF is always the last ROM bank. Given a choice, NES games will almost always keep the end of the memory map a fixed bank.)
"My watch says 30 chickens" Google, 2018

Bregalad

Sorry I mixed up $40 with $80. I remembered it was a value with only one bit set, but I didn't remember which bit ^^

Vanya

Quote from: Bisqwit on March 22, 2013, 01:35:12 AM
Passwords are different, because the player is always returned to the starting location in Jova upstairs.
But the death-resume, and by extension, SRAM-resume, use the following measures to elegantly ensure that Simon is never spawned in a dangerous spot:
-- Every frame, the game keeps track of last safe spot where Simon is in. The spot is Simon's current loation, except if he is airborne, or if he is in the stairs, or if he is on a floating platform or on a ferry, in which case the safe spot is not overwritten. Thus, at death-resume, and by extension SRAM-resume, Simon is always returned to a spot where he can stand safely. He is never respawned on a moving platform that might no longer be there.
-- At death-resume, and by extension SRAM-resume, Simon is given a few frames (128 if I recall right, about two seconds) of invulnerability. He can walk through enemies without getting harmed. This ensures that even if Simon is spawned on a small platform that has a skeleton to his company, he can enough time to react and move to safety without getting hurt.

Interesting and elegant indeed.


*The following is an analysis of the lives and continue system in CV2. They are not to be construed as suggestions for this patch as some of my ideas would go beyond the scope of the project. Just think of it as food for thought.

About the death penalties in the 3 NES games; I think the CV2 one is quite the oddball, but with good reason. It's a bit of a complex issue when you delve into it. Comparing CV2 to CV1 &3 reveals a lot of complicating issues with the CV2 set up has.

Here's what happens when you die:
*CV1&3 - Loose all upgrades, health refilled, hearts reset to 5, you get placed back at the entrance to the current sub-stage, and the sub-stage is reset.
*CV2 - Health refilled, and the sub-stage is reset.

The reasons for this is that in CV1&3 the upgrades are plentiful and easy to get back. This, BTW, shows the game's arcade inspired heritage. In contrast the upgrades in CV2 are all permanent and take considerable effort to find. So they can't take them away anymore because they're no longer easy to retrieve because the candles are gone. They tried to off set this by increasing the value of hearts and making enemies drop them more often. However this poses problems of it's own. First off, this made the game itself more boring visually and interactively. Having removed all item drops except hearts is also a factor that adds to the monotonous nature of the game play. This set up literally makes lives nearly pointless. They could have tripled your HP and gone straight to the continue screen and it would have made no difference at all. So lives in CV2 serve no purpose except to preserve tradition and waste your time.

Here are some ideas on how to fix this. If you want the game to resemble it's action brethren then keep the lives, but place the player back at the last town they visited if they are on the "OW". Dying in a mansion could place the player back at the entrance. Dying in a town could place them just outside the town. That would create an actual reason to have lives at all. One could also consider adding some way of gaining extra lives. Getting an extra life when leveling up might work. Or making an extra life item that can be hidden in breakable walls would be nice if a bit more complex to execute. If you wanted to be a bastard you could also add an extra penalty for dying at night. Dying at night could advance the clock to morning. That would be a real penalty for a game that has endings dependent on a timer. If hearts were just ammo instead of also being currency I'd suggest resetting them back to 5 when you die too.

What happens when you continue:
CV1&3 - Same as when you die, except your lives are also reset to the initial stock and you restart the level from the beginning.
CV2 - Same as when you die, except your lives are also reset to the initial stock, and your hearts/exp are reset to 0.

Here's where people think CV2 is too harsh. Loosing all your ammo AND currency when you game over in a game where getting hearts is a chore "no es bueno". Let's face it that's a huge hassle. The ammo part of the equation isn't so bad because most of your weapons don't use hearts anyway. That, in and of itself is a big change from CV1, but I won't get into it. The problem here is that loosing all your currency is a huge hassle. The easy solution is the RPG one that has been suggested. Game over, get your hearts cut in half. Exp shouldn't even be touched, IMO. But this changes the flow of the game because it cuts down on the time it takes to continue on your quest, thus making getting the better endings easier.  The cooler more complex solution is to have hearts and gold as separate entities and put the candles back in the game. Removing the candle was the most block-headed thing they could have done in the first place. They are important because they give the player something to do besides murdering the same enemies over and over. You could even take things further by having lanterns in town and braziers outdoors that are off during the day and only give items at night. Along with this is to make all the sub-weapons cost hearts again. However, this would require that the horrible fake floor gimmick be modified. If your holy water costs hearts to use then you're not going to want to waste them on finding illusory blocks in the floor. And furthermore, if the holy water costs hears, it would probably be better if it burst into flames once again. But if it does, then the Sacred Flame needs to be re-purposed too. (But it was over powered anyway.) So might as well bring back the axe and the holy cross while we're at it. No need for 3 knives after all. Oh, and bring back the wall chicken. Having to always trek back to a church is a pain in the ass sometimes.

In closing the entire issue of the hearts and how to treat them in CV2 is complex because of all of the other changes that were implemented around them. You can't really change one aspect of the hearts without opening a can of worms that effects a ton of other aspects of the game. So really, in the end making hearts into currency was the single worst decision the designers of CV2 made and fixing it in a meaningful way would be no easy task.

MathUser2929

Thanks for the info on how to stop heart loss. I'll try it out later. Vanya has some interesting ideas on how to make the game more like a traditional CV game, but I dont know if I'd like to have to restart at the beginning of levels after every death. Maybe just at game overs. I think some of these changes would be good in a seperate hack that tries to add classic elements to the game. You don't need that much currency in the game cause there isn't much stuff to buy, but bringing back money backs could be interesting. If you really wanted to rebalance the game, and have continues take you back to the previous town visited. You could possibly open a door that you could go in, and have a save point there. Then when you die you will be taken back to that point. Again, this should be in a seperate hack, not the retranslation. But the seperate hack should be compatible with the retranslation. If you'd really want to implent all this stuff on the existing hack, then you could add it as a patching option. I think bringing back currency could be good if you have a real high max. That way you can collect more money as you replay the game to give you more motivation to replay. Also, using hearts again for weapons could be good. I don't miss the CV1 weapons aside from the boomerang, but they could always be brought back in the rebalancing patch. whippable candles, maybe only in mansions would add variety to the game. I know some of this stuff such as money wouldn't be savable with a password without expanding them which would suck. You might need a seperate holy water or something you can throw at the ground that don't harm things and don't cost hearts for use with locating fake floors if you want holy water to cost hearts again.

Rhetorical

Quote from: MathUser2929 on March 21, 2013, 10:45:16 AM
There was never any ban on request for changes to the hack. And since you aren't RHDN staff or the hack author you don't get to dictate which requests are fulfilled. So you can quit arguing against it cause you don't make the decision anyway.

No one said anything about a ban on requests or changes to the hack.  In fact, I'm pretty sure that's what this topic is for!

And I don't need to argue against it or make the decision, if you read the thread I was trying to help you get what you wanted WITHOUT the author needing to do anything to his mod before you became antagonistic.

Anyway:

Quote from: Bisqwit on March 19, 2013, 11:24:36 AM
As for changing what is retained and lost when you die or gameover, I do not want to take drastic measures.
Theoretically, I could go the Battle of Olympus route and cut the number of hearts in half at every death, including gameover, though. But even then I do not think it is a justifiable change.

(posting this quote is in no way me saying you can't continue to ask for your requested changes, but it seems the mod author has already decided which way to go with this issue, and I think we should respect that)

-----

I'd LOVE a separate currency and hearts change to the game.  Seems like a ton of work editing the drop tables of enemies and finding places to store it, finding room for all the code in the tiny blocks available.  But a very cool addition.

Bisqwit, at what point did you realize that this was not just a re-translation and has become something much bigger and better?  :)

Bisqwit

I could see candles re-added in the ruins (because it is basically Castlevania's scenes 7 years later), and possibly the towns (because it might make sense for townspeople to put them there, especially for the night-time). Incidentally, these scenes are the only ones that consistently have enough free PPU tilespace for adding the candles and also the bonus drops. It is still hardly in the scope of this hack (and I know you Vanya said so), but I might see the interest and rationale in adding them.

But what would those bonuses be? In Castlevania 1 & 3, there is score. Castlevania 2 does not have a score. The only point of those bonus drops was to add score. Well, there were the multipliers, and extra weapons. Multipliers would be doable in Castlevania 2, but not the extra weapons without very radical changes. (I have previously written that it might be possible to replace e.g. dagger with the cross boomerang without requiring radical changes, but it would still change the game's NPCs and require some work on the status screen.)
It would be very difficult to settle these questions and still keep Castlevania II as Castlevania II.

Extra lifes would be nice. And the chunks of chicken in walls, heh. It is a bit letdown that the only way to heal without dying is in the church, or by leveling up.  Then again, without a really strong reason I see no reason to do something about it. Others complain that Simon's Quest is too easy.

As for losing hearts and experience at gameover... Well, losing experience is on par with D&D style MUD games, where praying gets you back into the game, but you lose all unspent experience. (Those games let you keep a portion of your experience if a priest casts a resurrect/raise dead type spell to bring you back into the game.)
For currency & weapon power? Well.

I could make halving the hearts at gameover an optional patch as a public service, but for simplicity's sake, so far I have held into the principle that all of the patches in my vending machine are part of the official patch. I am not ready to make this kind of feature into the official patch.

Currency & weapon power as distinct measures? Well.

Quote from: Rhetorical on March 22, 2013, 03:04:50 PMBisqwit, at what point did you realize that this was not just a re-translation and has become something much bigger and better?  :)

I think I began with this project in July 2011. That's when I dumped most of the text from the NTSC ROM as a HTML page. You can find the source code of that program here (warning: ridiculously simple code). I began with the insertor in February 2012,  and April 2012 was the earliest I find work on the map renderer (which was the first improvement). Adding the map was greatly spearheaded by previous progress I had made with autoconverting truecolor images into NES graphics, such as in my ppu_read_buffer NES emulator accuracy test module (includes source code, screenshot in figure 1 below), and the dithering algorithms workbench of animmerger I had developed even earlier.

Then again, I had already in February 2012 changed the dialog rendering pace, adding pauses for commas and full stops and the such.
It has been an ongoing process. Basically, the entire game is up for me to rewrite as I please, but I want to keep it as agreeably Castlevania II. Programmingwise, the only limits are those imposed by the hardware. The boundary of what I can do and still keep it as Castlevania II is thin and subject to opinion and dispute, and I try to tread carefully and hold my excitement over creation, in order to keep the patch as an acceptable translation and localization of the original Japanese game's spirit and content on the cartridge media. I can be swayed, and I do appreciate all discussion and ideas. I already declared a past version of this patch to the final one, but we all saw how well that went.


Fig 1: ppu_read_buffer as rendered by nesemu1, using its built-in NTSC modem. The picture represents one of the paintings by the late Thomas Kinkade, probably my favourite painter.

MathUser2929

I don't miss most of the CV1 weapons myself, but always liked the boomerang. I think most CV players enjoy that weapon. So restoring it would be good. I dunno what you would do with the extra space, but you could bring the dagger icons down to one. Then select one and maybe a arrow or new window opens, from there press right or left to select a different dagger. That way no dagger HAS to be removed. I dunno if you are worried about tile space, but you could perhaps have lanterns instead of candles and they dont have to animate. The light can change color. So you wouldn't need extra space for the flame animation. Maybe the towns could have lanterns anyway, makes the most sense. I think getting money would be enough incentive to wanting to get the money bags. Cause as you progress you can accumulate the money and watch it go up. After you complete everything it would give you something to do. It was one of the few things to do in a Richter game in SOTN after you beat it. It isn't THAT much an incentive, but in the  end you could still watch your money go up over time. So there's a little purpose to replay.

I don't miss the II and III multipliers, never really liked having to get those and usually auto having the III multiplier is one of the cheats I have on. Bringing back potroast would be a good idea too. Perhaps one per mansion. Also, extra lives would be good too.

If you do add back money, and have the VRAM space. You should consider adding other bonus money items for varieties sake. They don't have to be common, but it might be nice to find other treasures on ocassion. But don't bring back secret treasures ala ducking in a certain spot. It is rewarding to find one accidentally, but I always thought it wasted time ducking all over trying to find them.

TheZunar123

Quote from: MathUser2929 on March 22, 2013, 09:36:14 PMI dunno what you would do with the extra space, but you could bring the dagger icons down to one. Then select one and maybe a arrow or new window opens, from there press right or left to select a different dagger. That way no dagger HAS to be removed.
Or how about just replacing the old dagger when you get the new one? Unless I'm mistaken, it's a pure upgrade (adds rapid-fire), so I see no point in using the old one once you get the new one.
Speedrunner and Let's Player.
www.youtube.com/ZunarSR

MathUser2929

That's what happened with the whip too, yet the hack author saw fit to make the whips selectable. I don't see why he would go the opposite direction for the knifes.

Here's an idea. If you bring back the money why not come up with other things you can buy when you get LOT's of money. Such as Heart max increases, laurel max increases, garlic max increases, oak stake increases. Heart max increase might be a better idea than giving a higher heart max outright.  I kind of wish the Oak stake could be used for something cause I like throwing it. I guess it can cause more damage to Dracula, but he's already too easy. Can't think of other stuff to add to buy at the moment. I know SOTN has boss tactics but that ain't really neccesarry. Could make extra lives buyable for those that want a save with max lives. Something else to work on maxing out on a save file.

As for making a optional patch for retaining hearts at gameover. I suggest have 3 options. Lose all hearts. Hearts halved. Keep all hearts. I'd probably use the hearts halved patch.

Also, not sure if you are considering save points, but instead of making another room where you save. Why not have the priest ask you if you want to save? That's how save points work in the metroidvania games. You get healed and then you can save.
Also, if you wanna go all out hacking. How about making a beastiary, or sound test?

Also, if you must bring back the II and III items, I suggest making them buyable items that you keep after game over. I'd rather get them and keep them then be forced to refind them again.

Making the bosses tougher was a suggestion made earlier. If you want to keep hacking the game it would make a good optional patch too. Keep it optional and submit only change patches which don't drastically alter the game to RHDN. Then note the optional patches on the RHDN page so people interested in those pages will go to your page for the extra patching options if they want the changes.

If you were to make the bosses tougher, and Dracula tougher, than having the oak stake do more damage on him would make sense. Perhaps he could have a 2nd form of some type, even if it's just a small face change ala SCV IV.

Da_GPer

If you want to make Dracula harder, make him invincible until after he fully forms. The reason he is so easy is because you can kill him before he even forms.

MathUser2929

Thinking of SCV IV, it'd be easy to give Dracula new attacks without needing much VRAM. He could simply spawn fire and stuff like he did on SCV IV. You could even use the existing flame sprites from the Sacred Fire subweapon.

Many classic Castlevania games give the bosses a lifebar, something you could consider. It could be a bar like Simons but on the right side of the screen.

If you were to add more stuff to buy with money, then that may make people play longer, which could  be problematic to driving people to get the best ending by beating it fast. Not sure how to address that unless you change the requirements for getting the best endings. Of course you could make the new purchasables appear after beating the game. Dunno if that is a good idea either.

Pikachumanson

What would be cool is if you made Dracula Castle look more like the first level of  part 1 i think the scenery would add to the anticipation as you are making your way to Dracula's crypt

Bisqwit

Quote from: Pikachumanson on March 23, 2013, 06:39:50 AMWhat would be cool is if you made Dracula Castle look more like the first level of  part 1 i think the scenery would add to the anticipation as you are making your way to Dracula's crypt

True. Then again, level design = part of the game's identity. But certainly something to contemplate.


Quote from: Da_GPer on March 23, 2013, 02:34:29 AMIf you want to make Dracula harder, make him invincible until after he fully forms. The reason he is so easy is because you can kill him before he even forms.

I don't think that being able to kill him before he fully forms is particularly a strong factor. After all, any damage still stuns him. If you have weapons that are strong enough to kill him before he fully forms, you have weapons strong enough to kill him without him getting much chance to hurt you even if he launches into action.

Quote from: MathUser2929 on March 23, 2013, 01:51:10 AMAlso, if you wanna go all out hacking. How about making a beastiary, or sound test?

I have had this kind of ideas for the ending credits, but haven't gotten around to it.
There's also the fact that so far this game does not use the well-known Konami Code.


QuoteIf you were to make the bosses tougher, and Dracula tougher, than having the oak stake do more damage on him would make sense.

That's a funny idea. Currently the oak stage is currently dummied out in anything except mansions, and even then it does not hit any enemy.

MathUser2929

Remember as mentioned in SOTN, Dracula's castle is a creature of chaos. It may take many incarnations. The only time any level looks exactly the same is in remakes. This is a sequel, not a remake, so the level design shouldn't be the same as CV1 as dictated by the Alucard comment.

As for different money objects, you could simply use a coin. Ala CV Adventure, or the smaller coin in CV SOTN.