[![Issues][issues-shield]][issues-url] [![MIT License][license-shield]][license-url]

Main Logo

Pac-Pin-Pong

A fun local multiplayer game comprising Pacman, Pinball and Space Invader into one
Learn about the game »

View Demo · Report Bug · Request Feature

Table of Contents

  1. About The Project
  2. Gameplay Demo
  3. Getting Started (Building & Exploring)
  4. Getting Started (Playing)
  5. Other ideas for the game
  6. Contributing
  7. License
  8. Contact
  9. Acknowledgements & Credits
## About The Project ![](readme%20source/game%20title.png) Recently I've been dabbling in Godot for quite a bit, it's a very capable engine for 2D and I really like static language that's why I've chosen C# as my project language, there aren't a lot of quality C# Godot demo out there that's why I've inclined to make one to contribute back to Godot. My main inspiration came from [this video by Alpha Beta Gamer](https://www.youtube.com/watch?v=8TOGBZp8_Ao&list=WL&index=9&t=4s), I think it's very clever to combine multiple childhood retro games into one that's why I wanted to challenge myself to recreate the same game. **You can do whatever you want with this project.** Most of the assets and audio is created by me, when it's not, it's under cc0 license (like [kenney explosion fx](https://kenney.nl/) and some sound effect from freesound.org) ### Built With ❤️ Using * [Godot Mono](https://godotengine.org/) * [Affinity Designer](https://affinity.serif.com/en-us/designer/) * [Ableton](https://www.ableton.com/en/) _**Disclamer**: I'm not affiliated with any of the companies I just think that they're great and they provide really valuable tools for me that's why I wanted to give them credit_ ## Gameplay Demo

## Getting Started (Building & Exploring) ### Building Just clone this repo and use [Godot Mono](https://godotengine.org/) to open the project folder "3 retro game in 1" and you'll be good to go. Check out Godot website if you don't how to setup mono environment ```sh git clone https://github.com/LeeTeng2001/Pac-Pin-Pong.git ``` ### Exploring '3 retro game in 1/Scenes/World.tscn' is the main entrance for the game, you can see examples like how player stats are stored, shader effects, ghost effects, power up and more! Happy exploring! ## Getting Started (Playing) ### Download Instruction for MacOS Because of the codesign issue on Mac, I recommend you to download the whole project and build it locally, otherwise if you know your way around you could download the latest release and code sign in order to play the game. 1. Visit [release page](https://github.com/LeeTeng2001/Pac-Pin-Pong/releases) and downlaod the latest release (for example **Pac-Pin-Pong-v1.0.0-macos.dmg**) 2. Open the dmg file and drag the **Pac-Pin-Pong** to your machine, preferably to **/Applications** folder 3. Open the Terminal app and insert the following command, you can drag the application to the terminal to auto fill the **\** ```bash xattr -rd com.apple.quarantine sudo codesign --force --deep --sign - ``` 4. Double click the application to run ### Download Instruction for Window 1. Visit [release page](https://github.com/LeeTeng2001/Pac-Pin-Pong/releases) and downlaod the latest release (for example **Pac-Pin-Pong-v1.0.0-window.zip**) 2. Extract the zip file, double click the exe file to play ### Play on Web 1. Visit [itch io](https://lunafreya2001.itch.io/pac-pin-pong) and hit play ### Game Explained I will refer left hand side player as player 1 and vice versa Each player have two shoot buttons, one of them shoots the Space Invader bullet, the other shoots the Pacman towards the grid. In addition, there's also two sets of movement keys for each player, one of them controls the Pacman during his journey in the grid and the other controls the pinball pad movement. The goal is to survive longer than the other player, every time you failed to catch the Pacman, run out of action time, collide with ghost without a buff, collide with bullets and etc. will deplete your health. You can also collect the points inside the Pacman grid to restore your health and bullets, successfully catching Pacman from the other player also restores health and bullets. At the same time, the Pacman points will make your Pacman moves faster which means it'll become really hard to control as time progresses. Every time the game difficulty increases, the music will become more intense, as indicated by the VFX along with a Pacman map refresh. There's also powerup inside the grid that will either kill a random ghost, make them invisible, make you strong enough to eat them or a random effect. It's best to experience it yourself! I have a blast playing this game with my friend. ### Controls
Player 1
W, A, S, D to move the pinball pad
C, F, V, B to move the Pacman
E to shoot pinball bullet
Space to shoot Pacman
Player 2
Up, Down, Left, Right to move the pinball pad
K, M, ,, . to move the Pacman
' to shoot pinball bullet
Enter to shoot Pacman
_If you find the control awkward you could always download the source file to change the controls internally, maybe I'll add a control panel in the upcoming release_ ## Other ideas for the game * Camera shaking effect ✅ * Configure current difficulty ✅ * More sound effects ✅ * Setting menu for adjusting game volume * Main menu for picking difficulty * AI opponent ## Contributing Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are welcomed. 1. Fork the Project 2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`) 3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`) 4. Push to the Branch (`git push origin feature/AmazingFeature`) 5. Open a Pull Request ## License Distributed under the MIT License. See `LICENSE` for more information. ## Contact Email: leeteng2001@sjtu.edu.cn Project Link: [https://github.com/LeeTeng2001/Pac-Pin-Pong](https://github.com/LeeTeng2001/Pac-Pin-Pong) ## Acknowledgements & Credits * [Alpha Beta Gamer for the game idea](https://www.youtube.com/watch?v=8TOGBZp8_Ao&list=WL&index=9&t=4s) * [Kenney for explosion sprites](https://kenney.nl/) * [xyezawr for explosion sprites](https://xyezawr.itch.io/free-pixel-effects-pack-4-explosions) * [V-ktor for explosion sound](https://freesound.org/people/V-ktor/sounds/435416/) * [MATRIXXX_ for retro dead fx](https://freesound.org/people/MATRIXXX_/sounds/495541/) * [othneildrew for this amazing readme template](https://github.com/othneildrew/Best-README-Template) [contributors-shield]: https://img.shields.io/github/contributors/LeeTeng2001/Pac-Pin-Pong.svg?style=for-the-badge [contributors-url]: https://github.com/LeeTeng2001/Pac-Pin-Pong/graphs/contributors [stars-shield]: https://img.shields.io/github/stars/LeeTeng2001/Pac-Pin-Pong.svg?style=for-the-badge [stars-url]: https://github.com/LeeTeng2001/Pac-Pin-Pong/stargazers [issues-shield]: https://img.shields.io/github/issues/LeeTeng2001/Pac-Pin-Pong.svg?style=for-the-badge [issues-url]: https://github.com/LeeTeng2001/Pac-Pin-Pong/issues [license-shield]: https://img.shields.io/github/license/LeeTeng2001/Pac-Pin-Pong.svg?style=for-the-badge [license-url]: https://github.com/LeeTeng2001/Pac-Pin-Pong/blob/main/LICENSE