Analog Move

Eliaquim

Hakuen Studio
Veteran
Joined
May 22, 2018
Messages
1,415
Reaction score
669
First Language
Portuguese - Br
Primarily Uses
RMMV
Anyone knows a way to make the events walk-in diagonal too?
Or to remove only the diagonal for the player?

[EDIT] Also seems that this plugin has some issues with the direction.
When I trigger an event with the player facing left, if in this event I use the move route to change the player direction, the will be face left again, and again...
 
Last edited:

bazrat

Pixel Game Maker MV
Veteran
Joined
Oct 15, 2018
Messages
240
Reaction score
168
First Language
English
Primarily Uses
Other
Anyone knows a way to make the events walk-in diagonal too?
Or to remove only the diagonal for the player?

[EDIT] Also seems that this plugin has some issues with the direction.
When I trigger an event with the player facing left, if in this event I use the move route to change the player direction, the will be face left again, and again...
Yea this plugin will mess up moveroute commands for the player.

For events having diagonal movement have you tried VE plugin? https://victorenginescripts.wordpress.com/rpg-maker-vx-ace/diagonal-movement/ You can have events move diagonal
 

Eliaquim

Hakuen Studio
Veteran
Joined
May 22, 2018
Messages
1,415
Reaction score
669
First Language
Portuguese - Br
Primarily Uses
RMMV
Yea this plugin will mess up moveroute commands for the player.

For events having diagonal movement have you tried VE plugin? https://victorenginescripts.wordpress.com/rpg-maker-vx-ace/diagonal-movement/ You can have events move diagonal
Hi! Thanks a lot @bazrat ! VE diagonal made the events work I'm just a little concerned using two plugins with diagonal... but guess it was the only way. And I have tried it a lot. Thanks!
SuperOrangeMovement.js
SuperOrangeMovementEx.js
AltimitCharacterMovement
Qplus + Qmovement + Qpath
GalvPixelMovement

All of them have a question... one doesn't work with events, other mess too much with move routes... For me that I have the game completed its a question =/

But I manage to make the analog work changing this:
Code:
    Game_AnalogMove.prototype.updateCharacterPosition = function(thisCharacter) {
        thisCharacter.setDirection(this.dir4());
        if (Game_AnalogMove.canMove() && this.isMoving()) {
            thisCharacter.realX = this._nextRealX;
            thisCharacter.realY = this._nextRealY;
            thisCharacter.x = Math.round(thisCharacter.realX);
            thisCharacter.y = Math.round(thisCharacter.realY);
        }
    };
to this:

Code:
    Game_AnalogMove.prototype.updateCharacterPosition = function(thisCharacter) {
        if (Game_AnalogMove.canMove() && this.isMoving()) {
            thisCharacter.realX = this._nextRealX;
            thisCharacter.realY = this._nextRealY;
            thisCharacter.x = Math.round(thisCharacter.realX);
            thisCharacter.y = Math.round(thisCharacter.realY);
        thisCharacter.setDirection(this.dir4());
        }
    };
 

bazrat

Pixel Game Maker MV
Veteran
Joined
Oct 15, 2018
Messages
240
Reaction score
168
First Language
English
Primarily Uses
Other
Hi! Thanks a lot @bazrat ! VE diagonal made the events work I'm just a little concerned using two plugins with diagonal... but guess it was the only way. And I have tried it a lot. Thanks!
SuperOrangeMovement.js
SuperOrangeMovementEx.js
AltimitCharacterMovement
Qplus + Qmovement + Qpath
GalvPixelMovement

All of them have a question... one doesn't work with events, other mess too much with move routes... For me that I have the game completed its a question =/

But I manage to make the analog work changing this:
Code:
    Game_AnalogMove.prototype.updateCharacterPosition = function(thisCharacter) {
        thisCharacter.setDirection(this.dir4());
        if (Game_AnalogMove.canMove() && this.isMoving()) {
            thisCharacter.realX = this._nextRealX;
            thisCharacter.realY = this._nextRealY;
            thisCharacter.x = Math.round(thisCharacter.realX);
            thisCharacter.y = Math.round(thisCharacter.realY);
        }
    };
to this:

Code:
    Game_AnalogMove.prototype.updateCharacterPosition = function(thisCharacter) {
        if (Game_AnalogMove.canMove() && this.isMoving()) {
            thisCharacter.realX = this._nextRealX;
            thisCharacter.realY = this._nextRealY;
            thisCharacter.x = Math.round(thisCharacter.realX);
            thisCharacter.y = Math.round(thisCharacter.realY);
        thisCharacter.setDirection(this.dir4());
        }
    };
wow good work!

edit: do moveroutes work with this plugin now?
 

Eliaquim

Hakuen Studio
Veteran
Joined
May 22, 2018
Messages
1,415
Reaction score
669
First Language
Portuguese - Br
Primarily Uses
RMMV
wow good work!

edit: do move routes work with this plugin now?
@bazrat
Sorry! I miss your edit.
Yeah, they work, but I have to use the plugin commands:
Code:
 *   AnalogMove ON            # アナログムーブ機能有効化
 *   AnalogMove OFF           # アナログムーブ機能無効化
 *   AnalogMove Player ON     # プレイヤーとフォロワーのアナログムーブ有効化
 *   AnalogMove Player OFF    # プレイヤーとフォロワーのアナログムーブ無効化
My game is short and has few move routes for cutscene...
But for a long game, it will be a pain to do that every move route...

BUT!

