• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Development: The Follow Me Script

Blah

Free supporter
1,924
Posts
11
Years
Yes. The part where every single tile that changes how you move has to be changed. Think warps (going into houses, coming out, going up stairs, going down them), ledges, ice tiles, teleport pads, holes in the floor, surfing, flying... The list goes on and on. I solved most of the major problems, but there's no way that anyone is going to do ALL of that. The hack is usable in its current state (just ask GoGo), and as far as I am concerned, is a solved problem.
It's disappointing how no one else contributes or ports (besides that one time where it was stolen) what work I have already done, despite it being open source - I have NO FORKS thus far. I might become more enthusiastic if there were some input and more importantly, contribution, other than the odd request for updates here and there.

If only the link to the source was easier to find. It was in an arbitrary post by daniilS somewhere in this thread. I wish the front post had it there.

Anyways, I don't like the algorithm because it lends itself for unneeded hooks. I think you should look at player sprite's displacement rather than actually registered movement commands. Then you can evade collision detection entirely. X-Y of the player is already stored in RAM, so storing a copy of "last x-y" somewhere surely can't be hard, right?
Only apply a movement to the sprite if the X-Y of the player is changed, or the player talks to it.

For ledges, I suggest trying to freeze the player for half a second until the NPC catches up. I know it feels a little awkward, but unless you can speed the NPC up, I don't see an alternative. :C

I'm also stumped on how you'd get warping to work. It probably would be easiest if the follower was just spawned 1 tile behind the player, but left invisible. Then when the player takes a step, it will show itself and do a movement in the usual way.

The only collision detection you'd need is to make sure NPCs don't walk through the follower (which you already have :D ).

That's what I can gather/think about this follow me implementation. I sorta want to make my own, but daniilS has convinced me that the wheel doesn't need remaking.
 

Zehn

