Castlevania II (Simon's Quest) - Multilingual enhancement

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

Previous topic - Next topic

Bisqwit

Version 1.3.8 is out now.
Lag is still not gone entirely, even though I moved 3000 cycles of stuff worth out from the screen bottom into the middle of the frame. This was a fun undertaking.

You get some source code:
-- http://bisqwit.iki.fi/src/6502-inline_delay-keepy.inc :: Need a macro that produces code that generates precisely N cycles of delay, where N is a compile-time constant? This macro does so and produces incredibly small code. Improvement ideas are welcome!  Preserves Y, overwrites A, X, C, Z&N, D&V.
-- Untested variants for keepy will be up later: keep{a,}{x,}{y,}{c,}{zn,}{dv,}
-- http://bisqwit.iki.fi/src/6502-inline_dmc_delay_compensation.inc :: Did you just run a ton of code, and you have DMC samples playing, and you need that code to be profiled in a cycle-precise manner? Apply this macro to your needs. With it you can ensure that your code took a precise same number of cycles regardless of whether DMC was active or not. You do need to have means of knowing the pitch of the DMC sample that is playing.
-- http://bisqwit.iki.fi/src/6502-pcmaware-delay.inc :: A runtime-specified version of above. Give number of cycles in X:A, and it produces that number of delay, regardless of whether DMC is playing or not.

I also had to move the main menu and the gameover menu out from the common bank to a relatively vacant bank, which basically meant rewriting the code for those menus. You may notice some difference if you look/listen carefully.

Bregalad

OK This may be strange I ask this but I am making a hack for CV2 which makes a better looking life bar.
However for this I need the tiles that were unused before, that is tiles $20-$38.

Apparently you use them in your hack for an italic font. However since it's not very important to have both a normal and italic font, could you make a version of your hack which does not have this italic font, so that it is compatible with my hack (I mean it will be possible to apply both patches to the ROM at the same time).
It would be nice.

Bisqwit

Quote from: Bregalad on December 23, 2012, 01:56:37 PMOK This may be strange I ask this but I am making a hack for CV2 which makes a better looking life bar.
However for this I need the tiles that were unused before, that is tiles $20-$38.
Huh. What do you need that many for?

QuoteApparently you use them in your hack for an italic font. However since it's not very important to have both a normal and italic font, could you make a version of your hack which does not have this italic font, so that it is compatible with my hack (I mean it will be possible to apply both patches to the ROM at the same time).
It would be nice.
Unfortunately that's one of the parts that is not so easy to make conditional...

Bregalad

OK, a link is worth a thousand words :
http://www.romhacking.net/hacks/1074/

I'm sorry to highack your thread with self-propaganda.

keropi

Today I made extensive testing with version 1.3.8
I played for about ~40mins, got to the 2nd town and farmed to get daggers/holy water/chain whip/white crystal. I saw no problems. Got my password fine after a suicide and I left Simon on the top-left ledge at the 1st town. After ~10mins I got the tiles corruption but this time the corruption was static. Tiles got replaced but they did not change randomly when moving. In the previous tests when I was moving the wrong tiles always changed.
At this point I do not know if my mmc3 donor cart is problematic or mmc3 is being a tough fellow. I need to get another donor cart to test apparently...?

Vanya

I have a question that's more about general CV2 hacking, but I figure you fellows are probably more intimately familiar with the inner workings of the ROM than I. One of the 'holy grails' in CV2 hacking is putting in actual boss battles that must be won in order to progress. To that end, if one were knowledgeable enough to program new bosses, is there space to actually do such a thing? can the engine even support more objects?

Bisqwit

Quote from: Vanya on December 24, 2012, 04:08:54 PM
I have a question that's more about general CV2 hacking, but I figure you fellows are probably more intimately familiar with the inner workings of the ROM than I. One of the 'holy grails' in CV2 hacking is putting in actual boss battles that must be won in order to progress. To that end, if one were knowledgeable enough to program new bosses, is there space to actually do such a thing? can the engine even support more objects?
There is ample space in CV2 for almost any kind of expansion.
However, there is only a fixed number of objects in many tables, including the table of distint actors (objects). To extend the table, one would need to relocate the table, which is not really hard if you have the right set of tools. Personally the core of my ROM hacking projects is always a relocating linker which can relocate and assign any piece of data a location within certain constraints, and it automatically fixes all pointers/references to the location.
You can find the one I am using in Simon's Quest here (written in PHP): http://bisqwit.iki.fi/src/romlinker_php.zip
Since Castlevania II uses VROM (not VRAM), the toughest problem, after programming and stuff, is in organizing the sprites in a tilemap in a manner that doesn't break anything... I may be wrong though; I have never added new actors to a NES/SNES game.
http://bisqwit.iki.fi/jutut/cv2u.txt -- here's my disassembly of the entire game, as well. Not all locations have been assigned a name and meaning yet.

MathUser2929

I don't think tougher bosses would make the game better. The point of getting Simon stronger is so things would get easier. If anything, instead of making them tougher you should make it so they don't respawn. They are fun to fight and all but why would they keep respawning if they were just gonna get their ass kicked?

Vanya

@MathUser2929: I agree they shouldn't respawn. However, you've got to admit they are pathetic in comparison to any of the bosses in the first game. Plus, if they aren't tougher, then you run into the same problem as most of the Metroidvanias where the bosses end up being a formality if you get too strong. When I get around to designing new bosses for CV2 one of my ideas is to have their difficulty scale with Simon's level some what so they'll always be a bit of a challenge at least. The the more important problem is forcing the player to fight them instead of just traipsing through the room and back. That was a very poor design choice.

@Bisqwit: Thanks a lot for the resources these will help a lot. And thanks for all the hard work on the translation patch.

Bisqwit

Quote from: Vanya on December 24, 2012, 11:55:36 PMThe the more important problem forcing the player to fight them instead of just traipsing through the room and back. That was a very poor design choice.

Actually it makes sense. This game is all about making choices and understanding the relevance thereof. You are supposed to learn from the guy in Doina that it is a paramount that you do fight Carmilla and acquire the Rosary, and you are supposed to learn from a cluebook in Debious Woods that if you do fight Death, you will net an awesome weapon. You are completely free to skip either battle. It is just one part of the "Dracula's riddle" that you need to figure out what you need, what you don't need, and what you want anyway.
But I do agree that Death should be made as difficult as it was in Castlevania, and Dracula even harder.
And the Diamond should be made useful. There's just about no place at all in the game where it can be reasonably used.

(Any opinions on the fact that the game robs you of all garlic when you enter Dracula's room?)

Vanya

I see where you're coming from, they're kinda like the optional bosses in most Final Fantasy games, just not very super. I still think there should be some sort of a challenge to getting Dracula's parts other than the stage itself. It's not nearly as fun without there being a cool boss to look forward to. Honestly, what's the point of getting awesome weapons if there's no one worth fighting? The enemies alone aren't enough. They're mostly boring and the ones that do anything interesting are placed in ways that make them as annoying as possible. Plus the lack of at least candles to interact with diminishes some of the fun factor too.

Hmmm... interesting about the garlic. I never noticed until now. I see why they did that, though. It takes forever for Drac to die and it's an even more pathetic death than using the Sacred Flame. They really should just have programmed Drac to not get stunned so severely. Which brings me to your point about improving the Diamond/Crystal/Whatever. Another thing I'd like to do the game is fix the weapons. They are all either nearly useless, or ridiculously overpowered. Was there really a need to have 3 knives? The diamond is practically useless for a game that mostly takes place outdoors. Why not keep more of the classic weapons which are all much more utilitarian? And the one that really nags me to death. Why in the world did they use hearts for money AND ammo for some of the sub-weapons? They were already using money bags in every other CV game they made before.

And, I just thought of something. If Carmilla and Death are optional, why put them directly in your path? Wouldn't it have been more fun and interesting to put them in out of the way places that you needed clues to find. For example that underground area where you get the flame whip power up. The whole top half of that area is a complete waste. There's literally nothing of interest there. While I understand having some dead end places that are just there because every place in the game can't hold a secret, it seems pointless to waste a unique tile set & rooms on something empty.

Bisqwit

Quote from: Vanya on December 25, 2012, 01:40:44 AMWas there really a need to have 3 knives? The diamond is practically useless for a game that mostly takes place outdoors. Why not keep more of the classic weapons which are all much more utilitarian?

On the other hand, they did allow you to keep all your weapons, instead of doing the silly thing where you discard your previous weapon whenever you acquire a new one.
The three knives thing was probably because of size limits on the FDS. They utilize a lot of common code. And when they ported the game to a cartridge, pretty much the only thing they changed to take advantage of the increased space was to put in a more advanced music engine -- and even that was probably forced, because the NES does not have the FDS sound channel, and they had to request that change specifically from the headquarters who did have the expertise and motivation to Do Things Well. They also added beefed up graphics for the password and mainmenu screen, because those also had to be requested from the headquarters (no FDS saving features). For anything else, they just went where the fence was lowest, i.e. they did not change absolutely anything. Dialog length limits and dialog text table, the world layout, weapons, sprites... Even the gameover screen. Everything was kept the same. They really weren't expecting the game to any popular, or some other reason caused them to go by the minimum possible budget, i.e. if it aint broken, don't fix it. The theme really seems to be that if something needed changing (the game would not work without the change), it was changed and done really well. Otherwise it was not changed at all. A striking exception to the "done really well" is the changing of katakana into latin alphabet. They used the sans-serif Nintendo standard font for no reason at all, even though the game already contained a beautiful serif font, and though there was indication in the game that the game's preferred font style is serif. This suggests that a font change was something they were able to do in the localization end without having to consult the people who actually cared for their creation.

Hmm... It should not be too difficult to replace the diamond with the fabled cross boomerang, if one wanted to do that kind of thing. You would need just two extra tiles and the rest would be simply a matter of programming. And you would probably want to add a new sound effect as well. Or you could replace the silver knife instead, but then you would need four extra tiles instead of two.


QuoteAnd the one that really nags me to death. Why in the world did they use hearts for money AND ammo for some of the sub-weapons? They were already using money bags in every other CV game they made before.

But money bags were part of the treasure hunter trope. In Castlevania II there is a thing that does not exist in the other games: A society. And that society is piss-poor. It would have been unrealistic for money bags and crowns and jewels to be abundant like they were in Castlevania. It was excusable in Castlevania and Akumajou Densetsu because there was no tie in to the universe. It was strictly a game-thing, for the player's score: Nothing that affects in any way how the game world is interacted with.

QuoteAnd, I just thought of something. If Carmilla and Death are optional, why put them directly in your path? Wouldn't it have been more fun and interesting to put them in out of the way places that you needed clues to find. For example that underground area where you get the flame whip power up. The whole top half of that area is a complete waste. There's literally nothing of interest there. While I understand having some dead end places that are just there because every place in the game can't hold a secret, it seems pointless to waste a unique tile set & rooms on something empty.

Good point. There are quite a few scenes in that game that exist for no purpose at all. Such as Denis Marsh. A graphically really cool scene, that is a complete dead end and that offers nothing whatsoever (except, possibly such experience points that are not available in the adjacent Dora Woods).

MathUser2929

I don't think the knifes should be removed, if you need the space have a subemu pop up when you select the knife where you can pick any knife. I dunno about adding new stuff to the hack tho. It's supposed to be  a translation. The map was part of the purchase when buying the japanese version so I can understand it's inclusion on the game. Plus the game is already hard to navigate so it's inclusion is somewhat a nessesity.

Bregalad

QuoteAny opinions on the fact that the game robs you of all garlic when you enter Dracula's room?
The original japanese FDS game actually don't remove the garlic, and you can do exactly what you do in this video, but without cheating.

optomon

When I needed more space in the rom for additional enemies/bosses in Pyron, I moved the enemy placement code and data to another bank. It was not too difficult. Eventually, other data code could be moved to another bank, and the enemy/items table should be easy to expand (the one starting at x41E3).

Bisqwit

Quote from: MathUser2929 on December 25, 2012, 06:05:35 AMI dunno about adding new stuff to the hack tho. It's supposed to be  a translation. The map was part of the purchase when buying the japanese version so I can understand it's inclusion on the game. Plus the game is already hard to navigate so it's inclusion is somewhat a nessesity.
You are right about the scope of the hack.
But I was thinking about a separate improvement hack, considering I have the framework through which to apply arbitrary patches... (Which removes the usual patch applying conflict that different patches have different ideas which areas of the ROM are free, and often target the same spots.)

KingMike

Quote from: Bisqwit on December 25, 2012, 02:35:33 AM
It would have been unrealistic for money bags and crowns and jewels to be abundant like they were in Castlevania. It was excusable in Castlevania and Akumajou Densetsu because there was no tie in to the universe. It was strictly a game-thing, for the player's score: Nothing that affects in any way how the game world is interacted with.
But it's just stupid to use hearts as currency. Is Simon a murderer who harvests the organs of his victims as trade to get his powerups on the black market?
(considering he gets them from cloaked men who often hide in secret rooms, maybe he is? :P )
"My watch says 30 chickens" Google, 2018

keropi

I have confirmed the fault on my mmc-3 donor cart ... it's CHR related apparently, I have tested various games.  :banghead:

Vanya

Quote from: Bisqwit on December 25, 2012, 02:35:33 AMHmm... It should not be too difficult to replace the diamond with the fabled cross boomerang, if one wanted to do that kind of thing. You would need just two extra tiles and the rest would be simply a matter of programming. And you would probably want to add a new sound effect as well. Or you could replace the silver knife instead, but then you would need four extra tiles instead of two.

Here's what I was thinking:
(Disclaimer: This is my ideal, not necessarily what I think can be done.)
Knife - Make it like the original. Same speed and distance. Shouldn't go through multiple enemies. Cost 1 heart. It'll still be a viable weapon earlier in the game. The extended range will extend it's utility farther into the game.
Silver Knife -  Replace with a new Diamond. Make it smaller (8x8), faster, and change it to a wider angle so it's slightly more useful out doors. Cost 1 heart. This'll be the only weapon that you can throw 3 of at once.
Golden Knife - Replace with a new weapon, Death Sickle. Creates a single sickle that slowly homes in on the nearest enemy. Cost 5 hearts, high damage. Would make more sense as Death's item drop.
Holy Water - Just make this like the original. Make the flame it produces be the ONLY thing that stuns enemies. Given the shorter time this flame lasts it won't be as ridiculous as the sacred flame. Cost 2 hearts.
Sacred Fire - This is waaay too over powered. Replace this with the Battle Axe. Cost 1 heart.
Diamond - Replace it with the Cross. Much more useful. Costs 2 hearts. Max distance should be 1/2 screen length so it doesn't take away too much from the Knife.
Oak Stake - For the love of all that is holy and good DO NOT REMOVE IT FROM YOUR INVENTORY UNLESS IT IS USED ON AN ORB. Should function exactly like old CV2 Knife otherwise.
Laurels - Make these work like all the other sub-weapons. They can cost 50 hearts to use.
Garlic - Also convert into a sub-weapon. 1 heart to use.

I think all the weapons and sub-weapons (except Laurels & Garlic) should be able to break blocks. Making the Holy Water the only sub-weapon that stuns enemies will preserve it's uniqueness if the block breaking is extended to all weapons. Also, by converting the Laurels & Garlic into sub-weapons you free up their RAM values for use as the money variable. Which brings me to the next point.

Quote from: Bisqwit on December 25, 2012, 02:35:33 AM
But money bags were part of the treasure hunter trope. In Castlevania II there is a thing that does not exist in the other games: A society. And that society is piss-poor. It would have been unrealistic for money bags and crowns and jewels to be abundant like they were in Castlevania. It was excusable in Castlevania and Akumajou Densetsu because there was no tie in to the universe. It was strictly a game-thing, for the player's score: Nothing that affects in any way how the game world is interacted with.

Isn't the poor state of the people in the game exactly the reason for there being money? If you're piss poor the most precious thing to you is either food or money to buy food. What are they gaining by getting magical hearts as payment? Unless being an alchemist that can conjure food with magic hearts is a common thing then it doesn't make sense for hearts to be currency. I agree money bags shouldn't be as wide spread as in CV1 where they drop outta candle and are carried by zombies, but they should at least be there occasionally. Even better use the coin items from the more recent games. Monsters can rarely drop a copper or a silver coin. but the real action can be in the mansions. Put some hidden money bags in chests or breakable blocks. Implement a CV1 style hidden treasure in each mansion too. This would give the player more to do in the game than just memorize clues.

Quote from: Bisqwit on December 25, 2012, 02:35:33 AM
Good point. There are quite a few scenes in that game that exist for no purpose at all. Such as Denis Marsh. A graphically really cool scene, that is a complete dead end and that offers nothing whatsoever (except, possibly such experience points that are not available in the adjacent Dora Woods).

You know, I always thought it would have made sense for there to be a secret exit in Denis Marsh that leads to Berkeley Mansion.

Quote from: optomon on December 25, 2012, 01:52:27 PM
When I needed more space in the rom for additional enemies/bosses in Pyron, I moved the enemy placement code and data to another bank. It was not too difficult. Eventually, other data code could be moved to another bank, and the enemy/items table should be easy to expand (the one starting at x41E3).

That's good to know.

MathUser2929

It makes sense in the time period CV2 is set in for hearts to be used in exchange for items. Back then you could exhange things to get other things. Not everyone used money all the time. Also, remember that the crystal traders are examples of exchanging items for other items. Besides, is using hearts as currency as less sensical as enemies dropping money? A werewolf and merman dropping money?

Also, don't nerf all the weapons. If you have to add a flame to the holy water that would be alright with me.

Also, if hearts were exchanged for money as currency wouldn't you wind up accumulating too much of that once you buy what you need? Also, 255 max for hearts could destroy the balance of the game if hearts are only used for weapons.