Author [EN] [PL] [ES] [PT] [IT] [DE] [FR] [NL] [TR] [SR] [AR] [RU] [ID] Topic: Castlevania's "Real Numbers"?  (Read 4378 times)

0 Members and 1 Guest are viewing this topic.

Offline Wallz!

  • Hunter in Training
  • **
  • Posts: 84
  • Gender: Male
  • Experimental fan games galore!
    • Awards
  • Favorite Game: DraculaX: Rondo of Blood (PC-Engine)
  • Likes:
Castlevania's "Real Numbers"?
« on: May 07, 2012, 03:55:15 PM »
0
I wanted to ask this question and also create this topic as a resource for coders. Basically, what I'm requesting are the numbers used by developers in the Castlevania games. To some this may look not quite useful, but this can be a great thing to know. Basically, post numbers and such that are used in Castlevania games. I currently have a few requests:
At what FPS does DoS run at?
At what speed does Soma run normally?
How many pixels high does Soma jump and how fast?
At what speed does he accelerate?

Offline TheouAegis

  • Amateur Auteur of GMvania
  • Master Hunter
  • *****
  • Posts: 1847
  • Gender: Male
  • Awards The Retro Gamer: Has a heated passion for the oldschool VG Titles. The Great Defender will always defend the object of his or her fandom. Hack Master makes creations out of CV parts. (S)he makes Dr. Frankenstein proud.
    • GMvania Developer's Blog
    • Awards
  • Likes:
Re: Castlevania's "Real Numbers"?
« Reply #1 on: May 08, 2012, 08:19:38 AM »
0
1) 60
2) Download VisualBoy Advance, set the frame rate to show, then watch. Or if VBA comes with an AVI recorder, record footage of him running then watch it frame for frame in a good AVI editor, like Jasc Animation Shop Pro. Typical speeds are 1 pps to 3/2 pps.
3) Again, record it. Jumping speed in Konami games are rarely uniform. Trying to read gravity in ASM is a epic bitch to do. And the fact that no one has yet told me what Trevor's jump speed and gravity are, I'm guessing no one else has figured it out yet either.
4) Easier to find, but again, use an AVI editor and track it. ASM is a bitch to read, so that's the best way.
Your mom has had more floppies put in her than a Commodore 64!


Follow my lack of progress on my game at my blog:
http://gmvania.blogspot.com

Offline Jorge D. Fuentes

  • Boogeymen check under their beds for Julius Belmont.
  • Administrator
  • Master Hunter
  • *****
  • Posts: 15238
  • Gender: Male
  • It will always be Brinstar, dammit!
  • Awards A great musician and composer of various melodies both original and game-based. The Artist: Designs copious amounts of assorted artwork. 2015-03-3D Art Contest GOLD Award SuperOld Dungeonite: Members who have been around since the oldOLD days. ICVD Denizen: Those that dwell in the corrupted, mirror image of The Dungeon.
    • Jorge's DeviantArt Page
    • Awards
  • Favorite Game: Super Castlevania IV (SNES)
  • Likes:
Re: Castlevania's "Real Numbers"?
« Reply #2 on: May 08, 2012, 08:10:37 PM »
0
I'm disappointed in the events that happened in this thread.
**cleans it all up**

Please continue.
« Last Edit: May 08, 2012, 08:17:37 PM by Jorge D. Fuentes »
You must obey Da Rulez!
Jorge's Kickass VG Radio Station Open it in Winamp/MPClassic (broadband connection preferred)
Jorge's Kickass Youtube CV Music Channel
My Personal Minecraft Server (send me your In-Game Name so that I may Whitelist you)

Offline Esco

  • In SERIOUS need of sprite help for the SOTN HACKED engine! PM me please if you can help.
  • Forgotten One
  • Legendary Hunter
  • ****
  • Posts: 506
  • Gender: Male
  • Awards Hack Master makes creations out of CV parts. (S)he makes Dr. Frankenstein proud.
    • Awards
  • Favorite Game: Castlevania: Symphony of the Night (PS1/SS)
  • Likes:
Something you guys have wanted for about 10 years now....
« Reply #3 on: May 09, 2012, 01:17:38 AM »
0
<CUT AND PASTED BECAUSE THIS POST WAS ACCIDENTALLY DELETED WITH THE TRASH FROM THE THREAD>

