Author Topic: NGBC Mars People + NGBC Akari  (Read 2781 times)

Offline Websta

  • Wet Noodle
  • Hosted Converter
  • Demoman
  • ****
  • Posts: 143
    • View Profile
    • Email
NGBC Mars People + NGBC Akari
« on: January 22, 2013, 10:48:35 AM »

Offline Jesuszilla

  • Loyal to the Game
  • Administrator
  • Medic
  • *****
  • Posts: 4920
  • I'm a fuffy.
    • View Profile
    • Trinity MUGEN
Re: NGBC Mars People + NGBC Akari
« Reply #1 on: January 22, 2013, 12:41:37 PM »
  • CLSN isn't accurate, not even to SvC. We can also get NGBC CLSN. Although the tool is incomplete, it should get most of the stuff.
  • Kinda strange having no electricity SFX on QCB+P, regardless of whether or not it did this in NGBC.


Limited, but will test more in depth much later due to schoolwork and junk. Congrats on the release; it's about time we get someone willing to do accurate NGBC characters. Such an underrated game.

Just try to keep things peaceful.

Offline Websta

  • Wet Noodle
  • Hosted Converter
  • Demoman
  • ****
  • Posts: 143
    • View Profile
    • Email
Re: NGBC Mars People + NGBC Akari
« Reply #2 on: January 22, 2013, 01:24:01 PM »
Thanks for the comment Jesuszilla. What tool is used for NGBC clsns anyway?

Offline Vans

  • Walrus Force Leader
  • Administrator
  • Medic
  • *******
  • Posts: 1328
    • View Profile
Re: NGBC Mars People + NGBC Akari
« Reply #3 on: January 22, 2013, 09:20:04 PM »
Testing Marpi.

At first glance, really impressive coding work!  You are comfortable working with CNS, and it shows. :)

I haven't done this in years, but since this conversion is aiming for accuracy, I will note down every single detail I can find:

- Something seems to set a MUTEKI flag during his liedown states (5100,5110?). I can't hit him with OTG moves during long combos.

- His dashes are completely wrong:

Code: [Select]
[State 750]
type = Velset
trigger1 = AnimElemTime(3) = 0
x = 9
[State 750]
type = Veladd
trigger1 = AnimElemTime(3) > 0
x = -.2

NGBC (like KOF) uses exponential friction for most moves with acceleration, this is what it should look like:

Code: [Select]
[State 105, 1]
type = VelSet
trigger1 = animelemtime(3) >= 0
x = (10.1746063232421875*exp((-0.08250786517518811744897669497371)*(time-4)))

Simplified version:

[State 105, 1]
type = VelSet
trigger1 = animelemtime(3) >= 0
x = (12*exp((-0.0825)*(time-2)))

Calculation method:


- Artmoney delays velocity addition data with a delay of 1 tick. A quote from your jump constants:

Code: [Select]
jump.neu = 0,-10.044921875
yaccel = 0.455078125

Considering that missing tick: 10.044921875+0.455078125 = 10.5. A pretty number. :)

- His y-movement seems wrong.

A quote from State 1300:

Code: [Select]
[State 0]
type = StateTypeSet
trigger1 = Time = 15
statetype = A
physics = A

It's in very, VERY rare cases where SNK uses the gravity constant to handle air movement.

In Marpi's case, this particular move uses two different yaccel values,

4294951296 or 0.244140625
4294901760 or... 1!

As you can see this is entirely different from his gravity constant.

- Projectile velocities are completely guessed.

Data for Mars's shot 1:


Data for Mars's shot B

X vel is correct in yours.

Pieces of y vel data:
3.9375
3.875
3.8125

Adjusting for the missing tick, that is a starting y vel of 4 with a yaccel of 0.0625.
NGBC changes the sign of the y velocity in certain time periods to create the bouncing effect.

Also, this fact is NOT accounted for in the velocity address, the engine stores velocity sign elsewhere but the data is still correct, I don't know why it does this.

This is how I'd do it (this version uses now accurate data):

Code: [Select]
[State 0]
type = VelSet
trigger1 = !time
x = 2.5
y = -4
[State 1011, VelSet]
type = VelSet
trigger1 = time = 10
trigger2 = time = 35
y = -Vel Y
[State 1011, VelAdd]
type = VelAdd
trigger1 = time < 64
y = -0.0625*(Vel Y / abs(Vel Y)) ;return Vel Y's current sign for proper veladds.
[State 1011, VelAdd]
type = VelAdd
trigger1 = time >= 64
y = 0.0625

There's probably a way to optimize this code much more, this is just a quick snippet of how it should work.

I believe there might be moves with the same problems.

So far, very impressive for a second character, I can't wait to see more from you.

I will test combos extensively after the mentioned things have been fixed.

I have also attached a newer version of my NGBC table with this post. This version has special addresses for Marpi's projectiles. :)

This table only works in Kurukuru-1. So keep that in mind. :P
« Last Edit: January 22, 2013, 09:51:28 PM by Vans »


Offline Websta

  • Wet Noodle
  • Hosted Converter
  • Demoman
  • ****
  • Posts: 143
    • View Profile
    • Email
Re: NGBC Mars People + NGBC Akari
« Reply #4 on: January 23, 2013, 12:09:48 AM »
Thanks for the in-depth information. I'll look into the things you've mentioned.
Also I've been meaning to ask, how exactly do you advance frame by frame in pscx2? (I have a really REALLY convoluted way of doing it)

Offline Vans

  • Walrus Force Leader
  • Administrator
  • Medic
  • *******
  • Posts: 1328
    • View Profile
Re: NGBC Mars People + NGBC Akari
« Reply #5 on: January 23, 2013, 12:14:13 AM »
It can't be done, sadly. :/

I use several methods to get the data I need. For timings it's as simple as recording a video (since it does 60 FPS).

For velocities, I set the "Turbo" timings adjust at 5% and activate it to slow the emulator down to a crawl. I then record the artmoney window at 60 FPS to grab the velocity data.

I wish there was a better way.