physics of a jump (Development Foros MSX)MSX Resource Center MSXdev 2008 - MSX1 development bonanza!           
                       
English Nederlands Español Português Russian                  
 Noticias
   Página principal
  Almacén de noticias
  Temas de noticias

 Recursos
   Foros MSX
  Artículos
  Analisis
  Informe de ferias/RUs
  Álbum de fotos
  Ferias y encuentros
  Encuestas
  Enlaces
  Buscar

 Software
   Descargas
  Tienda Online

 MRC
   Quiénes somos
  Únete a nuestro equipo
  Donar
  Políticas
  Contacta con nosotros
  Enlázanos
  Estadísticas

 Buscar
 
  

  

 Login
 

Login

Contraseña




¿Aún no tienes una cuenta? ¡Conviértete en miembro del MSX Resource Center! ¡Únete a nosotros!.


 Estadísticas
 

Hay 69 invitados y 2 miembros en línea

Eres un usuario anónimo.
 

Foros MSX


Foros MSX

Development - physics of a jump

Ir a la página ( 1 | 2 | 3 Siguiente página )
Autor

physics of a jump

ARTRAG
msx master
Mensajes: 1662
Publicado: Mayo 02 2008, 18:32   
In many platforms jumps, falls and generally speaking kinematics and dynamics are very unrealistic...
The few lines above are just to show that having good looking and realistic jumps is easy and does not need CPU load
(I used basic for the sake of clearness but the code is aimed to ASM and C coders)

10 screen 5,2:color 15,1,5:cls
20 for x=0 to 255 step 8:line(x,0)-(x,192),4:next
30 for y=0 to 191 step 8:line(0,y)-(255,y),4:next
40 sprite$(0)=string$(32,255)
50 X = 0 : DX = 2
60 Y = 96: DY =-4*256: DDY=64
70 pset (X,Y),15
80 put sprite 0,(X,Y),15,0
90 Y = Y + DY/256 : X = X + DX
100 DY=DY+DDY
110 a$=input$(1):if Y<192 goto 70

AuroraMSX

msx master
Mensajes: 1247
Publicado: Mayo 02 2008, 18:46   
A parabolic function: very good!
For some obscure reasons, I often see SIN tables popping up in conversations like these

[edit: otoh, who needs realistic jumps. There are just too many platform games in which you can for, example, turn around in mid-air ]
ARTRAG
msx master
Mensajes: 1662
Publicado: Mayo 02 2008, 18:57   
well, you can continue to turn around in mid-air and jump/fall according to a parabolic function

dvik
msx master
Mensajes: 1310
Publicado: Mayo 02 2008, 19:02   
I think some games doesn't use newtons laws on purpose. In many games I think the designer actually wants unreal physics. But yeah, setting up a rigid body model for the character and apply real force (gravity in ARTRAGs example) is not that hard so there are no excuses to not do it.
pitpan
msx master
Mensajes: 1377
Publicado: Mayo 02 2008, 19:42   
It's a designer's choice. A parabolic function is what happens in the real world when considering jumps, fallings or even cannon balls. But you can imitate a similar behaviour with a sin or cos table. Or use fixed table jumps or linear approaches. Everything works fine if you like it!

Consider one of the most unrealistic jumps ever: Maze of Galious. But it is cool, isn't it?
dvik
msx master
Mensajes: 1310
Publicado: Mayo 02 2008, 19:54   
Quote:

But it is cool, isn't it


It is, and my point was actually that some times (actually more often than not in old school games) I think the unrealistic jumps are a desired feature, not lack of knowledge in physics. Using tables are good instead of doing the actual calculations real time. But if a natural behavior is desired, I think its good for developers to know that a sine curve is not correct.
Edwin
msx professional
Mensajes: 617
Publicado: Mayo 02 2008, 20:09   
The big advantage of parabolic jumps (apart from looking natural) is that you can easily implement variable jump heights and other effects that throw the player around. I used this exact method in MJTT. (And RNFF, since the base code came from there)
AuroraMSX

msx master
Mensajes: 1247
Publicado: Mayo 02 2008, 20:15   
Quote:

well, you can continue to turn around in mid-air and jump/fall according to a parabolic function

Yeah well, I meant: reverse direction - go back to where you jumped from
ARTRAG
msx master
Mensajes: 1662
Publicado: Mayo 02 2008, 20:23   
yes, like in la mulana
ARTRAG
msx master
Mensajes: 1662
Publicado: Mayo 02 2008, 20:28   
Quote:

The big advantage of parabolic jumps (apart from looking natural) is that you can easily implement variable jump heights and other effects that throw the player around. I used this exact method in MJTT. (And RNFF, since the base code came from there)



I fully agree, variable height and length can be achieved by just changing the initial speed
(no tables! just change a parameter!!!)
eg you can jump differently accordingly to the time you press the jump button
and you can also have a realistic look of the trajectory
manuel
msx guru
Mensajes: 3441
Publicado: Mayo 04 2008, 13:02   
Fully agree: parabolic is so simple, it would be crazy to use sine tables or something similar. MoG is still fairly realistic, I think. You can only change jumping direction if you actually hit a wall.
Note that IMHO, MoG has the best player character controllability I've ever seen in an MSX game SMOOTH. FAST. PRECISE. Yes, you want that.
wolf_

msx legend
Mensajes: 4700
Publicado: Mayo 04 2008, 13:25   
Manic Miner has the most frightening jump!
Samor
msx professional
Mensajes: 841
Publicado: Mayo 04 2008, 14:49   
..not to mention the games where you can't jump at all..

either way, in many cases a game wouldn't be fun if it had realistic jumping... depends on the game, of course.
...are there msx games with double jumping (jumping again mid-air; talking about realism ) btw? Most of the more recent platform games have such a thing, but I don't think I've seen it often, if at all, on MSX.


Maggoo
msx professional
Mensajes: 581
Publicado: Mayo 04 2008, 15:12   
IMO the parabole is the most straighforward way to implement a jump, and usually has a better "feel" than the ones using a table (be it SIN or something else). One important thing that manuel pointed out is the ability to control the character while jumping. I personally prefer when some controls are permitted vs something like say Vampire Killer.

BTW, I'd be curious to hear how people feel about the controls in VScreen (well in the Vscren demo anyway). It uses a parabole with an initial speed. It goes something like this (simplified):

gravity=1
Jump_speed=-6
while (jumping)
y=y+Jump_speed
if Jump_speed<8 then Jump_speed=Jump_speed+gravity
If obstacleup() or obstcledown() then jump_speed = 0:exit
wend

Also I usually like when there is some "inertia" in the speed of the character. I mean that when you go right the x speed doesnt go from 0 to 2 directly but goes 0,1,1,2,2.... then when you turn left it goes 2,1,0,-1,-2.... giving the impression that the main character "slides" a little bit. It's pretty much how controls work in SMB I think.

Can't remember if VScreen had a high jump (might have when presing up+space instead of just space), I'd have to check the code again Mkid did but the controls sucked !
DemonSeed
msx professional
Mensajes: 942
Publicado: Mayo 04 2008, 15:13   
Personally I always disliked triangular jumping curves.
Just looks like S%#$.

Quote:

...are there msx games with double jumping (jumping again mid-air; talking about realism ) btw?


Fantasm Soldier Valis has it.
 
Ir a la página ( 1 | 2 | 3 Siguiente página )
 







(c) 1994 - 2008 Fundación MSX Resource Center. MSX es una marca registrada de MSX Licensing Corporation