Autor
| physics of a jump
|
Samor msx professional Mensajes: 846 | Publicado: Mayo 04 2008, 18:44   |
Quote:
| I personally prefer when some controls are permitted vs something like say Vampire Killer.
|
True, I lost count on how often I drowned Simon Belmont in stage 1-2 because of it
If Fantasm Soldier has double jump (I never played that one much, btw), that means it's probably one of the first games to have it in gaming history.
|
|
pitpan msx master Mensajes: 1390 | Publicado: Mayo 05 2008, 09:36   |
In LAS TRES LUCES DE GLAURUNG there was a "high jump" and a "long jump", both useful for different situations. But there was no "double jump".
Regarding "double jump", the one that I like best was featured in XAIN D'SELEENA / SOLDIER OF LIGHT (arcade version).
|
|
manuel msx guru Mensajes: 3547 | Publicado: Mayo 05 2008, 13:20   |
Double jump as in the one of Usas?
|
|
Samor msx professional Mensajes: 846 | Publicado: Mayo 05 2008, 19:56   |
Quote:
| Double jump as in the one of Usas?
|
now that you mention it.. Cles can do one?
I kind of forgot...
|
|
[D-Tail]
 msx guru Mensajes: 3020 | Publicado: Mayo 05 2008, 20:36   |
Cles could walk in mid-air when happy.
|
|
DemonSeed msx master Mensajes: 1033 | Publicado: Mayo 05 2008, 22:27   |
Cles indeed could.
Wit however, when happy, could perform the kind of double jump I guess Samor is referring to.
...And I bet they still can if you'd start playing Usas right now!  |
|
[D-Tail]
 msx guru Mensajes: 3020 | Publicado: Mayo 06 2008, 00:18   |
DemonSeed: indeed! Fortunately and coincidentally, I beat Usas just a couple of weeks ago for the first time in my life! So I guess I don't need to check whether they can still do it  |
|
ARTRAG msx master Mensajes: 1747 | Publicado: Mayo 06 2008, 18:26   |
Just to show (off) why parabolic jumps are nice:
changing only the initial speed you get this...
10 color 15,1,5:screen 5,2
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
61 gosub 1000
62 X = 0 : DX = 2
63 Y = 96: DY =-5*256: DDY=64
64 gosub 1000
65 X = 0 : DX = 2
66 Y = 96: DY =-6*256: DDY=64
67 gosub 1000
68 a$=input$(1)
69 end
70 rem
1000 pset (X,Y),15
1001 put sprite 0,(X,Y),15,0
1002 Y = Y + DY/256 : X = X + DX
1003 DY=DY + DDY
1004 a$=input$(1)
1005 if Y<192 goto 1000
1006 return
|
|
[D-Tail]
 msx guru Mensajes: 3020 | Publicado: Mayo 06 2008, 20:15   |
OK, I'm just lazy here not to test it myself, but wouldn't the performance gain be substantial when using an integer divide instead of a normal one? It appears that the jump would be a little more choppy, but fiddling with the other parameters should work that out.
[So, instead of "1002 Y = Y + DY/256" -> "1002 Y = Y + DY\256"] In the end, this will cause all variables to be integer...
|
|
ARTRAG msx master Mensajes: 1747 | Publicado: Mayo 06 2008, 20:27   |
Sure, the implementation I proposed is exactly meant for fix point ASM code.
(otherwise there would have been no need of scaling by 256,
I would have used decimals, in particular DDY = 64 is equivalent
to DDY = 0,25 and e.g. DY = -5*256 is equivalent to DY = -5 )
Only using integer division in this basic code you get the correct simulation of the asm result: good point
|
|
[D-Tail]
 msx guru Mensajes: 3020 | Publicado: Mayo 06 2008, 20:32   |
ARTRAG: I apologize for my lazyness. In the time you wrote your last post, I actually tested it on openMSX
Suffice to say: great job! Maybe I will eventually use it to finish a piece of crap  |
|
ARTRAG msx master Mensajes: 1747 | Publicado: Mayo 06 2008, 20:39   |
openmsx miracles: just cut and paste from the web to the console and voilà, your basic code is there and running
 |
|
[D-Tail]
 msx guru Mensajes: 3020 | Publicado: Mayo 06 2008, 21:11   |
Hehe, if only
I tested it on my laptop, where I only have the WSX configuration. It caused the input text to go all haywire because of a different keyboard setup [the emulator assumes a Japanese layout]. So I had to manually fix it. Ah well... |
|
Huey msx professional Mensajes: 636 | Publicado: Mayo 07 2008, 09:33   |
Anyway, these jump physics are doing wonders over here (in C ofcourse ;P)
Just add:
- Variable jump height depending on keeping jump-key pressed.
- Flattening the jump in hitting the floor above
- Change direction during jump.
And moving around in levels is a real joy!!
The double jump seems indeed an interesting option.
|
|
ARTRAG msx master Mensajes: 1747 | Publicado: Mayo 07 2008, 09:42   |
IMHO the double jump could be not required when you have already variable jump heights.
|
|
|
|
|