[color=red][font=Foto Serif]Sacred[/font][/color][
988
Posts
9
Years
But FBI, the wheel can always be rounded more
My suggestion for the warp is to spawn the Ncp underneath you but invisible. When you take the first step the invisiblity is lifted and movement unlocked
 

Touched

Resident ASMAGICIAN
625
Posts
9
Years
  • Age 122
  • Seen Feb 1, 2018
If only the link to the source was easier to find. It was in an arbitrary post by daniilS somewhere in this thread. I wish the front post had it there.

Anyways, I don't like the algorithm because it lends itself for unneeded hooks. I think you should look at player sprite's displacement rather than actually registered movement commands. Then you can evade collision detection entirely. X-Y of the player is already stored in RAM, so storing a copy of "last x-y" somewhere surely can't be hard, right?
Only apply a movement to the sprite if the X-Y of the player is changed, or the player talks to it.

For ledges, I suggest trying to freeze the player for half a second until the NPC catches up. I know it feels a little awkward, but unless you can speed the NPC up, I don't see an alternative. :C

I'm also stumped on how you'd get warping to work. It probably would be easiest if the follower was just spawned 1 tile behind the player, but left invisible. Then when the player takes a step, it will show itself and do a movement in the usual way.

The only collision detection you'd need is to make sure NPCs don't walk through the follower (which you already have :D ).

That's what I can gather/think about this follow me implementation. I sorta want to make my own, but daniilS has convinced me that the wheel doesn't need remaking.

I'll try steal the thread :D

I do use displacement - that's the "collision detection", but you need to register the movement type to get the correct animation to play, otherwise it looks weird, you can't have one or the other.

Freezing on ledges looks odd and feels choppy. We need a way to move more pixels while playing the same animation or something.

Warping DOES work, and it's easy to spawn an OW. Its getting it to stay in sync after the warp that's the issue.

EDIT:

But FBI, the wheel can always be rounded more
My suggestion for the warp is to spawn the Ncp underneath you but invisible. When you take the first step the invisiblity is lifted and movement unlocked

This is exactly what I do. The trouble is finding out when to hide the NPC and how to move it after the warp. There are different kinds of warps that make this kind of simplistic solution fail. The main problem with implementing this is that there are so many exceptions, so you can't just have a general rule unfortunately.
 
Last edited:
5,256
Posts
16
Years
I'll try steal the thread :D

Seeing as you've actually achieved what this thread is for, and as the OP hasn't been online for quite some time, I've actually gone ahead and made you the OP of the thread. It'd be great if you could add the relevant information to the OP, feel free to replace what is in the OP (it will be archived in the revisions if anything goes sour anyway). Enjoy :P
 
46
Posts
9
Years
  • Age 32
  • Seen Dec 16, 2015
and as far as I am concerned, is a solved problem.

Keep telling yourself that if it helps you sleep at night.

I sorta want to make my own, but daniilS has convinced me that the wheel doesn't need remaking.

Yeah, GoGo and danillS are on some mission to convince people that Follow Me has been figured out completely when it hasn't at all. I guess they'd rather everyone just circle jerk in this thread and accomplish nothing for 5 years like is the case than have you go and actually break new ground.

Seeing as you've actually achieved what this thread is for

The thread was for a working Follow Me script. That has not been done. All that's been done is a useless poor man's version that is the equivalent of the dude who walks you to Brock's gym in FR.
 

daniilS

busy trying to do stuff not done yet
409
Posts
10
Years
  • Age 24
  • Seen Jan 29, 2024
Keep telling yourself that if it helps you sleep at night.



Yeah, GoGo and danillS are on some mission to convince people that Follow Me has been figured out completely when it hasn't at all. I guess they'd rather everyone just circle jerk in this thread and accomplish nothing for 5 years like is the case than have you go and actually break new ground.



The thread was for a working Follow Me script. That has not been done. All that's been done is a useless poor man's version that is the equivalent of the dude who walks you to Brock's gym in FR.

Excuse me?
Follow me, the way Touched completed it, has succeeded in fulfilling its purpose: creating an NPC that dynamically follows the player in certain areas, for example those used in Platinum. But nobody ever said it's fully complete. I am NOT on any mission to convince people of anything—I've even had a go at fixing ledges, but put it on hold because of other projects.
The goal of this thread was creating an NPC that follows the player. That has been done. It is in no way close to any kind of script, neither is it to anything else you've called it. The purpose of this thread at this moment is for people to write additions for the existing method and post feedback. Now if you really feel like nothing has been accomplished at all and it's that easy to do, why don't you just do it yourself and share it with the people for everybody to see? Otherways, if you have nothing useful to contribute, then I recommend you to print out your post, roll it up as tightly as possible, and maybe shove it up somewhere.
 
Last edited:

GoGoJJTech

(☞゚ヮ゚)☞ http://GoGoJJTech.com ☜(゚ヮ゚☜)
2,475
Posts
11
Years
Keep telling yourself that if it helps you sleep at night.



Yeah, GoGo and danillS are on some mission to convince people that Follow Me has been figured out completely when it hasn't at all. I guess they'd rather everyone just circle jerk in this thread and accomplish nothing for 5 years like is the case than have you go and actually break new ground.



The thread was for a working Follow Me script. That has not been done. All that's been done is a useless poor man's version that is the equivalent of the dude who walks you to Brock's gym in FR.

And how much have you contributed in the last 5 years?
 

Touched

Resident ASMAGICIAN
625
Posts
9
Years
  • Age 122
  • Seen Feb 1, 2018
The thread was for a working Follow Me script. That has not been done. All that's been done is a useless poor man's version that is the equivalent of the dude who walks you to Brock's gym in FR.

I take it you didn't build it then. I really have to make those instructions on how to "compile" it to help noobs like you.

I guess they'd rather everyone just circle jerk in this thread and accomplish nothing for 5 years like is the case than have you go and actually break new ground.

Oh, and it was only a circle jerk until I came.
 
Last edited:
46
Posts
9
Years
  • Age 32
  • Seen Dec 16, 2015
Follow me, the way Touched completed it, has succeeded in fulfilling its purpose: creating an NPC that dynamically follows the player in certain areas, for example those used in Platinum.

That wasn't its purpose. That just conveniently became its purpose once Touched realized he couldn't figure out a better version. You know damn well this wasn't why Follow Me was strived for. This version is 100% useless to anyone not named GoGoJJTech.
 

daniilS

busy trying to do stuff not done yet
409
Posts
10
Years
  • Age 24
  • Seen Jan 29, 2024
That wasn't its purpose. That just conveniently became its purpose once Touched realized he couldn't figure out a better version. You know damn well this wasn't why Follow Me was strived for. This version is 100% useless to anyone not named GoGoJJTech.

This version is useful to anybody who may want a temporary follow me in their hack. And to anybody who—unlike you—is willing to contribute to the current implementation. Touched hasn't killed the project, he's just been quite busy. You, on the other hand, have shown everybody an excellent example of stupidity and ignorance.
 

Touched

Resident ASMAGICIAN
625
Posts
9
Years
  • Age 122
  • Seen Feb 1, 2018
That wasn't its purpose. That just conveniently became its purpose once Touched realized he couldn't figure out a better version. You know damn well this wasn't why Follow Me was strived for. This version is 100% useless to anyone not named GoGoJJTech.

Why so bitter? Why don't you join us on our IRC (#rhm on irc.linkandzelda.com) and we can work this out in a civilised fashion?
 
46
Posts
9
Years
  • Age 32
  • Seen Dec 16, 2015
This version is useful to anybody who may want a temporary follow me in their hack. And to anybody who—unlike you—is willing to contribute to the current implementation. Touched hasn't killed the project, he's just been quite busy. You, on the other hand, have shown everybody an excellent example of stupidity and ignorance.

It's called honesty and not sugar-coating things. Sorry if the truth hurts.

Why so bitter? Why don't you join us on our IRC (#rhm on irc.linkandzelda.com) and we can work this out in a civilised fashion?

There is no bitterness. Look, you say the only thing separating us from the final working Follow Me is the tediousness of editing every tile. Well then let's make a damn army out of the interested parties in this thread (including me) and split up the work. Anything is better than this denial that you guys have been in for 5 years.
 

Touched

Resident ASMAGICIAN
625
Posts
9
Years
  • Age 122
  • Seen Feb 1, 2018
There is no bitterness. Look, you say the only thing separating us from the final working Follow Me is the tediousness of editing every tile. Well then let's make a damn army out of the interested parties in this thread (including me) and split up the work. Anything is better than this denial that you guys have been in for 5 years.

That's why I open sourced it. I was hoping people would do just that, but alas - no pull requests. If you're as committed as you say you are, you can write (constructive) issues and pull requests. We're completely willing to help if you don't know what to do, as I said, you can join the chat on IRC. But we don't like to be outright attacked like this - keep in mind I've invested effort into this project and nothing came out of that effort, so I'm perfectly entitled to put it on the backburner. Put some effort into in and maybe you'll find me more will to put more effort in.

Also, what's this about 5 years. I've barely even been here 1 year...
 
218
Posts
10
Years
  • Seen Nov 12, 2021
I'll try steal the thread :D

I do use displacement - that's the "collision detection", but you need to register the movement type to get the correct animation to play, otherwise it looks weird, you can't have one or the other.

Freezing on ledges looks odd and feels choppy. We need a way to move more pixels while playing the same animation or something.

Warping DOES work, and it's easy to spawn an OW. Its getting it to stay in sync after the warp that's the issue.

EDIT:



This is exactly what I do. The trouble is finding out when to hide the NPC and how to move it after the warp. There are different kinds of warps that make this kind of simplistic solution fail. The main problem with implementing this is that there are so many exceptions, so you can't just have a general rule unfortunately.


Is it possible to just hide the follower anytime there is a warp ? You hide it in the same tile of the hero and when we move, the follower appears where the hero was. I know it simplistic but sometimes it works x)
 

