Pac Pin Pong (C# / Mono) screenshot 1
N

Publisher

noneedshow

Pac Pin Pong (C# / Mono)

Game Kits
Multiplayer C# VFX Sound Shaders Spawner 2D Demo

This is a quality 2D local multiplayer game comprising Pacman, Pinball and Space Invader, it's a great project to demonstrate what Mono Godot can do, it's useful as it has a lot of common game concept like shader usage, spawners, VFX, sound effect and more, download it and try for yourself!

Issues MIT License

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

  About The Project
  
    Built With

Gameplay Demo

  Getting Started (Building & Exploring)
  
    Building
    Exploring

  Getting Started (Playing)
  
    Download for MacOS
    Download for Window
    Play On Web
    Game Explained
    Controls

Other ideas for the game
Contributing
License
Contact
Acknowledgements & Credits

About The Project

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, 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 and some sound effect from freesound.org)

Built With ❤️ Using

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 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

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 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 ****
    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 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 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

Acknowledgements & Credits