Theo: I told you and MANY others long ago, to just run whatever game you wanted to find info from in an emulator, open memhack and go searching. That using it would eliminate a lot of the need to do asm searching, and save you all a ton of time. If some of you guys actually put an effort into doing this, by now we would literally have the #'s from just about every Castlevania game in existence easily.

Case in point: I opened memhack today with fce ultra running castlevania III in it. Within 20 minutes I had figured this out for you all:  :)

  • On the first frame of jumping there is NO ACTUAL vertical movement; all that happens here is that trevor goes to his jumping frame.
  • On the next frame his vspeed now changes to his jumping upward speed which is -5.
  • His speed will quickly begin increasing, thus making him rise up less; first it goes to -3, then -2, then -1, then 0. It will then blink back to -1 again quickly, then blink back to zero. Now it will stay at zero for a short time.
  • Now when falling back downward it uses the EXACT SAME VALUES, except that they are POSITIVE. So after staying at 0 for a short time, it will quickly go to 1, then quickly back to zero, then stay at 1, increase to 2, 3, 5, and max at 6.
  • When you land vspeed does NOT reset to zero, until you move horizontally.
  • Walking up stairs vspeed is -1. Going down the value is zero. No clue why the values are set that way. But regardless, each time you tap the controller you either move up or down 8 pixels (half a tile).
  • walking off a ledge instantly goes to 3, then increases to 5, then 6 like normal
  • When you get hit, it goes to -2, then -1, then 0, then 1, then 2, then 3, then 4, then maxes at 5.

Now all that is needed is for someone to program this, and then to fine tune it, simply measure using tiles how high/low the character moves overall. A simple task for even someone as unskilled as me.

With the info that I gave you there if ANYONE still cannot duplicate the physics correctly in CV III, they suck, should cease any and all attempts at programming, burn their pc, kill themselves, and any offspring they have produced, and then have all related remains shot into the sun! :P 8) (this is a joke for those of you who take life WAY too seriously)

On a more serious note, if you make your own hspd and vspd vars and calculate movement manually, this should be very easy to do. Even though your #'s may need to be very slightly different in GM from the original ones.

P.S. The pointer for vpseed is 0054BEC0. The pointer for Y is 0054BDBC. The type for both pointers should be BYTE. I used the American Castlevania 3 rom in FCE ULTRA version 0.98.12 (which I believe is the current one). I say this because if any of you try this with another version of the castlevania 3 rom the address may be different.  The same may be true if you use a different version of FCEU, but with the info I gave above, it should still be easily locatable. Also I am using the most current version of memhack found here: www.memoryhacking.com. I suggest many of you start learning it ASAP.  :)
« Last Edit: May 09, 2012, 01:37:36 AM by Esco »
- Esco... the original New Yurican and creator of the Castlevania: SOTN Hacked Engine!

Link to the blog for the "hack:" http://sotnhacked.wordpress.com

Offline TheouAegis

  • Amateur Auteur of GMvania
  • Master Hunter
  • *****
  • Posts: 1847
  • Gender: Male
  • Awards The Retro Gamer: Has a heated passion for the oldschool VG Titles. The Great Defender will always defend the object of his or her fandom. Hack Master makes creations out of CV parts. (S)he makes Dr. Frankenstein proud.
    • GMvania Developer's Blog
    • Awards
  • Likes:
Re: Castlevania's "Real Numbers"?
« Reply #4 on: May 09, 2012, 04:53:11 PM »
0
Great. You told me what Trevor's vspeed is when he jumps. Now tell me how it's CALCULATED. And it doesn't just go -5,-3,-2,-1,0,-1, 0 (yes, I noticed that too and there's a reason). It will go -5 for a couple steps then -3 for a couple steps then -2 then -1. And as for why it goes -1,0,-1,0, that's when vspeed is -2/3, -1/2 or -1/3 (I forgot which speeds are used). Trevor follows a calculated parabolic function. And those floating platforms -- both the ones that bob vertically and the ones that move side to side -- also follow parabolic functions. Or maybe the term is sinusoidal. Either way, the movement isn't "uniform" and either Konami plotted it all out on graphs and then hard-coded the movement like I did in GMvania or they knew how to plot sinusoidal movement with whatever engine they were using. Reading the ASM will tell you exactly what's going on, what processes led to those values of -5, -3, -2, -1, 0, -1, 0. Sometimes it really is just a simple hard-code, like the player name encryption, but a lot of times there's some mathematical function yielding those values followed by a series of branch checks. If you want numbers for Trevor, Axe Knights, Skeletons or Medusa Heads, just open GMvania and read through the timelines. But what I want are the formulas Konami used to get those numbers.

And when you're dealing with bats and crows, that's a whole other royal pain in the fucking ass.
Your mom has had more floppies put in her than a Commodore 64!


Follow my lack of progress on my game at my blog:
http://gmvania.blogspot.com

Offline Esco

  • In SERIOUS need of sprite help for the SOTN HACKED engine! PM me please if you can help.
  • Forgotten One
  • Legendary Hunter
  • ****
  • Posts: 506
  • Gender: Male
  • Awards Hack Master makes creations out of CV parts. (S)he makes Dr. Frankenstein proud.
    • Awards
  • Favorite Game: Castlevania: Symphony of the Night (PS1/SS)
  • Likes:
Re: Castlevania's "Real Numbers"?
« Reply #5 on: May 09, 2012, 05:17:27 PM »
-2
Great. You told me what Trevor's vspeed is when he jumps. Now tell me how it's CALCULATED.

I will not.... how it is calculated is irrelevant. In order to figure that out you would have to use a trace log, and some kind of debugger to follow the ASM coding. A completely unnecessary endeavor, and a waste of time.I have used the same types of values I gave you above to calculate the movement speeds in my engine. Before I decided to change them I actually had framerates and movement speeds EXACTLY the same as the original. It was very easy to do, and using the values above you should be able to do it easily in GM. :)

Quote
And it doesn't just go -5,-3,-2,-1,0,-1, 0 (yes, I noticed that too and there's a reason). It will go -5 for a couple steps then -3 for a couple steps then -2 then -1. And as for why it goes -1,0,-1,0, that's when vspeed is -2/3, -1/2 or -1/3 (I forgot which speeds are used).

