News:

Don't forget to visit the main site! There's lots of helpful docs, patches, and more!

Main Menu

Game Maker Super Metroid engine...

Started by :..:., April 22, 2013, 11:44:53 PM

Previous topic - Next topic

:..:.

http://www.mediafire.com/?kdhwhnkf66lfxkq

Controls: Z, X, S, D, C

Download the beta here, mainly to test aiming directions, animation, and the platform engine in general.

None of the values are final, which is exactly why I turn to this community; can anyone give me Samus's variables from Super Metroid?

Initial jump speed, gravity, acceleration, deceleration, acceleration in air, maximum vertical/horizontal speeds depending on states, etc. Simple variables, preferably in hexadecimal form.

Zhs2

There are a lot of variables. You'll have to be specific. I also know I mentioned it on IRC, but it would be prudent of you to edit your post so that it contains a link for people to click on if you wanted to share something.

:..:.

Start out with the basic variables that I listed there, those will suffice.

Crashtour99

Quote from: :..:. on April 22, 2013, 11:44:53 PM
Initial jump speed, gravity, acceleration, deceleration, acceleration in air, maximum vertical/horizontal speeds depending on states, etc. Simple variables, preferably in hexadecimal form.
Some of these can be found on the hex page on the main site.  However others, like acceleration and deceleration, are calculated on a per frame basis by the many movement routines and have no set value (mainly because they're calculated by using the gravity, momentum, and speed variables which can change based on eachother).

:..:.

How would I get decimal values out of those hexadecimals?

81F7D - 01 to ??

What kind of value is that?

Quietus

#5
It means that rather than having a set value to alter something, a user can alter the value to anything required.  In the example you gave it means that the original value is 01, but it can be changed to any higher value (subject to stupid values causing glitching).
Quote from: :..:. on April 23, 2013, 10:17:43 AMWhat kind of value is that?
Also, some of the values won't make sense, because they just tie in with other routines, as Crashtour mentioned:
Quote from: Crashtour99 on April 23, 2013, 01:53:16 AMHowever others, like acceleration and deceleration, are calculated on a per frame basis by the many movement routines and have no set value (mainly because they're calculated by using the gravity, momentum, and speed variables which can change based on eachother).

:..:.

This is all too vague, can you list some of these routines? Damn, I'm really lost here.

Quietus

You would probably be much better off seeing if somebody in the IRC channel is willing to help you.  I suspect that descriptions and explanations would take forever and a day to get through on here.  You can get the details on the index page.

JAM

Quote from: :..:. on April 22, 2013, 11:44:53 PM
Quote
None of the values are final, which is exactly why I turn to this community; can anyone give me Samus's variables from Super Metroid?

Initial jump speed, gravity, acceleration, deceleration, acceleration in air, maximum vertical/horizontal speeds depending on states, etc. Simple variables, preferably in hexadecimal form.
Learn the hex. Really.
Can give you some from my mind...
Gravity: $1C00 subpixels per frame.
1 second have 60 frames in NTSC version and 50 in PAL version.
Terminal velocity (max falling speed): 5 pixels per frame.
Max walking speed: $02.C0 pixels per frame (2¾)
Max running speed: $04.C0 pixles per frame
Max speed with Speed Booster: $09.C0 pixels per frame

passarbye

i found that after a spin-jump to get on this ledge, i can walk into the wall by pressing the jump button repeatedly.


also, samus' running speed after acceleration is a bit slow compared to SM.

:..:.

Yes, don't mind the collision problems, I simply didn't add in the crouching state yet.

:..:.

http://www.mediafire.com/?j8sd0zx6sf5sy80

Added walljumping, and fixed up some values. Tell me if it's right.

Crashtour99

Basic movement and jumping feels pretty darn close to the original.  Walljumping is a bit tricky, but maybe that's just because I'm used to playing with a controller and not on a keyboard (although it does seem like your wall (horizontal) collisions are a bit tighter than SM, so there's not as much leeway for the wall jump pose animation transition).

Pretty damn good start though.  I'd say next step is to add in run button functionality and see if you can get speeds to scale correctly.   :wink:

:..:.

Thanks for feedback, made the horizontal box 2 pixels smaller. Also, any bug reports? Anything? It's got joystick support!

Smiley

There is little thing with wall-jumping:
bug

:..:.


:..:.

What FPS does the original run at? I feel that the original is just the tiniest bit more choppy.

Vismund Cygnus

#17
Quote from: :..:. on April 28, 2013, 07:17:09 PM
What FPS does the original run at? I feel that the original is just the tiniest bit more choppy.
The two different versions run at two different fps (I think)
I'm positive the NTSC runs at 60fps.
The PAL however, I think it's 50fps. Keyword being think. Correct me if I'm wrong.
But yeah. 60fps is the one you wanna know. ;)

Szandor

This is 99% correct.

The NTSC rate of 60fps that the Nintendo uses is actually 60000/1001 = 59.94 fps. This goes back into the specifications of the NTSC format and has to do with when color was added. Additional signals had to be added, but be completely backwards compatible, so the analog frequencies that carried color information had to be separate from that which carried luminance (black and white). Back then, televisions sets were also slaved to the AC frequency that was carried on the power line (60Hz), so it was figured that it would be easy to set up timing circuits that followed that frequency. Unfortunately, adding the color signals set up harmonics between the luminance and color signals that interfered with one another. It was found that if all the rates (frame rates, signal carrier frequencies, etc.) were slowed by 1/1000 of a second it would resolve the interference and not be noticable, and we're left with 59.94 fields (since NTSC is interlaced) or 29.97 fps.

PAL is simpler. Some of the same argument applies. Wall AC is 50Hz, so the original format was influenced by this. PAL has 50 fields per second (due to interlacing) or 25 fps. This is an exact value, and because of how the format was developed there were no signal interferences when adding color channels, so there was no need to add the "hackery" that NTSC did.

An aside: Even though the two formats were influenced by the rate at which AC electricity was transmitted at, this frequency is very unstable. It can easily vary +- 1-2 Hz just from the way electricity is transmitted. Most types of electronics that need accurate timing circuits convert AC to DC anyways and use that. The framerates of devices like televisions are generated with dedicated clock circuits that are way more accurate.

Double aside: To make things even more confusing, most tv's now will say what framerate mode they are in. Most will report 59.94 as "60i/p" and 29.97 fps as "30i/p", and even some that can play the native movie framerate of 23.976 fps as "24p". (The 23.976fps is actually the 24fps that it was recorded at slowed down by 1/1000 of a second. This means that movies shot at 24fps have to be sped UP by 1/24 of a second for display in PAL territories. This means a 2h movie shot at 24fps will play in 1h55min in a PAL region. This system is really messed up, but is kept around to make sure that old devices are still compatible with new ones.

</end_nerd>

TLDR:

Szandor is a nerd and is procrastinating from doing work. :lol:

Oh and NTSC is basically 60fps and PAL is basically 50fps for purpose of making something "feel" like a Super Nintendo game.

Quietus

It's true.  I count when when I'm speedrunning. :^_^:

What are your plans for the project, as far as an actual game to play are concerned?  Are you looking to recreate the original first, to ship the program with?  Or just leave it open from the outset?

:..:.

http://www.mediafire.com/?j8sd0zx6sf5sy80

Feedback on the new aiming animation (kinda) and the dashing (C)

Vismund Cygnus

There's this little issue...
[spoiler][/spoiler]

:..:.


Smiley

This is sure starting to shape up nicely :^_^:. Movements and animations are very smooth. All the collisions (apart from that bug above) seem to work with no problems. Keep up the good work!

passarbye

looking great, keep up the good work!