Register - Login
Views: 99797034
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
05-03-22 05:48:39 AM
Jul - SM64 Hacking (Archive) - Guidelines for level editing New poll - New thread - New reply
Next newer thread | Next older thread
messiaen
Catgirl
Level: 68


Posts: 60/1085
EXP: 2596323
For next: 132477

Since: 11-20-07


Since last post: 8.1 years
Last activity: 7.2 years

Posted on 04-30-08 06:00:30 PM (last edited by messiaen at 05-16-08 08:46 AM) Link | Quote
The purpose of this thread is to share helpful information regard Mario 64 level editing.

I got the idea from my main difficult in creating a level from Flatworld: the lack of spatial references makes placing objects and measuring distances very difficult.

So, ny initial idea is to build a database of infomation about Mario physics, such as:

How far mario can jump using normal jump?
How far mario can jump using the long jump?
How high can mario go using normal/double/triple jump? (rephasing, what is the maximum vertical distance between two platforms?)

This could result in pratical guidelines which would decrease significantly testing time.

For maximum accuracy, the "Platform" model from Platform Battlefield can be used. This is how it is drawn:



The red dot represents the X,Y,Z coordinate of the 0x24 object.

Each platform is "1000" wide in X and Z coordinates. If you want a "1000" jump, place two platforms at X or Z coordinates that differ "2000" from each other. If you want to test how high can jump, the "Y" difference between the platforms means how high mario can go.

Here is one pratical result:

Mario can jump "800-830" far using normal jump.
Mario can jump about "1000-1030" far using double jump.

Discovering the double jump maximum distance and other facts will be very useful for measuring and balancing jump difficult.

Edit: Hmm, no interesting on this it seems . This could be of great help also for polygon editing (especially for scaling).
gamekrazzy
Member
Level: 32


Posts: 43/199
EXP: 194613
For next: 11829

Since: 03-06-09


Since last post: 10.4 years
Last activity: 8.6 years

Posted on 03-29-09 08:35:33 PM Link | Quote
I think it would be useful, but as for jumping and most of the things we do on this, we guess, are eyes are able to tell if something seems proportional or not. Now a case scenario where you need to measure is making upside down pipes work, I have actually gotten 1 to work with alot of guessing. If I had measured though I would have found how much is needed to make it work. The complicated feature to this is that when the pipe is off just a little bit, instead of warping, mario jumps and either cannot hit the warp, or hits his head on ceiling of it. I tried to do it a second time, but i failed. This might have something to deal with blocks being above it.

____________________
VL-Tone
Member
Super Mario 64 forum moderator
Level: 53


Posts: 419/621
EXP: 1136482
For next: 20637

Since: 07-27-07

From: Montreal, Canada

Since last post: 4.7 years
Last activity: 6 days

Posted on 03-31-09 02:25:42 AM (last edited by VL-Tone at 03-30-09 11:26 PM) Link | Quote
Time: Now - Date: Today - Weather: What can be seen outside. - Mood: How it feels. Answer to the universe: 42
It's a really good idea, and when I read it (and saw your diagram) I immediately thought of this: http://hypertextbook.com/facts/2007/mariogravity.shtml

It's a "scientific" analysis of the gravity effect in Mario games.

I'm not sure we can use much of the information there, but it's still interesting to see how precise they tried to be.

Here's the table copied from the page:

Game
Frames
Time
(s)
Height of Mario
(pixels)
Distance of Fall
(pixels)
Distance of Fall
(m)
Acceleration
(m/s2)
Acceleration
(g)
Super Mario Bros.150.53929211.491.289.31
Super Mario Bros. 2120.4452558.6107.9511
Super Mario Bros. 3150.53526511.592.319.42
Super Mario World150.5381937.761.926.32
Super Mario 64100.33862173.869.227.06
Super Mario Sunshine230.7711998812.743.054.4
Super Paper Mario120.4288748449.475.05



As you can see, for SM64, they evaluate the fall distance in pixels, even though it's a 3d game and Mario can vary in pixel size on the screen. But they do provide Mario's pixel height as used in their calculations, so by knowing the coordinate units height of Mario, we can convert this data in something useable for the editor.

Still, this whole article is only about the gravity (falling) and doesn't cover all the different types of jumps.



____________________
gamekrazzy
Member
Level: 32


Posts: 46/199
EXP: 194613
For next: 11829

Since: 03-06-09


Since last post: 10.4 years
Last activity: 8.6 years

Posted on 03-31-09 02:41:54 AM (last edited by gamekrazzy at 03-30-09 11:46 PM) Link | Quote
Do you know how far from the ground an upside down pipe needs to work? This is in the measurements from TT64 of course. Oh and VL-Tone, I am sure that in SM64 they did not apply all physics such as Air resistance into the game, so wouldn't the jumps not be resisted by anything allowing Mario to go up at a constant rate, so there is a specific point above the ground that causes mario to fall. Obviously the speed going up is less than going down. Now my question is was the falling at a constant rate?

EDIT: NVM the fact that there is an acceleration tells me no, so I guess the higher up mario is, the faster he comes down. And in order to keep that at a constant speed there needs to be a resisting force (Basically Gravity is applied.)

Can't you find out how high mario goes by applying it in an equation? F/a = m. and if gravity is applied here, we can apply more equations to find out how high Mario goes!

____________________
Next newer thread | Next older thread
Jul - SM64 Hacking (Archive) - Guidelines for level editing New poll - New thread - New reply


Rusted Logic

Acmlmboard - commit 47be4dc [2021-08-23]
©2000-2022 Acmlm, Xkeeper, Kaito Sinclaire, et al.

30 database queries, 1 query cache hits.
Query execution time: 0.077048 seconds
Script execution time: 0.021833 seconds
Total render time: 0.098881 seconds