Commit Graph

21 Commits

Author SHA1 Message Date
Michael Ficocelli
c8d2c9f769 IPVGO: Support scripts playing against each other as each color on "No AI" boards (#1917)
This is a big change with a *lot* of moving parts.

The largest part of it is enabling scripts to `playAsWhite` as a parameter to many Go functions. In the implementation, this involved a significant rewrite of `opponentNextTurn` promise handling.

A number of other changes and bugfixes are included:
* Fixes the issue where handicap stones are added on game load.
* Better typing for error callbacks.
* Throw errors instead of deadlocking on bad cheat usage.
* Return always-resolved gameOver promise after game end
* Added a new `resetStats` api function.

---------

Co-authored-by: David Walker <d0sboots@gmail.com>
2025-02-02 20:47:16 -08:00
catloversg
97ca8c5f5e CODEBASE: Fix lint errors 4 (#1773)
Co-authored-by: Michael Ficocelli <ficocemt@gmail.com>
2024-11-14 07:47:35 -08:00
Michael Ficocelli
6df3dcdc82 IPVGO: Add optional board state argument to the go analysis functions (#1716) 2024-10-27 17:31:06 -07:00
Michael Ficocelli
2a5b0ca4e9 IPVGO: Prevent issues caused by resetting the board while the go AI is in flight (#1608) 2024-09-07 18:33:49 -07:00
catloversg
783120c886 FEATURE: BitNode options (#1411) 2024-07-14 14:30:30 -07:00
Michael Ficocelli
cf48d666f5 IPVGO: Add history, and details to status, to go API (#1348) 2024-06-05 18:24:48 -07:00
Michael Ficocelli
5f6a5c8785 IPVGO: Fix non-async promise-returning methods to be more consistent (#1327) 2024-06-04 18:37:00 -07:00
Snarling
e23db93c8b GO: Alternate fix for race conditions (#1260) 2024-05-11 19:58:59 -04:00
Michael Ficocelli
b53c35126e IPVGO: Provide API for getting game stats per opponent (#1255)
Give users access to wins, losses, stat bonuses, and favor gained
2024-05-10 01:57:03 -07:00
Michael Ficocelli
057ccc2a2b IPVGO: Improve error logging to include stacktraces (#1212) 2024-04-09 06:36:05 -07:00
Michael Ficocelli
6c9555ba32 IPVGO: Tweak cheat success scaling so it is applicable even to endgame stats (#1194) 2024-03-30 16:22:53 -07:00
Michael Ficocelli
fe87f1f628 IPVGO: Bugfixes (#1193)
* IPVGO: Explicitly link the generated API documentation in the algorithm design doc
* IPVGO: Fix missing factions in netscript docs
* IPVGO: Linting
* IPVGO: Ensure resetBoardState() logs that a new game has started
2024-03-27 22:02:53 -07:00
Michael Ficocelli
1e5f7184a2 IPVGO: Remove current game history from savefile, re-implement superko (#1175) 2024-03-20 20:37:20 -04:00
Michael Ficocelli
6b9f9ef7fa IPVGO: Balance: Reduce base bonuses, increase SF 14.1 to compensate (#1176)
* IPVGO: Balance: Reduce base bonuses, increase SF 14.1 to compensate

* Fix ts doc format

* Do not show "No AI" opponent in stat summary page
2024-03-20 14:12:35 -07:00
Michael Ficocelli
dd4b54406c IPVGO: Bugfix: Require special opponent to be on the fixed size board (#1170) 2024-03-19 14:23:50 -04:00
Michael Ficocelli
d81358c80f IPVGO: Add support to netscript API for game state, current player, and alternate ways to check/wait on AI turn (#1142) 2024-03-19 14:07:15 -04:00
Michael Ficocelli
c703b71871 IPVGO: Ensure that the player has the prerequisites to face the secret opponent (#1157) 2024-03-11 12:57:44 -04:00
Snarling
373ced2efe GO: Various changes before 2.6.0 (#1120) 2024-02-26 08:05:10 -05:00
Michael Ficocelli
87c4cbbc57 [IPvGO] Performance enhancement: async move option lookup (#1028) 2024-01-09 18:46:01 -05:00
Michael Ficocelli
7e721c144e [IPvGO] Docs improvements and other feedback (#1011) 2024-01-05 20:50:28 -05:00
Michael Ficocelli
7ef12a0323 BITNODE: IPvGO territory control strategy game (#934) 2023-12-26 11:45:27 -05:00