Skip to content

A 7-game arcade of classics: 2048, Breakout, Flappy Bird, Minesweeper, Pac-Man, Snake, and Tetris....

License

Notifications You must be signed in to change notification settings

Aditya-Singhvi/Arcade-Repo

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Arcade Repo

This is the EOY project for the APCS/DS class we took in 10th grade.

Arcade Loading Screen

Contributors: utk003 (Utkarsh P), baboondude (Aditya S), rbuckets (Ray W), stephsplash30 (Eric Z)

What Is This?

This is a collection of 7 classic arcade games that we implemented in Java: 2048, Breakout, Flappy Bird, Minesweeper, Pac-Man, Snake, and Tetris.

Any of these games can be played directly using the code available in their respective folders. An encompassing arcade UI was planned at the time of the project, but was ultimately abandoned due to issues with completing the project before the deadline. As it is, the finishing touches on many of the games were put in minutes before the project presentation. If this project is ever revived, this UI will be an important project goal. For more information, see Planned Features.

2048

Not much needs to be said for this game. It works exactly like the original.

An interesting factoid about our implementation of this game is that, for a (not-so-)brief moment in its development, the tile movement was so severely messed up that tiles would collide with one another as they moved across the board. Luckily the issue was quickly patched out.

Main Code Contributors: Aditya, Utkarsh

Main Graphics Contributors: Aditya

Breakout

Once again, this game functions quite similarly to the original.

Beware a peculiar timing glitch where the ball can get stuck within the paddle.

Main Code Contributors: Ray

Main Graphics Contributors: Ray

Flappy Bird

This game also functions quite like the original.

The only significant deviation is this version's imperfect gravity (but that's a feature, not a bug 😉).

Main Code Contributors: Aditya

Main Graphics Contributors: Aditya

Minesweeper

Yet again, this game functions just like the original. (I'm beginning to sense a pattern here....)

One interesting quirk about this implementation is that, at one point, it was possible to lose immediately if you had the misfortune of clicking on a square with a mine on the first move. I believe that bug was patched, but don't quote me on it.

Main Code Contributors: Aditya

Main Graphics Contributors: Aditya

Pac-Man

Pac-Man is basically the only game from this collection which has significant differences from its original. The most significant is its level design (we created a custom level in honor of the class for which this project was created). However, the overall game mechanics, such as the ghosts' AIs and the power pellets, are still the same ones we know and love.

This game was also the most difficult to create, due in large part to the multi-threading we implemented to make the ghosts and Pac-Man run indepedently of the main rendering thread. For a group of 4 students who had just completed APCS, I must say I am quite impressed with the quality of the game (definitely no biases here 😇).

Main Code Contributors: Utkarsh

Main Graphics Contributors: Eric

Snake

Snake is also very faithful to the original. But, in all honestly, it's kind of hard to mess that up.

This is the only other game (to my knowledge) where we tried out multi-threading. I suppose that was mainly because it was a new toy for me to mess around with.

Main Code Contributors: Utkarsh

Main Graphics Contributors: Utkarsh

Tetris

Yet again, this implementation is quite faithful to the original. Slight deviations include the lack of SZ-protection (that is to say, the S and Z tetrads can appear indiscriminately, which is considered illegal for any official Tetris implementation as of 2001).

Though the final game on our list, Tetris is still impressive. However, this is the only game we did not create explicityly for this project. Instead, this code comes from the Tetris Lab we worked on for this course earlier that year.

Main Code Contributors: Aditya

Main Graphics Contributors: Aditya

"Planned" Features

These are some planned features. Well, as planned as features can be for a project which was discontinued and hasn't seen any work in ages.

An Arcade UI

An arcade UI would provide a unified interface for starting games, displaying high scores, and many other interesting features. We initially had plans for this, but they were discarded due to issues with meeting the project deadline with the games themselves.

Game Upgrades

2048

  • More tiles (the ones above 4096)

Breakout

  • Some bug fixes to make gameplay smoother
  • Color for the ball, bricks, and paddle

Flappy Bird

  • Gravity fix
  • Night/Dark Mode

Minesweeper

  • Different board sizes
  • Better input detection (eliminating misclicks)

Pac-Man

  • More levels
  • Smoother control of Pac-Man

Snake

  • Different (configurable) board sizes
  • Patch for a bug where moving opposite the current direction instantly kills the snake

Tetris

  • A more official rule set

How Can I Play?

For now, you will have to run each game individually from within its own folder by creating an instance of the game. However, the planned arcade UI will hopefully unify the process and make it much simpler (see Planned Features).

About

A 7-game arcade of classics: 2048, Breakout, Flappy Bird, Minesweeper, Pac-Man, Snake, and Tetris....

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%