aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2022-03-31 11:40:41 +0200
committerSven Gothel <[email protected]>2022-03-31 11:40:41 +0200
commitea5da1cead97fac67bf280afd556cede62c403de (patch)
tree3c56a8ac75e84f446be14e0d16614b961e6a3809 /README.md
parentd01cb061ea43c3a38ccadad556819953c98450e8 (diff)
README .. refinev0.2.3
Diffstat (limited to 'README.md')
-rw-r--r--README.md31
1 files changed, 22 insertions, 9 deletions
diff --git a/README.md b/README.md
index eab2ec1..0e7d648 100644
--- a/README.md
+++ b/README.md
@@ -10,8 +10,18 @@ This project likes to demonstrate a complex system written in modern C++
for our computer science class.
Besides management of animated sprite graphics, maze environment and tile positioning,
+animation speed synchronization,
the interesting part might be the ghost's state machine and their movements.
+Potential code sections of interest
+- Selecting a new direction [ghost_t::set_next_dir()](../tree/src/ghost.cpp#n272)
+- Selecting the target [ghost_t::set_next_target()](../tree/src/ghost.cpp#n138)
+- Pellet counter to leave home [ghost_t::pellet_...()](../tree/src/ghost.cpp#n771)
+- Level Specification [game_level_spec_t](../tree/src/game.cpp#n122)
+- Keyframe interval for animation [keyframei_t](../tree/include/pacman/utils.hpp#n96)
+- Random number engine [random_engine_t](../tree/include/pacman/utils.hpp#n349)
+
+## Previous Work
To implement the original pacman game behavior like weighted tile collision,
ghost algorithm, etc. - we have used the following documents for reference
- Jamey Pittman's [The Pac-Man Dossier](https://www.gamedeveloper.com/design/the-pac-man-dossier)
@@ -21,6 +31,13 @@ ghost algorithm, etc. - we have used the following documents for reference
The implementation is inspired by [Toru Iwatani](https://en.wikipedia.org/wiki/Toru_Iwatani)'s
original game [Puckman](https://en.wikipedia.org/wiki/Pac-Man).
+## License
+This project is for educational purposes and shall be distributed in source form only.
+
+This project is licensed under the MIT license.
+
+Namco holds the copyright on the original Puckman since 1980.
+
## Supported Platforms
C++17 and better where the [SDL2 library](https://www.libsdl.org/) is supported.
@@ -105,20 +122,17 @@ mpv video/puckman-01.mp4
### Look-Ahead Decision Point
As stated in [The Pac-Man Dossier](https://www.gamedeveloper.com/design/the-pac-man-dossier),
-the ghosts select their next direction one tile ahead of an intersection.
+the ghosts select their next direction *one tile ahead of an intersection*.
This current code queries a decision when reaching the center of every tile, i.e.:
- detecting whether its just an alley to move forward, or
- to make a decision on an intersection - looking ahead on all valid exits and comparing the distance.
-Code sections of interest
-- Selecting a new direction [ghost_t::set_next_dir()](../tree/src/ghost.cpp#n272).
-- Selecting the target [ghost_t::set_next_target()](../tree/src/ghost.cpp#n138).
-
-Hence this code utilize a more current Puckman position, in case the original code
-has such a double look-ahead implemented using an older Puckman position.
+Hence this code utilize a more current Puckman position.
-This needs to be berified.
+It has to be verified whether the original code
+has such a double field look-ahead implemented
+using a less current Puckman position when arriving on the intersection.
### Bugfix Mode
@@ -138,7 +152,6 @@ If false, a more accurate implementation, the pacman bugfix, is used:
- pinky's up-traget to be 4 ahead as intended
- ...
-
## Implementation Status
### Done