Obviously it is for several steps... you could trace back the ASM to see how many steps it is (waste of time), or just use common sense based on how many pixels high trevor jumps to figure it out. Which I mentioned before (measure jumping height next to tiles, but I'll save you the time: he jumps 36 pixels high). You could also just find a way to slow the emulator down to 1 to 10 FPS, and watch the values.

It is possible & likely that Castlevania III uses sub pixels too, but again irrelevant here because the fact is trevor will NEVER move less than a pixel.

Quote
Trevor follows a calculated parabolic function. And those floating platforms -- both the ones that bob vertically and the ones that move side to side -- also follow parabolic functions. Or maybe the term is sinusoidal. Either way, the movement isn't "uniform" and either Konami plotted it all out on graphs and then hard-coded the movement like I did in GMvania or they knew how to plot sinusoidal movement with whatever engine they were using. Reading the ASM will tell you exactly what's going on, what processes led to those values of -5, -3, -2, -1, 0, -1, 0. Sometimes it really is just a simple hard-code, like the player name encryption, but a lot of times there's some mathematical function yielding those values followed by a series of branch checks. If you want numbers for Trevor, Axe Knights, Skeletons or Medusa Heads, just open GMvania and read through the timelines. But what I want are the formulas Konami used to get those numbers.

And when you're dealing with bats and crows, that's a whole other royal pain in the fucking ass.

Again, that is all irrelevant here; the point is with the values I have given you is I can EASILY duplicate trevor's aerial physics. The only way this wouldn't work for you is if you want to EXACTLY duplicate the original engine and how it works line of code by line of code. Which to be blunt, it is an absurd waste of time to duplicate and an obsolete engine from over 25 years ago. Especially when you can easily code something like this in less than a minute. But based on the fact that you want the "formula" for something as simple as how he jumps, that is what it sounds like.

Oh, and BTW... you're welcome. I'm glad to see that after I bothered to dig up the info for you, that you were courteous enough to say thanks instead of coming in here complaining. :-[
« Last Edit: May 09, 2012, 05:57:30 PM by Esco »
- Esco... the original New Yurican and creator of the Castlevania: SOTN Hacked Engine!

Link to the blog for the "hack:" http://sotnhacked.wordpress.com

Offline Dengo vlad tepes

  • Vampire Hunter
  • ***
  • Posts: 252
  • Gender: Male
  • Awards Hack Master makes creations out of CV parts. (S)he makes Dr. Frankenstein proud.
    • Awards
  • Favorite Game: Castlevania: Order of Ecclesia (NDS)
  • Likes:
Re: Something you guys have wanted for about 10 years now....
« Reply #6 on: May 10, 2012, 01:13:16 AM »
+1
<CUT AND PASTED BECAUSE THIS POST WAS ACCIDENTALLY DELETED WITH THE TRASH FROM THE THREAD>

Theo: I told you and MANY others long ago, to just run whatever game you wanted to find info from in an emulator, open memhack and go searching. That using it would eliminate a lot of the need to do asm searching, and save you all a ton of time. If some of you guys actually put an effort into doing this, by now we would literally have the #'s from just about every Castlevania game in existence easily.

Case in point: I opened memhack today with fce ultra running castlevania III in it. Within 20 minutes I had figured this out for you all:  :)

  • On the first frame of jumping there is NO ACTUAL vertical movement; all that happens here is that trevor goes to his jumping frame.
  • On the next frame his vspeed now changes to his jumping upward speed which is -5.
  • His speed will quickly begin increasing, thus making him rise up less; first it goes to -3, then -2, then -1, then 0. It will then blink back to -1 again quickly, then blink back to zero. Now it will stay at zero for a short time.
  • Now when falling back downward it uses the EXACT SAME VALUES, except that they are POSITIVE. So after staying at 0 for a short time, it will quickly go to 1, then quickly back to zero, then stay at 1, increase to 2, 3, 5, and max at 6.
  • When you land vspeed does NOT reset to zero, until you move horizontally.
  • Walking up stairs vspeed is -1. Going down the value is zero. No clue why the values are set that way. But regardless, each time you tap the controller you either move up or down 8 pixels (half a tile).
  • walking off a ledge instantly goes to 3, then increases to 5, then 6 like normal
  • When you get hit, it goes to -2, then -1, then 0, then 1, then 2, then 3, then 4, then maxes at 5.

Now all that is needed is for someone to program this, and then to fine tune it, simply measure using tiles how high/low the character moves overall. A simple task for even someone as unskilled as me.

With the info that I gave you there if ANYONE still cannot duplicate the physics correctly in CV III, they suck, should cease any and all attempts at programming, burn their pc, kill themselves, and any offspring they have produced, and then have all related remains shot into the sun! :P 8) (this is a joke for those of you who take life WAY too seriously)

On a more serious note, if you make your own hspd and vspd vars and calculate movement manually, this should be very easy to do. Even though your #'s may need to be very slightly different in GM from the original ones.

P.S. The pointer for vpseed is 0054BEC0. The pointer for Y is 0054BDBC. The type for both pointers should be BYTE. I used the American Castlevania 3 rom in FCE ULTRA version 0.98.12 (which I believe is the current one). I say this because if any of you try this with another version of the castlevania 3 rom the address may be different.  The same may be true if you use a different version of FCEU, but with the info I gave above, it should still be easily locatable. Also I am using the most current version of memhack found here: www.memoryhacking.com. I suggest many of you start learning it ASAP.  :)


Now i believe who's the next dr. frankenstein

man all what i should say is "ma shallah" it means may god protect you , just man i knew you would show up in this thread to answer these questions i'm so proud of you dude

Offline TheouAegis

  • Amateur Auteur of GMvania
  • Master Hunter
  • *****
  • Posts: 1847
  • Gender: Male
  • Awards The Retro Gamer: Has a heated passion for the oldschool VG Titles. The Great Defender will always defend the object of his or her fandom. Hack Master makes creations out of CV parts. (S)he makes Dr. Frankenstein proud.
    • GMvania Developer's Blog
    • Awards
  • Likes:
