Basics.

  • Team:

    Group Project

  • Role:

    Developer

  • Dates:

    February 2019 - March 2019

  • Location:

    Santa Clara University

  • Technologies Used:

    Java

The Project

The goal of the project is to recreate the basics of the classic Pac-Man game using Object oriented analysis design approach. We opted to use the MVC (model-view-controller) software design pattern for the project. This allows us to code in parallel and create code libraries that we can reuse. By making a few class diagrams and keeping a list of functions that we are using, we were able keep the project simple and avoid redundant features.

Requirements

  • Functional:

    • The game should function like the original Pac-Man game

  • Non-Functional:

    • Reliability, the game should not be lagging when being played

    • Scalability, it should be easy to implement new levels and sprites


What I did.

I programmed a 2D matrix to represent the game board using numbers and representing those numbers with their respective images. The pac-man and ghosts are then overlaid over the 2D map creating the illusion of the sprites being on in the game board itself.

Screen Shot 2019-10-30 at 2.17.28 AM.png

PacmanClassDiagram.jpg

I created a class diagram that details the relationship between all the classes and also developed code for the controller which controls the position of the pac-man on the board.

Additionally, I was responsible for compiling the teams code together and debugging merge issues when updating on git.


Conclusion.

By the end of the project, we were able to to satisfy the requirements we have set for ourselves. The final product looks like a classic game of pac-man. The game was reliable because it was not laggy when played due to the implementation of multithreading. Finally, our code library makes it easy to implement new ghost sprites and assign different AI behaviors to them.