wintercounter / its-not-fair

0 stars 0 forks source link

Ghost AI #6

Open pablohpsilva opened 4 years ago

pablohpsilva commented 4 years ago

Based on Pac-Man Battle Royale, we have 3 types of Ghost movements:

Frightened - When the Pac-Man eats an energizer; Scatter - When the game just starts and the ghosts are in the center of the screen or when they have their first movements after leaving the prison; Chase - When the ghosts chase the Pac-Man.

For Frightened mode, we can keep the algorithm we have so far. Just random movements. Ghost have to be a little slower than usual.

For Scatter mode, we can limit the are of the ghost where they can walk. Could be the extreme corners of the screen, one for each ghost. This movement lasts for a few seconds before the Chase mode beggins.

For Chase mode, we could use a smart algorithm called A* (A-Star). This algorithm needs a world, a starting point and the place where it should go. We might be able to use this NPM package.

What do you guys think?

wintercounter commented 4 years ago

Yeah, good points. I already did some investigation on how the original Pacman ghosts work and I found this rules. Not sure if I want to the same logic (at the the end this shouldn't be a pacman clone). However the random is a good starting point yeah.

On Sun, Sep 15, 2019, 22:02 Pablo Henrique notifications@github.com wrote:

Based on Pac-Man Battle Royale, we have 3 types of Ghost movements:

Frightened - When the Pac-Man eats an energizer; Scatter - When the game just starts and the ghosts are in the center of the screen or when they have their first movements after leaving the prison; Chase - When the ghosts chase the Pac-Man.

For Frightened mode, we can keep the algorithm we have so far. Just random movements. Ghost have to be a little slower than usual.

For Scatter mode, we can limit the are of the ghost where they can walk. Could be the extreme corners of the screen, one for each ghost. This movement lasts for a few seconds before the Chase mode beggins.

For Chase mode, we could use a smart algorithm called A (A-Star) <https://en.wikipedia.org/wiki/A_search_algorithm>. This algorithm needs a world, a starting point and the place where it should go. We might be able to use this NPM package https://github.com/ahuangege/a-star-pathfind#readme.

What do you guys think?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/wintercounter/its-not-fair/issues/6?email_source=notifications&email_token=AAHLJQAXBH3LVMTCBBZL6S3QJ2IE5A5CNFSM4IW3ZHMKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HLOPNAA, or mute the thread https://github.com/notifications/unsubscribe-auth/AAHLJQHGWM7262GF4TKWLFDQJ2IE5ANCNFSM4IW3ZHMA .

wintercounter commented 4 years ago

The package you found is also interesting. I was simpler stuff but we can definitely give a shot.

Off: Andy meanwhile created a map editor in another edit. We can you that later for creating maps and testing stuff.

On Sun, Sep 15, 2019, 22:49 Vincze Viktor wintercounter@gmail.com wrote:

Yeah, good points. I already did some investigation on how the original Pacman ghosts work and I found this rules. Not sure if I want to the same logic (at the the end this shouldn't be a pacman clone). However the random is a good starting point yeah.

On Sun, Sep 15, 2019, 22:02 Pablo Henrique notifications@github.com wrote:

Based on Pac-Man Battle Royale, we have 3 types of Ghost movements:

Frightened - When the Pac-Man eats an energizer; Scatter - When the game just starts and the ghosts are in the center of the screen or when they have their first movements after leaving the prison; Chase - When the ghosts chase the Pac-Man.

For Frightened mode, we can keep the algorithm we have so far. Just random movements. Ghost have to be a little slower than usual.

For Scatter mode, we can limit the are of the ghost where they can walk. Could be the extreme corners of the screen, one for each ghost. This movement lasts for a few seconds before the Chase mode beggins.

For Chase mode, we could use a smart algorithm called A (A-Star) <https://en.wikipedia.org/wiki/A_search_algorithm>. This algorithm needs a world, a starting point and the place where it should go. We might be able to use this NPM package https://github.com/ahuangege/a-star-pathfind#readme.

What do you guys think?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/wintercounter/its-not-fair/issues/6?email_source=notifications&email_token=AAHLJQAXBH3LVMTCBBZL6S3QJ2IE5A5CNFSM4IW3ZHMKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HLOPNAA, or mute the thread https://github.com/notifications/unsubscribe-auth/AAHLJQHGWM7262GF4TKWLFDQJ2IE5ANCNFSM4IW3ZHMA .