Skip to content

Releases: iika-a/Pong

v1.2.3 - Update Checker & No Java Install

18 Jan 21:59
Compare
Choose a tag to compare

Pong 1.2.3

I feel like a lot of people ignore the installing Java portion of running the game. Now, you don't have to! Just run the files for your respective OS and play the game! Also, the game automatically checks for updates now.

Changelog

Update Checker

  • The game asks GitHub for the latest version. If the version does not match, it prompts the user to update the game.
  • 2 buttons are on the update menu.
    • Exit: Exits the game.
    • Open GitHub: Opens GitHub in your browser to the latest release.

No Java Install

  • README.md has been updated to reflect the new changes. However, running the game is pretty intuitive so it might not even need to be read.
  • I tried making a Linux version of the game, but my Linux server, being aarch64 and not x86_64, messed up many ChatGPT responses on making a Linux port. This led to me giving up for this version. However, I will try to add Linux ports in future attempts.

v1.2.2

30 Dec 04:33
Compare
Choose a tag to compare

Pong 1.2.2

Changelog

Bugfixes

  • Fixed second ball being lost when replaying the game in Double Ball mode.

v1.2.1

30 Dec 01:41
Compare
Choose a tag to compare

Pong 1.2.1

Changelog

Bugfixes

  • Fixed Randomize Ball Angle powerup being unfair due to it only ever targeting one side.

v1.2.0 - New Collision System

29 Dec 22:16
Compare
Choose a tag to compare

Pong 1.2.0

I created a new collision system for the game, decoupling it from the rendering logic. I added a few stuff and fixed a few bugs along the way. Hopefully, I can start working on online mode now!

Changelog

Collision System

  • Contains all the collision logic rather than combining it with rendering logic
  • Allows for easier handling of collisions and creating new collision types
  • Implements a newly created interface for collisions

Other

  • The game is now 1920x1080 instead of 1280x720
  • Removed obstacleList, obstacles are now stored in gameObjectList
  • gameObjectList and powerUpList are now CopyOnWriteArrayLists instead of ArrayLists
  • Created a package structure for each class
  • No more persistent "main ball" in gameObjectList, all balls are treated equally
  • Ball angles are now allowed to be in quadrant 3 along with quadrant 1

Bugfixes

  • Fixed paddle y-position not being initialized correctly, causing incorrect calculations
  • Fixed geometry errors with the ball, causing it to flip randomly
  • Fixed index errors when clearing gameObjectList, leaving some objects behind

v1.1.0 - New Game Loop

06 Dec 02:21
Compare
Choose a tag to compare

Pong 1.1.0

I revamped the game loop system to replace the old Swing Timer, which most likely broke the game on Macs as they run differently. A few extra features and bug fixes were also added.

Changelog

Game Loop

  • (Basic) proprietary game loop system instead of using a swing timer
  • Game frame rate is fixed at 240 FPS instead of inconsistently around 1000
  • Ball now continuously accelerates instead of speeding up every second
  • Velocity and acceleration are measured in pixels/second instead of arbitrary numbers

Other

  • Balls now spawn randomly along the center horizontal line of the screen instead of always at the center.
  • Game Loop runs on a separate thread to the rendering thread
  • Switched rendering system from Graphics to Graphics2D
  • Game object instance variables are now doubles

Bugfixes

  • Power Ups now take effect immediately
  • Fixed compatibility issues with Macs due to the old timer system
  • Fixed choppy gameplay caused by old framerate
  • Fixed rounding errors that happened with the game objects due to reliance on rounding Doubles into Ints
  • Fixed ConcurrentModificationException when picking up a Power Up at the same time another one spawns

v1.0.0 - Initial Release

03 Dec 03:09
Compare
Choose a tag to compare

The first version of the program submitted as APCS Portfolio Project #1.