Releases: alyssaruth/Dartzee
May 2019
Removed the Round
entity entirely and denormalised PlayerId
onto Dart
in order to aid performance. As part of this work, added the ability to generate large amounts of test data via the simulation process (dev mode only).
Also introduced "practice mode", as the generated games were single player and basically worked already. Also fixed a bad bug introduced last version caused by a rushed change to the DartsScorers.
In-game change log:
--------- v3.2.2 ---------
+ Ability to play single games with only 1 player (for practice)
= Performance improvement: Remove Round to speed up loading player stats (and other bits of SQL)
= Fixed a bug with resetting a round in Golf (introduced in v3.2.1)
= Fixed a bug which made it possible to select the same player multiple times in reporting setup
= 72.5% Kotlin
= 33.5% test coverage (4620 / 13,765 lines covered by 592 tests)
April 2019
Fixed a couple of bugs caused by the GUID change, did a load of converting to Kotlin and increasing test coverage mainly around:
- Entity DAOs
- Reporting
- Achievements
- Player stats (although not much...)
Then squeezed in some new features as April was suddenly over!
In-game change log:
--------- v3.2.1 ---------
+ Granular achievement leaderboards to show who's winning on each achievement
+ 2 Achievements (BTBF, Like Clockwork)
+ Hit rate stats for Round the Clock
= Fixed bugs with deleting games caused by move to GUIDs
= Fixed a bug where the game could freeze if you paused an AI at the end of their turn
= Fixed a bug where loaded matches could still cause duplicate MatchOrdinals
= Performance improvement: Grouped dart inserts rather than individual
= Performance improvement: Improved Leaderboard SQL for Top X01 Finishes
= Performance improvement: New index on Round table
= 65.7% Kotlin
= 27.3% test coverage (3816 / 13,976 lines covered by 390 tests)
March 2019
Checkout suggestions and conversion over to GUIDs for entities, in preparation for cloud sync (also to improve performance).
Also upgraded derby version and switched test frameworks to KotlinTest/Mockk. Did a bunch of Kotlin conversions and additional tests.
Full in-game changelog:
--------- v3.2.0 ---------
+ Checkout suggestions in X01
= Fixed a bug where screen title wasn't set for new matches
= Performance improvement: Match stats refresh in the background
= Performance improvement: Use GUIDs for RowIds to eliminate synchronization
= 52.3% Kotlin
= 15.75% test coverage (2245 / 14,248 lines covered by 148 tests)
February 2019
A few minor tweaks/bug fixes, including reworking the match setup flow.
Mostly backend changes in preparation for Dartzee mode, as well as more conversion of legacy code to Kotlin and additional unit tests.
Full in-game changelog:
--------- v3.1.1 ---------
= Made it possible to run a game report across different game modes
= Fixed a bug where 2 player matches could screw up play order when reloaded
= Shanghai achievement now breaks down on click to show all examples
= 36.4% Kotlin
= 7% test coverage (1009 / 14,370 lines covered by 80 tests)
January 2019
Mostly targeted performance improvements, also adding a few new animations/achievements and the achievement leaderboard.
Full in-game change log:
+ Achievements leaderboard in Overall Stats
+ Most hit darts in X01 game stats
+ Bed & Breakfast, bad luck animations
+ 3 achievements (Hotel Inspector, Such Bad Luck, Shanghai)
= Tweaked orange colour so it's easier to differentiate from yellow
= Miss animations will no longer display when throwing at doubles in X01
= Replaced blank rows with grid lines for game stats to make more space
= Adjusted thresholds for Gambler achievement
= Automatic populating of new achievements after an update
= Made it easier to dismiss the speed slider by clicking off of it
= Performance improvement: Reuse of database connections
= Performance improvement: Reuse of dartboard graphics for speedier game start-up
= Memory improvement: Fixed a bug with audio caching that led to a pile-up of blocked "Direct Clip" threads
= 27.5% Kotlin
= 2.96% Test coverage (421 / 14,200 lines covered by 24 tests
Christmas 2018
Key additions were player achievements and in-game statistics like 3-dart average, checkout % and so on.
This release was also the first to introduce any Kotlin code (10% of the codebase). Database version was upped to 3.
Full in-game change log:
+ Individual player achievements (12 achievements to begin with)
+ Utility for running SQL conversions to unlock achievements from past games
+ In-game notifications when a player unlocks or upgrades an achievement
+ Running stats, viewable any time during a game via a new button
+ Similar running stats showing data for entire matches
+ Pre-loading of sounds and images to improve performance
+ Auto-fix feature for sanity checks
+ Leaderboards now show worst games as well as best
+ More stats are shown when calculating an AI's performance from the setup screen
= Improved game layout by hiding AI slider and providing enlarged buttons with icons
= Fixed slow database check SQL
= Fixed default on DartsMatch table
= Fixed leaderboard slowness by removing the 'Misc' tab
= Conversion of codebase to Kotlin (10% - including this change log!)