Skip to content

Latest commit

 

History

History
192 lines (146 loc) · 8.75 KB

CHANGELOG.md

File metadata and controls

192 lines (146 loc) · 8.75 KB

Changelog

All notable changes to this project are documented in this file. The format is based on Keep a Changelog,

The x.y.z version is tracked in gradle.properties to enable programmatic updating via the Gradle release task. The version should always be in sync with the GUI and have a tag in both repositories.

  • The major version x corresponds to the year of the contest and thus only changes once a year
  • y is bumped for any major updates or backwards-incompatible changes.
    A y version of 0 marks the beta of the current year and likely contains breaking changes between patches.

25.0.0 - 2024

  • Allow other player to move on when one is disqualified

24.X - Post-Finale

  • Allow one player to move on when other is stuck or finished (add points depending on speed of reaching goal, do not require passengers?)
  • Improve XML protocol

24.2.5 No points for stuck ship - 2024-03-27

24.2.4 Adjust game ending inaccuracies - 2024-03-21

  • Immediately end game when one player gets stuck
  • Fix incorrect winner for edge cases involving segment distance

24.2.3 Fix circular Board edge-case - 2024-03-18

24.2.2 Detailed winner explanation - 2024-03-14

24.2.1 Fix issue leading to wrong winner - 2024-03-13

24.2.0 Fix GameResult - 2024-03-12

  • Disqualify ship that cannot move because it is too fast

24.1.5 Fix teamStats - 2023-10-03

24.1.4 Interface Adjustments for GUI - 2023-10-02

24.1.3 Provide teamStats - 2023-09-14

24.1.2 Stable Release - 2023-09-20

24.1.1 Helper Adjustments - 2023-09-14

  • Fully rename simpleclient to playertemplate
  • Fix segment bounds special cases

24.1.0 Add New Helpers - 2023-09-11

24.0.8 All The Moves - 2023-09-04

  • moveIterator should now generate all possible Moves
  • Reduce usage of magic numbers
  • Fix some test cases and update kotest
  • Fix oversight in SimplePlayer template

24.0.7 Game Procedure - 2023-08-29

  • Make SimplePlayer template more convenient
  • Clarify game over edge case conditions

24.0.6 Refine Adjuncts - 2023-08-24

  • Properly handle consecutive advances
  • Fix ScoreDefinition

24.0.5 Eliminating Oversights - 2023-08-23

  • Revamp calculation structure for available Moves
  • Add some helpers and documentation
  • Fix revealing of Segments including nextDirection
  • Fix passing on of nextDirection in Board

24.0.3 Rule Fixes - 2023-08-12

  • Properly deep copy board
  • Allow picking up passengers at speed 2 in current
  • Skip player turn if ship is immovable
  • Extend tests

24.0.0 New Game with adjusted rules - 2023-08-10

  • Fix Orientation of Coordinates and Directions for Cartesian, DoubledHex and Cube
  • Implement basic version of Mississippi Queen - XML and Rules are subject to change!

2024 Game Mississippi Queen - 2023-08

23.0.3 Final Fixes

  • Fix Deep Cloning of GameState
  • Update Board generation counts to prevent missing ice floes

23.0.2 New Board generation - 2022-08-21

  • Update Board generation: The Board is now mirrored with holes, with more holes in the middle and more fish at the edge.
  • Improve automated checks

23.0.1 Proper Penguins - 2022-08-06

  • Proper rule implementation for Penguins with some helpers
  • Improve XML

23.0.0 Rough Penguins - 2022-07-28

  • Generify some plugin functionality to the SDK (RectangularBoard, Team.color)
  • Initial version of game "Hey, Danke für den Fisch" (Codename Penguins) with simplified game rules (can only move to adjacent fields)
  • Switch from unavailable maven repo for jargs

2023 Game Hey, Danke für den Fisch (Penguins) - 2022-07

22.1.0 Polish - 2021-11-15

  • Ensure compatibility beyond Java 16
  • Fix game ending a turn too late on round limit (7b096f105)
  • Fix irritating error messages at game end
  • Release TestClient

22.0.3 - 2021-07-26

  • Fix simpleclient setup
  • Only end game after full rounds

22.0.2 Protocol Revamp - 2021-07-16

  • Update documentation links
  • Various improvements around testing

Protocol

  • Reworked GameResult XML (add player information, include winner as team)
  • Simpler Player XML (team as attribute)
  • Join without specifying a gameType
  • Removed test mode - add up the GameResults instead (#385)
  • Do not send repeated MoveRequests when pausing/unpausing
  • Stop terminating client connections upon protocol issues (6c6d6fa51)

22.0.1 Adjust Ostseeschach plugin - 2021-06-25

  • Implemented proper winner calculation
  • Added some utility methods
  • Adjusted XML

22.0.0 - 2021-06-11

  • Restructured folders to follow JVM standards
  • Simplified interface for player development

2022 Game Ostseeschach - 2021-06

21.4.0 - 2021-05-28

  • Enable preparing games without reservations
  • Implement generic replay saving & loading
  • Create an AdminClient to interface more conveniently with the server
  • Distinguish RoomMessages from ProtocolPackets
  • Send GamePaused message after a Game has been paused

21.3.3 - 2021-03-01

  • Game: Refactor turn advancing logic (#391)
  • Networking: Improve Exception handling within games and rooms (#383)

21.3.2 - 2021-02-12

Fixed

  • GameState: Alignment of round number with turn number (49676b64c)
  • TestClient: Prevent a race-condition that could occur when getting the results of the first game (4f33fc01f)

21.3.1 - 2021-02-11

Fixed

  • Fix GameState clone, hashCode and equals to include undeployedPieceShapes and validColors
  • Remove superfluous class attributes from GameState XML
  • Synchronize XML packet sending to prevent messages from interleaving (219466c0a)

Infrastructure

  • Extend GameState XML (#381) and Network tests (#363)
  • Setup GitHub Actions (#384)

21.3.0 - 2021-01-29

Fixed

  • Send final Gamestate to listeners when a game ends (#364)
  • Remove extra field from Move/Piece XML (23589a153)
  • Player dependency declarations (#373)
  • TestClient: Make it work (#372) & load current Game id from classpath (#367)

Added

  • Implement cloning for GameState & Board (#356)
  • Add README for player (#373)
  • Create CONTRIBUTING & GUIDELINES (#360)
  • Modularize XStream initialization using ServiceLoader (#352)

Changed

  • Improve logback config (#371)
  • Improve Gradle configuration & TestClient build (#368)

21.2.1 - 2020-12-18

  • Improve internal build logic (#343)
  • Improve & translate toString messages
  • Use MoveMistakes to construct InvalidMoveExceptions (#321)

21.2.0 - 2020-12-14

  • converted lots of classes to Kotlin
  • internal Protocol updates & game flow adjustments
  • updated many tests

2021 Game Blokus

2020 Game Hive