- INTRODUCTION
- CONFIGURATION
- CONTROLS
3.1 Menu Navigation
3.2 Game Navigation - MENUS
4.1 Main Menu
4.2 Options
4.3 Help
4.4 Pause - GAMEPLAY FEATURES
5.1 Difficulties
5.2 Player GUI
5.3 Leaderboard
5.4 Ghost Algorithms
5.5 Score/Points System - WALK THROUGH
- ADDITIONAL NOTES
7.1 Issues with sound
7.2 Issues with AreaBehaviour and actors - FINAL WORDS
- REFERENCES
9.1 Art
9.2 Sound
9.3 Animations
9.4 Inspiration
We are glad to present to you our project, SuperPacman. We added our own twist to the game, including menus, gameplay tactics
and so much more.
This document explains everything related to the game and the CONCEPTION.md explains to code aspect of the game.
-
Open terminal and set directory to project root
-
Execute play.sh
- Option 1:
bash play.sh
- Option 2:
/bin/bash play.sh
- Option 3:
chmod +x play.sh ./play.sh
- Option 4: Run script on IDE
- Option 1:
- Press
UP
andDOWN
arrow keys to move up and down the selection of options - Press
ENTER
to execute the current selection or to choose sub options - Press
ESC
to pause the game
- Pressing
SHIFT
+CTRL
+OPTION
together activates Debug Mode (can be activated only in menus), to turn it off, the game must be quit and reopened
- Use
UP
,DOWN
,LEFT
and RIGHT arrow keys to move pacman - While in Debug Mode,
- Pressing
SHIFT
+S
to activate Speed mode (player movement is boosted). Speed mode can be turned off the same way it was turned on. - Pressing
SHIFT
+G
to activate God mode (player becomes invincible). God mode can be turned off the same way it was turned on.
- Pressing
Option | Description |
---|---|
Play | Starts the game |
Options | Shows the configurable options |
Help | Show help page |
Quit | Terminates the application |
Leaderboard | Shows leaderboard page with the 10 best games ranked by score |
Credits | Show the credits page |
Option | Description |
---|---|
Difficulty | Choose a game difficulty from Easy, Normal, Hard and Impossible |
Show FPS | Toggles the fps counter on and off |
Sound | Toggles the sound on and off |
Glow effect | Toggles the glow of sprites on and off |
Camera smoothing | Choose how the camera movement is smoothed (None, Smooth, Very Smooth) |
Camera Shake | Toggles camera shake on and off |
Clear Leaderboard | Clears the leaderboard and deletes tmp files linked to it |
Restore to Default | Resets the game options and deletes tmp files linked to it |
Back | Returns to main menu |
Option | Description |
---|---|
More | Provides a more detailed description |
Option | Description |
---|---|
Resume | Resumes the game |
End Game | Ends the game without saving it |
- EASY
- difficulty does not increase over time
- ghosts move slowly
- ghosts become frightened for 15 seconds
- ghosts are not the smartest
- NORMAL
- difficulty increases over time*
- ghosts move at a normal speed (16 to 12)
- ghosts become frightened for 10 seconds (stays at 10)
- ghosts are a bit smarter
- HARD
- difficulty increases over time
- ghosts move at a fast speed, up to the same as the player (14 to 10)
- ghosts become frightened for 8 seconds (8 to 6)
- ghosts are smart
- IMPOSSIBLE
- difficulty increases over time
- ghosts move at a super fast speed, up to a faster speed than the player (12 to 8)
- ghosts become frightened for 6 seconds (6 to 4)
- ghosts are even smarter
*(it increases the longer you stay in the same level and resets each time you go to another level)
To complete the game you must finish level 3, by going through level 0, 1 and 2. You have 5 lives, and you must avoid the ghosts Each level has a certain task you must complete before you can advance to the next level:
Level | How to complete |
---|---|
level0 | Pick up the key |
levelEPFL (bonus) | Pick up all 4 keys |
level1 | Pick up all pellets |
level2 | Pick up all pellets and 4 keys |
level3 | Pick up all the pellets |
Bonus Level: In level 0, you have the choice to go immediately to level 1 or to pass by the EPFL level. By passing though the bonus level, you can obtain more points, therefore a higher score. However, be prepared for this EPFL level or you will get caught off guard.
Objective: Pick up all pellets in each level and all the cakes to get the highest score. Time is being tracked so be fast! And most importantly... HAVE FUN!!! :)
You may experience issues with the audio of the game. The audio might make the game slow due to slow loading of audio files. For some computers the audio might not work. We asked how to solve this on Piazza. https://piazza.com/class/ketlp0hratwg5?cid=1983
To combat this problem, most of the audio has been compressed to its limits, and some code has been modified (see CONCEPTION.md). However, this was not sufficient, and audio processing is still very slow... Nevertheless, the game is still very enjoyable.
While playing the game, in some very specific conditions, behavior between actors can be skipped. Here is a better description of the problem on Piazza: https://piazza.com/class/ketlp0hratwg5?cid=2240
This can also happen while unregistering actors, making the cell in question contain the old behavior. To illustrate, when pacman dies, it can happen that the ghost who killed him might not leave the cell properly. Therefore, when Pacman comes in contact with the cell where he died, he dies again...
We feel fulfilled as this project comes to an end. There is of course a lot of room for improvement, but completing this
game allowed us to better understand so many concepts.
We would like to thank you for taking the time to go through our project.
We rest at your disposal to answer any questions. Our e-mails:
leonard.cseres@epfl.ch, karlis.velins@epfl.ch
Leonard and Karlis
- jdaster64 - SuperPacman sprites: https://www.spriters-resource.com/game_boy_gbc/mspacman/sheet/25056/
- Arcade pixel art: https://www.wallpaperflare.com/ahoy-arcade-arcade-machine-space-invaders-pac-man-artwork-wallpaper-udovr
- "Emulogic" font: https://www.classicgaming.cc/classics/pac-man/fonts
- Arrow keys pixel art: http://pixelartmaker.com/art/7efa119103ffc71
- Inthegrave & NamelessSpriter - Pacman sounds: https://www.sounds-resource.com/arcade/pacman/sound/10603/
- Menu sounds: https://kenney.nl/assets/interface-sounds
- Mathematical easing functions: https://easings.net
- Hyago Oliveira - Pacman in Unity with post processing: https://connect.unity.com/p/pac-man-g
- Retro Game Mechanics Explained - Pac-Man Ghost AI Explained: https://www.youtube.com/watch?v=ataGotQ7ir8
- Retro Game Mechanics Explained - Pac-Man Kill Screen Explained: https://www.youtube.com/watch?v=NKKfW8X9uYk