Re: Castlevania's "Real Numbers"?
« Reply #7 on: May 10, 2012, 05:02:07 PM »
0
I'm not saying I want to code it line for line as they did in CV3. I did that for the password generator, yes, but for the movements it would be faster. In the time it would take to boot up Memhack, get Trevor's (or any enemy's) movements, find the offsets and retrieve the pixel offsets, I could just as easily have done it with FCEUX's AVI recorder and AnimationShop 3. That's how I get all measurements and the movement is down to the nitpicky pixel and even the subpixel (well, to some extent). It's obvious there was some degree of rounding involved but in GMvania I just opted to round down every time and made sure I adjusted my measurements to account for rounding down (so once in a while I have vspeeds/hspeeds that go 1/2, 1, 3/2, 1, 2, 3 for example). As I said, the formulas may have been solely on paper and movement was hardcoded into the ROMs just as you and I have done already. Sure, it may actually be faster to just hardcode values too, but knowing the formulas also makes it easier to adjust things or even predict where an enemy/player will be at any specific time in the game.
Your mom has had more floppies put in her than a Commodore 64!


Follow my lack of progress on my game at my blog:
http://gmvania.blogspot.com

Offline Esco

  • In SERIOUS need of sprite help for the SOTN HACKED engine! PM me please if you can help.
  • Forgotten One
  • Legendary Hunter
  • ****
  • Posts: 506
  • Gender: Male
  • Awards Hack Master makes creations out of CV parts. (S)he makes Dr. Frankenstein proud.
    • Awards
  • Favorite Game: Castlevania: Symphony of the Night (PS1/SS)
  • Likes:
Re: Castlevania's "Real Numbers"?
« Reply #8 on: May 10, 2012, 06:55:17 PM »
-2
Theo: memhack would absolutely be faster for what you are trying to do. Especially once you learned how far apart the speeds were from the x & y values. Then once you knew one, you would know where the rest were. It would also be infinitely more accurate, and I assure you that there is no debating both of these facts.

But to be blunt, I see no reason to educate you further when you were not even gracious enough to thank me for the massive bit of info I provided you. No worries though, I can assure you that it will not happen again. Good luck with your engine.
- Esco... the original New Yurican and creator of the Castlevania: SOTN Hacked Engine!

Link to the blog for the "hack:" http://sotnhacked.wordpress.com

Offline TheouAegis

  • Amateur Auteur of GMvania
  • Master Hunter
  • *****
  • Posts: 1847
  • Gender: Male
  • Awards The Retro Gamer: Has a heated passion for the oldschool VG Titles. The Great Defender will always defend the object of his or her fandom. Hack Master makes creations out of CV parts. (S)he makes Dr. Frankenstein proud.
    • GMvania Developer's Blog
    • Awards
  • Likes:
Re: Castlevania's "Real Numbers"?
« Reply #9 on: May 10, 2012, 10:47:25 PM »
0
Oh, thanks for Memhack. I downloaded it and its help file yesterday. I won't be able to look at it until this weekend and that's assuming my buddy has to work Saturday. If he isn't, I'll probably have to put it off until next week.
Your mom has had more floppies put in her than a Commodore 64!


Follow my lack of progress on my game at my blog:
http://gmvania.blogspot.com

Offline uzo

  • Now then...
  • Master Hunter
  • *****
  • Posts: 3379
  • Gender: Male
  • Awards The Retro Gamer: Has a heated passion for the oldschool VG Titles. SuperOld Dungeonite: Members who have been around since the oldOLD days. Hack Master makes creations out of CV parts. (S)he makes Dr. Frankenstein proud. The Music Fanatic: Listens to a large collection of music, posts lyrics, etc.
    • Skylance Studio
    • Awards
  • Favorite Game: Castlevania: Symphony of the Night (PS1/SS)
  • Likes:
Re: Castlevania's "Real Numbers"?
« Reply #10 on: May 11, 2012, 11:39:20 AM »
0
As much as Esco and I are often at odds, he totally deserves a +1 in this thread.

Offline TheouAegis

  • Amateur Auteur of GMvania
  • Master Hunter
  • *****
  • Posts: 1847
  • Gender: Male
  • Awards The Retro Gamer: Has a heated passion for the oldschool VG Titles. The Great Defender will always defend the object of his or her fandom. Hack Master makes creations out of CV parts. (S)he makes Dr. Frankenstein proud.
    • GMvania Developer's Blog
    • Awards
  • Likes:
Re: Castlevania's "Real Numbers"?
« Reply #11 on: May 11, 2012, 08:56:17 PM »
0
Also, I don't know if they did this in the later games, but I've noticed it in the NES games:

If you ever use Game Maker, you'll likely note that when you set image_index=0, it stays 0 for that step. However, this wasn't the case with the NES. When you set image_index=0, by the end of the step image_index=image_speed. It's just one significant difference to be aware of if you want to make a game as close to the original as possible. Since GM handles +image_index routines at the end of the Draw event but the NES handled it before the PPU was processed, your sprites will have a 1-step delay.

For example, normally when you change sprites, you'll have:

sprite_index=XXXXXXX;
image_index=0;

Suppose you had a Bone Skeleton and you set its sprite

sprite_index=spr_BoneSkel_Walk;
image_index=0;

The Bone Skeleton has an image_speed of 1/15. So you would expect it to change image_index after 15 steps. This is not the case for the above code. What happens in the NES is the image_index changes after 14 steps. However, with the code above in GM, the Bone Skeleton won't be animated until after the first 15 steps. Subsequent steps until the next sprite_index change will of course be correct, but that initial sprite_index change needs to be handled as follows:

sprite_index=spr_BoneSkel_Walk;
image_index=image_speed;


Like I said, I'm not sure if the GBA or DS handled this way too.
Your mom has had more floppies put in her than a Commodore 64!


Follow my lack of progress on my game at my blog:
http://gmvania.blogspot.com

Offline TheouAegis

  • Amateur Auteur of GMvania
  • Master Hunter
  • *****
  • Posts: 1847
  • Gender: Male
  • Awards The Retro Gamer: Has a heated passion for the oldschool VG Titles. The Great Defender will always defend the object of his or her fandom. Hack Master makes creations out of CV parts. (S)he makes Dr. Frankenstein proud.
    • GMvania Developer's Blog
    • Awards
  • Likes:
Re: Castlevania's "Real Numbers"?
« Reply #12 on: May 12, 2012, 10:33:51 AM »
0
Ok, don't really want to "REPLY" when my post was the last one, but the last post was one of those "on a side note" type of posts. This one will get back to the discussion.

For clarification, the calculations are relevant, but I chose some poor examples. Jumping and the Medusa Heads have specific speeds. You can play and replay and the measured values won't change, at least as far as I've seen. In that regard, yes, the calculations are irrelevant.

However, CV3 had a large element of randomness in it. In gameplay, you probably wouldn't notice the extent of the randomness, although in the case of the Knight (the armor that just paces back and forth) you may notice it. While it is entirely possible and somewhat plausible that Konami's coders hard-coded random movement into the ROM itself much as some of the randomness in the password generator was hard-coded, it is much more plausible that there is some specific function that is returning random values. If a is an ever-changing variable and b is a constant, F(a,b) will appear to have random results if the values of a are unknown.

Here is a list of some of the objects in the game known to have randomized movement:

Floating Platform (distance it has to travel affects movement pattern)
Knight (paces for random durations)
Bone Dragon
Bone-Tossing Skeleton
Sword Skeleton

The two skeletons (not sure if the Whip Skeleton is randomized or if it has a set pattern like the Axe Knight) move back or forth depending on their horizontal distance from Trevor, just like Axe Knights and I'm guessing Dhuron. But the speed at which they move is randomized. I recorded 6 sets of speeds for the Sword Skeleton and so far have 4 sets of speeds for the Bone-Tossing Skeleton. That's a lot of hspeed values to record and transcribe into my game. Knowing how those random values are calculated if they are indeed calculated would be very quick and possibly even better programming for our games.

The following I suspect may be randomized but haven't yet even looked at:

Falling Blocks
Acid Drops
Fishman
Dhuron
Winged Demon
Crow
Owl

The last three aren't so much random but calculated. The patterns I'm guessing are "set" but I suspect they aren't preprogrammed flight paths, but rather "if Belmont is here, do this-this-and-this until that-or-that."

So that's all I was really saying earlier about wanting the calculations. And when I mentioned F(a,b), such functions do exist in CV3. At any one time there are more than a thousand bytes constantly changing in the RAM; the password generator used a constantly increasing byte to randomize the passwords generated. And yes, the passwords are indeed randomized, although nowhere near the degree to which Sword Skeleton movement was randomized.


And how did they program the giant gears in the Clocktower? That's something I've always wanted to know -- how to do circular trig on the NES. I remember reading something about some formula for pixelating a circle a while back but not sure how that was applied to NES games.
Your mom has had more floppies put in her than a Commodore 64!


Follow my lack of progress on my game at my blog:
http://gmvania.blogspot.com

Offline Jorge D. Fuentes

  • Boogeymen check under their beds for Julius Belmont.
  • Administrator
  • Master Hunter
  • *****
  • Posts: 15238
  • Gender: Male
  • It will always be Brinstar, dammit!
  • Awards A great musician and composer of various melodies both original and game-based. The Artist: Designs copious amounts of assorted artwork. 2015-03-3D Art Contest GOLD Award SuperOld Dungeonite: Members who have been around since the oldOLD days. ICVD Denizen: Those that dwell in the corrupted, mirror image of The Dungeon.
    • Jorge's DeviantArt Page
    • Awards
  • Favorite Game: Super Castlevania IV (SNES)
  • Likes:
Re: Castlevania's "Real Numbers"?
« Reply #13 on: May 12, 2012, 11:42:18 AM »
0
I know from researching CV3 for my remake project, that the Acid Drops that melt the blocks have a very specific set pattern, set up so that it creates the correct type of platforming to get to either doors (in Block 5-01, 5-02, etc.) or to reach the right platform (in Block 7-01's top screen).

Although I do not know the timings for it, I do know which block order is set up.  From that, you can deduce how to make the pattern by just examining the first 'drip' when you enter the room.  There's basically Eight (I think, could be more though) 'drips' and the blocks will dissolve under them.  The block tiles under them have a certain preset, obviously set up so that the correct platforms are created for Trevor & Co. to traverse.  There is only one drip on the screen, ever, and they have a specific timing that's not really set to 'when the block crumbles' but rather 'every few seconds'.  If I were you, I would travel to that stage, and allow all of the blocks in the area to 'melt', and just do a framecount between the time the drip sprite appears and the time the 'next' sprite appears on the next location.

By the way, if you speed up that same value, you will also arrive at the method they used for the "Falling Blocks Tower" in Block 7-04, after the Giant Bat battle.
Be careful, however, as the array for the 'falling blocks' changes at some point in that vertical stage, so it is 'threshold-based'.  When Trevor & Co. reach a certain point on the screen, the falling block order will switch to another, leading me to believe that, like Medusa Heads, these are zone-based triggers.

That should be enough info for that part.
You must obey Da Rulez!
Jorge's Kickass VG Radio Station Open it in Winamp/MPClassic (broadband connection preferred)
Jorge's Kickass Youtube CV Music Channel
My Personal Minecraft Server (send me your In-Game Name so that I may Whitelist you)

Offline TheouAegis

  • Amateur Auteur of GMvania
  • Master Hunter
  • *****
  • Posts: 1847
  • Gender: Male
  • Awards The Retro Gamer: Has a heated passion for the oldschool VG Titles. The Great Defender will always defend the object of his or her fandom. Hack Master makes creations out of CV parts. (S)he makes Dr. Frankenstein proud.
    • GMvania Developer's Blog
    • Awards
  • Likes:
Re: Castlevania's "Real Numbers"?
« Reply #14 on: May 13, 2012, 10:51:00 AM »
0
So far I've recorded 8 different movement patterns for the Bone-Tossing Skeletons. So the Sword Skeleton might have more than the 5 or 6 I have for it but at this point I really don't care.

Just in the first two recordings alone there's a difference of 4 pixels. Then I have a set of three recordings each with the same hspeed series in the first half [3/2, 21/21, 4/5] but different sets in the second half with all three recordings showing a total distance of 36 pixels. The next set of hspeed values is totally different but still totaling 36 pixels. So 36 would appear to be the magic number, but then I just recorded one that totaled 37 pixels. It's quite befuddling.

I know why it's creating random values (previous operation on some byte whose purpose I'm unsure of is setting the carry bit), but not sure how to implement it easily in GM. The mean is 35px/41steps, the median is 36px/41steps, hspeed starts higher than 1 but if it starts at 2 it immediately drops down close to 1. Sometimes it's higher than 1 for just 2 steps, other times it's higher than 1 for 8 or 9 steps. After some random amount of steps at hspeed of 1px/step it decelerates, again not in any set pattern.
Your mom has had more floppies put in her than a Commodore 64!


Follow my lack of progress on my game at my blog:
http://gmvania.blogspot.com

Tags:
 

anything