Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ability to consume ghosts when game is in frightened state #17

Merged
merged 18 commits into from
Aug 15, 2023

Conversation

nucleartide
Copy link
Owner

@nucleartide nucleartide commented Aug 12, 2023

Challenge

In the classic game Pacman, Pacman is able to consume large "energizer" dots that temporarily switch the game into a "frightened" state:

test.mov

In this "frightened" state, ghosts move slowly in a randomized fashion. Pacman is also able to consume ghosts, after which their remaining eyes will double-time it back to the ghost house to be revived.

The goal of this pull request is to implement that behavior.

Changelog

  • Ghost state. Introduce an EGhostState that is a per-AGhostAiController piece of state.
  • Movement speeds. Customize movement speed when ghost is frightened, returning to ghost house, or navigating normally.
  • Passable check. Refine “passable” check for determining whether a ghost can navigate to a tile.
  • Overlap behavior. Pacman will eat a ghost if the ghost is frightened; Pacman will die if the ghost is not frightened.
  • Ghost visuals. In an eaten state, the ghost’s head and body are invisible, and only the eyes are visible.
  • Movement paths. Note that these are updated on state transitions as well as on path completion, as well as when the ghost is eaten (in order to plot a path back to the ghost house).
  • Revival. Upon entering the ghost house, the ghost’s body reappears and the ghost returns to a normal movement pattern.

Dev checklist

  • First draft. Implement a working first pass at the feature.
  • First playtest. Thoroughly playtest until you are confident that the feature (and existing features) work.
  • Final draft. Perform a general review of Files changed and revise anything that needs to be cleaned up.
  • Final playtest. After the changes above, playtest through the game one last time to ensure that everything works.

Release checklist

  • Fill out the pull request template. Self-explanatory.
  • Remember the GIFs. Include a recording of what's going on!
  • Merge and release. Merge into master, cut a new build in Unreal, and upload a release to Google Drive.
  • Priorities. Prioritize items on work board.
  • Next task. Tee up a pull request for the next feature.

@nucleartide nucleartide changed the title Add ability to consume ghosts when they are in frightened state Add ability to consume ghosts when game is in frightened state Aug 15, 2023
@nucleartide nucleartide marked this pull request as ready for review August 15, 2023 21:36
@nucleartide nucleartide merged commit a472025 into master Aug 15, 2023
@nucleartide nucleartide deleted the be-able-to-consume-ghosts branch August 15, 2023 21:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant