News:

11 March 2016 - Forum Rules

Main Menu

Walk faster in phantasy star 2

Started by ragequitbm, January 17, 2016, 02:50:50 AM

Previous topic - Next topic

ragequitbm

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

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

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

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

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

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

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.
Cigarettes, ice-cream, figurines of the Virgin Mary...

FAST6191

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

SunGodPortal

Cigarettes, ice-cream, figurines of the Virgin Mary...

mziab

#9
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.

FAST6191

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

Quote from: dn 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.

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

Also :

Quote from: FAST6191 on January 29, 2016, 04:56:12 AM
How does the camera reset itself when you step on the teleport tiles in dungeons?

and more generally, are collisions properly handled ?

Also :

Quote from: mziab 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.

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 :)