MpakobecEx
17c589ab1e
Enforce front-row-only attacks and label support slots
CI / test (push) Successful in 2m34s
Details
2026-10-21 23:45:09 +05:00
MpakobecEx
cd2d40e4d4
Lay out full battle field with damage, deck, and guard zones
CI / test (push) Successful in 1m44s
Details
2026-10-21 22:52:02 +05:00
MpakobecEx
0e4737ac22
Add battle targeting, action groups, and event log
CI / test (push) Successful in 9m52s
Details
2026-10-21 22:38:02 +05:00
MpakobecEx
0e528586b4
Add procedural card graphics and battle board
CI / test (push) Successful in 5m15s
Details
2026-10-21 19:56:57 +05:00
MpakobecEx
e0deecacd5
Add practice matches against server bot
CI / test (push) Successful in 4m54s
Details
2026-10-21 19:34:46 +05:00
MpakobecEx
81af3aeb44
Merge collection into deck builder and add card overlay
CI / test (push) Successful in 8m48s
Details
2026-10-21 19:14:03 +05:00
MpakobecEx
14dce96218
Redesign deck builder with HS-style layout
CI / test (push) Has been cancelled
Details
2026-10-21 19:00:27 +05:00
MpakobecEx
6b4b2ab389
Add card catalog API and deck builder
CI / test (push) Successful in 7m35s
Details
2026-10-21 18:50:01 +05:00
MpakobecEx
5199e11d2d
Add match history and replay viewer
CI / test (push) Successful in 7m1s
Details
2026-10-21 18:26:02 +05:00
MpakobecEx
e0ee7cdaa7
Fix stale player-state subscriptions after scene changes
CI / test (push) Has been cancelled
Details
2026-10-21 18:22:13 +05:00
MpakobecEx
797e45a527
Show detailed login connection errors
CI / test (push) Has been cancelled
Details
2026-10-21 18:19:18 +05:00
MpakobecEx
2fca766ba1
Add store with booster and trial deck purchases
CI / test (push) Has been cancelled
Details
2026-10-21 18:14:47 +05:00
MpakobecEx
42445eb075
Redesign login scene with neon 3D card table
CI / test (push) Has been cancelled
Details
2026-10-21 18:07:39 +05:00
MpakobecEx
53ceb0255c
Record communication and dialogue rules
CI / test (push) Has been cancelled
Details
2026-10-21 18:02:23 +05:00
MpakobecEx
8975b2de44
Add compact session state handoff
CI / test (push) Has been cancelled
Details
2026-10-21 18:01:18 +05:00
MpakobecEx
6ed0998078
Move client to 3D scenes with SceneFlow
CI / test (push) Successful in 2m33s
Details
2026-10-21 17:49:41 +05:00
MpakobecEx
f618b69ae4
Record 3D scene-based client visual direction
CI / test (push) Successful in 1m22s
Details
2026-10-21 17:35:35 +05:00
MpakobecEx
887aa9d1a5
Harden battle connection and add client metas
CI / test (push) Successful in 1m22s
Details
2026-10-21 17:31:43 +05:00
MpakobecEx
faf7127e14
Add matchmaking queue, WebSocket connection and gray-box battle
CI / test (push) Successful in 1m21s
Details
2026-10-21 17:28:15 +05:00
MpakobecEx
1aca632958
Add onboarding, collection and deck screens to the Unity client
CI / test (push) Successful in 1m20s
Details
2026-10-21 17:07:33 +05:00
MpakobecEx
32d9c31f4a
Allow dev HTTP in the Unity client settings
CI / test (push) Successful in 1m25s
Details
2026-10-21 16:43:55 +05:00
MpakobecEx
d9a090dfde
Add Unity playmode bootstrap smoke test
CI / test (push) Successful in 1m28s
Details
2026-10-21 16:41:44 +05:00
MpakobecEx
33d62a34e2
Add Unity client skeleton with login and profile
CI / test (push) Has been cancelled
Details
2026-10-21 16:40:40 +05:00
MpakobecEx
82fb1027f3
Rely on ticker and TTL instead of KeepAlive
CI / test (push) Successful in 1m32s
Details
2026-10-21 16:25:31 +05:00
MpakobecEx
67d48b11d3
Document Orleans ports and cover grain deactivation
CI / test (push) Successful in 1m27s
Details
2026-10-21 16:21:37 +05:00
MpakobecEx
f60805d27c
Deactivate completed Orleans grains after TTL
CI / test (push) Successful in 1m27s
Details
2026-10-21 16:18:18 +05:00
MpakobecEx
f8f10dea35
Give Orleans test silos distinct ports
CI / test (push) Successful in 1m31s
Details
2026-10-21 16:14:35 +05:00
MpakobecEx
7d2cda67f0
Clean up Orleans E2E usings; update test counts
CI / test (push) Successful in 1m25s
Details
2026-10-21 16:11:41 +05:00
MpakobecEx
5dfa5fc419
Use host setting for Orleans E2E
CI / test (push) Has been cancelled
Details
2026-10-21 16:10:50 +05:00
MpakobecEx
0b662d3413
Configure Orleans via host configuration in E2E test
CI / test (push) Has been cancelled
Details
2026-10-21 16:10:21 +05:00
MpakobecEx
b33b7292d1
Add Orleans-enabled HTTP/WebSocket E2E
CI / test (push) Failing after 1m9s
Details
2026-10-21 16:08:28 +05:00
MpakobecEx
37ebee407d
Use GitHub setup-dotnet action in CI
CI / test (push) Successful in 1m41s
Details
2026-10-21 16:04:01 +05:00
MpakobecEx
4888983816
Document Orleans hosting and enable Actions for the repo
CI / test (push) Failing after 3s
Details
2026-10-21 16:03:09 +05:00
MpakobecEx
6c0a6be872
Use system time in Orleans test silo
2026-10-21 16:00:01 +05:00
MpakobecEx
d7aa3fcbb9
Add logging usings to Orleans test
2026-10-21 15:59:14 +05:00
MpakobecEx
7d87447741
Close replaced test connection; add Orleans test logging
2026-10-21 15:58:47 +05:00
MpakobecEx
edd3dfe0de
Fix Orleans test cluster API usage
2026-10-21 15:57:13 +05:00
MpakobecEx
b3e4c868bc
Drop nonexistent Orleans localhost clustering package
2026-10-21 15:54:30 +05:00
MpakobecEx
c1367d6383
Add Orleans match hosting behind a config flag
2026-10-21 15:53:30 +05:00
MpakobecEx
f702d11ae4
Add EF migrations for the game and meta schema
2026-10-21 15:47:47 +05:00
MpakobecEx
6241225785
Document CI runner as pending
2026-10-21 15:41:41 +05:00
MpakobecEx
ea04839d44
Count concede, leave and absence as a loss; add CI
2026-10-21 15:39:05 +05:00
MpakobecEx
4d5d7f0423
Add meta API, match history and replays
2026-10-21 15:27:19 +05:00
MpakobecEx
083cebf978
Finish server persistence with PostgreSQL, Redis and Docker
2026-10-21 14:53:28 +05:00
MpakobecEx
99d5b95000
Add a playable WebSocket match server with matchmaking and reconnect
2026-10-21 14:31:17 +05:00
MpakobecEx
d4e6e9d8c0
Add match protocol spec and shared network contracts
2026-10-21 14:14:52 +05:00
MpakobecEx
9e1ed87d5d
Add session handoff with current state and next steps
...
docs/HANDOFF.md records the completed engine, card coverage, replay, stress results, key files, decisions, remaining server/meta/client work and the pitfalls found during development. README links to it.
2026-10-21 14:06:10 +05:00
MpakobecEx
99532b6e8f
Stress-test 1000 bot games and fix the guard-step deadlock
...
GameInvariants checks card counts, unique instance ids and damage. The CLI stress command runs random legal bot games and fails on the first violation. It exposed a real bug: an optional OnGuard ability that could not be paid (or was declined) reset the step from Guard to None while the battle was still open. OfferAbility now reports Skipped/Paused/Resolved and callers continue only when needed. 1000/1000 games finish with no errors.
2026-10-21 14:03:14 +05:00
MpakobecEx
66d52169fc
Finish the card set: Tejas, Yaksha, back-row attacks and replay
...
Normal units can no longer attack the back row; Wyvern Strike, Tejas attacks the back row of its own column. Demonic Dragon Berserker, Yaksha rides itself from hand when an opponent's rear-guard is retired during the main phase. Match replay: CommandCodec, MatchRecord, MatchRecorder, ReplayRunner and an FNV event hash; a JSON round-trip replays a full bot game bit-for-bit. Three tests; 116 total.
2026-10-21 14:00:16 +05:00
MpakobecEx
4524c0f19f
Legal intents and a 50-game bot invariant test
...
GameEngine.LegalCommands returns every meaningful command for the current phase, pending trigger, ability, order or choice. A random bot plays 50 deterministic games and checks that each player always has 50 cards across zones, instance ids stay unique and damage never exceeds six. Fixes found by the bot: search-to-call no longer loses a card when there is no empty circle (InTransit), a stand trigger with no rear-guards can resolve, unpayable optional abilities no longer stall the order, and legal intents skip impossible retire-self and repeated intercept commands.
2026-10-21 13:56:24 +05:00