Touched

Resident ASMAGICIAN
625
Posts
9
Years
  • Age 122
  • Seen Feb 1, 2018
Is it possible to just hide the follower anytime there is a warp ? You hide it in the same tile of the hero and when we move, the follower appears where the hero was. I know it simplistic but sometimes it works x)

I did this for normal warps but it doesn't work for animated stairs and other stuff. Additionally the warping hooks have some bugs where it continues to function even when there is no follower.
 

Touched

Resident ASMAGICIAN
625
Posts
9
Years
  • Age 122
  • Seen Feb 1, 2018
Started a complete rewrite in collaboration with FBI.



Keep in mind that this is a work in progress.

The script with Oak in the beginning is unmodified; the follower automatically copies the player even during scripts. The follower is a standard NPC event, and as such can have a behaviour (this one had "Walk around", as seen in the beginning of the video) and a script. All you need to do is write the map number, map bank and person event number (from Advance Map) to a place in the RAM and that NPC will follow you until you write zeroes there instead.

I blame Bulbasaur (and the RNG) for my loss to Gary.
 

Blah

Free supporter
1,924
Posts
11
Years
Started a complete rewrite in collaboration with FBI.



Keep in mind that this is a work in progress.

The script with Oak in the beginning is unmodified; the follower automatically copies the player even during scripts. The follower is a standard NPC event, and as such can have a behaviour (this one had "Walk around", as seen in the beginning of the video) and a script. All you need to do is write the map number, map bank and person event number (from Advance Map) to a place in the RAM and that NPC will follow you until you write zeroes there instead.

I blame Bulbasaur (and the RNG) for my loss to Gary.

You forgot the Pikachu picture I requested after my pink, bold, italic and underlined name.

I can't believe you actually mapped out an entire building and mountain for the stairs and warps, I'm impressed :P

For those wondering, this has moved from ASM to C, cause Touched is lazy to change registers after changes. Currently, we need to finish some bug fixing, surfing and falling through holes. Afaik, Touched finished biking :)

If you have certain requests or ideas let us know. The project is open source at Touched'd github if you're using Windows you'll have to go to hell and come back to build it though.
 
Back
Top