I've found an updated version of this plugin. That you don't need to fix anything in the code and don't have to use the plugin command for nothing. All move routes seem to work ok.
It does only have an "issue" that I'm trying to get some help here.
 

bazrat

Pixel Game Maker MV
Veteran
Joined
Oct 15, 2018
Messages
240
Reaction score
168
First Language
English
Primarily Uses
Other
@bazrat
Sorry! I miss your edit.
Yeah, they work, but I have to use the plugin commands:
Code:
 *   AnalogMove ON            # アナログムーブ機能有効化
 *   AnalogMove OFF           # アナログムーブ機能無効化
 *   AnalogMove Player ON     # プレイヤーとフォロワーのアナログムーブ有効化
 *   AnalogMove Player OFF    # プレイヤーとフォロワーのアナログムーブ無効化
My game is short and has few move routes for cutscene...
But for a long game, it will be a pain to do that every move route...

BUT!

I've found an updated version of this plugin. That you don't need to fix anything in the code and don't have to use the plugin command for nothing. All move routes seem to work ok.
It does only have an "issue" that I'm trying to get some help here.
Thank you for posting this! I saw your other thread, I hope someone can figure this out, this would be the GOTO pixel movement for RMMV
 

Danielcross

Veteran
Veteran
Joined
Sep 27, 2017
Messages
100
Reaction score
10
First Language
English
Primarily Uses
RMMV
Hello! Has anyone run into an issue where moving diagonally makes NPCs shake/vibrate? Looked through the thread and didn't find anything.
 

Eliaquim

Hakuen Studio
Veteran
Joined
May 22, 2018
Messages
1,415
Reaction score
669
First Language
Portuguese - Br
Primarily Uses
RMMV
Hello! Has anyone run into an issue where moving diagonally makes NPCs shake/vibrate? Looked through the thread and didn't find anything.
Hi!
Yes, I don't see them shaking. I use the 3.15 version. And for diagonal movement, I use VE_DIagonal(put that above the analog move).
 

Danielcross

Veteran
Veteran
Joined
Sep 27, 2017
Messages
100
Reaction score
10
First Language
English
Primarily Uses
RMMV
Hi!
Yes, I don't see them shaking. I use the 3.15 version. And for diagonal movement, I use VE_DIagonal(put that above the analog move).
I think 3.15 has diagonal events built in? They seem to work okay on my end. Do you know how you got the shaking to stop? The base version of 3.15 has events/npcs shake when moving diagonally.
 

Featherbrain

Villager
Member
Joined
Jan 12, 2020
Messages
18
Reaction score
10
First Language
English
Primarily Uses
RMMV
Anyone know how to adjust the distance between followers to accommodate for larger sprite sizes? Altimit Movement plugin has parameters for this, but Analog Move seems superior for my purposes in every other way--less plugin incompatibilities e.g. w/ Yanfly Event Chase, better follower logic, less messy collision, etc.

EDIT: Nevermind, I seem to have figured this out. (It's shockingly easy.) The follower distance is in this section of the code. Just change the "1.0" (both instances of it or followers jitter) to the distance required, e.g. 2.0 or 1.5.

Original code:
Code:
// 目標位置の更新
FollowerMover.prototype.updateTargetPosition = function() {
    var precedingCharacter = this.character().precedingCharacter();
    var preChaPosVec = precedingCharacter.posVec();
    var relPosVec = preChaPosVec.sub2(this._posVec);
    this._tarPosVec = (
        $gamePlayer.areFollowersGathering() ? preChaPosVec :
        relPosVec.len() > 1.0 ? preChaPosVec.sub2(relPosVec.scl(1.0)) :
        null
    );
};
Adjusted for double follower spacing:

Code:
// 目標位置の更新
FollowerMover.prototype.updateTargetPosition = function() {
    var precedingCharacter = this.character().precedingCharacter();
    var preChaPosVec = precedingCharacter.posVec();
    var relPosVec = preChaPosVec.sub2(this._posVec);
    this._tarPosVec = (
        $gamePlayer.areFollowersGathering() ? preChaPosVec :
        relPosVec.len() > 2.0 ? preChaPosVec.sub2(relPosVec.scl(2.0)) :
        null
    );
};
 
Last edited:

cokes1999

Villager
Member
Joined
Jun 17, 2020
Messages
19
Reaction score
0
First Language
English
Primarily Uses
RMMV
Is there a reason why we have to request access to download the plugin? It's been a few days and I haven't been given access..... this is the only free plugin I've encountered in which I have to request access for.
 

Users Who Are Viewing This Thread (Users: 1, Guests: 3)

Latest Threads

Latest Profile Posts

Finally finished my first big game since joining the forums! Please check out Petal Knights! https://forums.rpgmakerweb.com/index.php?threads/petal-knights-playable-now.117898/
Back home now :cutesmile:

Many thanks to all my fellow game devs. for all the support during this crazy time.

Feeling a bit rough but much better then bein' hospitalized at least.

Now time to get back to the code :D
Added skill ranges, and very basic implementation of scope, with a rule called "empty tile" that simply returns true if the selected tile is empty (has a battler), and false otherwise


This means movement range and attack ranges are all automatically implemented.

More info: https://himeworks.itch.io/grid-battle-system/devlog/167442/devlog-3-basic-skill-range
Stone masons are hard at work creating beautiful sculptures for your games...
When you realize @Kupotepo is a champion among RM Web users, and it all makes sense now:

Forum statistics

Threads
100,465
Messages
976,273
Members
132,082
Latest member
nwr
Top