We wanted to make a party game that was both entertaining and easy to learn, so everyone could enjoy playing. PacMan is an iconic game that everyone has played at some point, and we realized it would be extremely fun if you could play against more than just ghosts and actually play head-to-head against other humans. Since everyone has smartphones and other devices capable of using the internet, we made the game interconnected on these devices. Integrating these devices with PacParty means that the game is now very intuitive and easy to pick up.

What it does

PacParty is our spin on the classic PacMan game, involving up to four players. Players spawn in a randomly generated arena, grab power ups, and compete with each other to see who can collect the most orbs by the end of the round. The game is designed in a way that one big screen serves as the display, where everyone can view the game as it progresses in real time. All other devices act as controllers to their respective Pac-Men.

How we built it

We used Cloud9 to collaborate on our project and to host our webpage. We used JavaScript objects to manipulate Pac-Men wandering around a grid filled with walls and power-ups. The JavaScript can be run on any web-enabled device. Throughout the development process, we used a series of languages such as JavaScript, HTML, CSS, and protocols like Ajax.

Accomplishments that we're proud of

We're extremely proud of our customized map-generating algorithm. We took the foundation of a maze-generating algorithm, but then modified it to work with Pac-Man- that meant removing dead ends where players could get stuck and making sure no sections were completely separated from the rest. Now, we are able to quickly generate Pac-Man-worthy maps with variable wall density and dimensions.

Challenges we ran into

The code for the actual on-screen map was structured as a grid of squares, and each square was either set to be impassable or passable. However, the map-generating algorithm returned a grid where every _ square _ was passable, but the squares had thin walls in between them. Converting between these two data structures was difficult and both parts of the code had to undergo significant changes to be compatible.

What we learned

We learned a lot about better usage of Javascript and PHP, and how to integrate the two. A notable topic was asynchronous functions in JavaScript. We also learned about the theory behind maze generation and how to modify mazes to have or not have certain features.

What's next for PacParty

We plan to further our game by adding more power ups, such as invincibility and speed boosts. In addition, we want to upgrade this game to be able to incorporate up to 8 players. After doing so, we plan release it to the internet.

Share this project: