News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: Walk faster in phantasy star 2  (Read 2261 times)

ragequitbm

  • Newbie
  • *
  • Posts: 1
    • View Profile
Walk faster in phantasy star 2
« on: January 17, 2016, 02:50:50 am »
This is kind of a different request I think. I wanted to play the phantasy star 2 modernization romhack, but the movement speed is so slow. Is there any way to speed up the movement and still be able to play that romhack?

fedorajoe

  • Jr. Member
  • **
  • Posts: 11
    • View Profile
Re: Walk faster in phantasy star 2
« Reply #1 on: January 18, 2016, 07:33:42 pm »
As that hack's designer, I would be interested in hearing suggestions on how to do this.

It's one of my favorite games of all time, but yeah, it's slow.  :)

tryphon

  • Hero Member
  • *****
  • Posts: 722
    • View Profile
Re: Walk faster in phantasy star 2
« Reply #2 on: January 18, 2016, 11:33:03 pm »
It's doable but requires 68000 asm knowledge.

There is a disassembly available here. You need to find where the sprites positions are updated : a value of +/- 1 is added to x position or y position, change it to +/- 2. Then you must find where a step duration is stored. It should be 4 or 8 frames, reduce it to 2 or 4.

I did it for Phantasy Star 3, there were side effects when the party was moving automatically. I've yet to fix that.

KingMike

  • Forum Moderator
  • Hero Member
  • *****
  • Posts: 6844
  • *sigh* A changed avatar. Big deal.
    • View Profile
Re: Walk faster in phantasy star 2
« Reply #3 on: January 19, 2016, 02:04:07 am »
Changing how far characters walk with each step (changing the X/Y increment/decrement amount) sounds like a big bug risk (collision detection).
Changing the number of frames between steps sounds safer (but I suppose it depends on how a game was programmed to handle cutscene events: simply auto-keypresses of if they were timed).
"My watch says 30 chickens" Google, 2018

tryphon

  • Hero Member
  • *****
  • Posts: 722
    • View Profile
Re: Walk faster in phantasy star 2
« Reply #4 on: January 19, 2016, 02:51:21 am »
If you change the number of frames but not the dx/dy, your character won't walk faster, but each step will go further.

Here, dx/dy is the amount added each frame (the speed, if you prefer), not the global amount added in the whole animation (which must always be equal to the tiles of the map size, here 16 pixels IIRC).

dn

  • IRC Staff
  • Jr. Member
  • *****
  • Posts: 17
    • View Profile
Re: Walk faster in phantasy star 2
« Reply #5 on: January 28, 2016, 10:14:30 pm »
What I found while trying to do this is that I could get characters to move faster, but the camera would not keep up. I never did find the camera code.

SunGodPortal

  • Hero Member
  • *****
  • Posts: 2921
  • 2 + 2 = 5
    • View Profile
Re: Walk faster in phantasy star 2
« Reply #6 on: January 28, 2016, 10:22:06 pm »
That's funny (as in strange). I would think the camera would be locked onto the player expect when approaching the edge of the visible area.
War is Peace. Freedom is Slavery. Ignorance is Strength.

FAST6191

  • Hero Member
  • *****
  • Posts: 2506
    • View Profile
Re: Walk faster in phantasy star 2
« Reply #7 on: January 29, 2016, 04:56:12 am »
How does the camera reset itself when you step on the teleport tiles in dungeons?

SunGodPortal

  • Hero Member
  • *****
  • Posts: 2921
  • 2 + 2 = 5
    • View Profile
Re: Walk faster in phantasy star 2
« Reply #8 on: January 29, 2016, 05:27:07 am »
Deleted. I was confused.
War is Peace. Freedom is Slavery. Ignorance is Strength.

mziab

  • Sr. Member
  • ****
  • Posts: 305
    • View Profile
    • mteam
Re: Walk faster in phantasy star 2
« Reply #9 on: January 29, 2016, 05:32:49 am »
For what it's worth, the Phantasy Star 2 version included in the Phantasy Star Complete Collection for PS2 has options to increase movement speed, EXP multipliers etc. The game basically runs using an officially sanctioned Sega Genesis/Megadrive emulator, so I'd wager they've got to be poking the emulated system's memory. It should be possible to get some useful info by disassembling this, though this might be a roundabout way of doing things.
« Last Edit: January 29, 2016, 06:01:47 am by mziab »

FAST6191

  • Hero Member
  • *****
  • Posts: 2506
    • View Profile
Re: Walk faster in phantasy star 2
« Reply #10 on: January 29, 2016, 06:36:50 am »
Have fun with that. I have not tangled with this one in particular, nor read reports from one that has, but most other times "official" megadrive/genesis emulators have come up on systems more powerful than the megadrive* they have been... a bit more custom than the other times we see such emulators on other systems.

*which is not to say when things were "ported" to the GBA that it got any easier. The Phantasy Star Collection on the GBA being noted for unusual approaches to things in a variety of ways.

tryphon

  • Hero Member
  • *****
  • Posts: 722
    • View Profile
Re: Walk faster in phantasy star 2
« Reply #11 on: January 29, 2016, 05:10:01 pm »
What I found while trying to do this is that I could get characters to move faster, but the camera would not keep up. I never did find the camera code.

Do the camera stop when you stop, or did it continue scrolling up to the moment you're in the center again ?

Also :

How does the camera reset itself when you step on the teleport tiles in dungeons?

and more generally, are collisions properly handled ?

Also :

For what it's worth, the Phantasy Star 2 version included in the Phantasy Star Complete Collection for PS2 has options to increase movement speed, EXP multipliers etc. The game basically runs using an officially sanctioned Sega Genesis/Megadrive emulator, so I'd wager they've got to be poking the emulated system's memory. It should be possible to get some useful info by disassembling this, though this might be a roundabout way of doing things.

It's overkill. If you really have to disassemble something, disassemble the Genesis game. But even that would be overkill, and lorenzo already did it anyway :)