36 Commits

Author SHA1 Message Date
daniel156161 f14d780f29 feat: add live replays and PostgreSQL maintenance tools
Build and Push Docker Container / build-and-push (push) Successful in 7m53s
- Stream compact live replay updates across local and clustered dashboards.
- Render responsive snake bodies as SVG paths with aligned custom icons.
- Add cache-busted assets, replay fallback routes, and live-follow playback.
- Support PostgreSQL benchmark sampling and idempotent SQLite migration.
- Add dry-run cleanup for old low-quality PostgreSQL replay payloads.
- Reward safe perimeter lanes and bump Prism to version 1.5.0.
- Add backend, migration, dashboard, and perimeter regression coverage.
2026-08-02 00:50:46 +02:00
daniel156161 9b99b526e4 perf(snake): cache survival rollout state
Build and Push Docker Container / build-and-push (push) Successful in 6m1s
- Cache occupancy bitboards for repeated multiplayer rollout positions.
- Memoize position evaluations to avoid duplicate flood-fill calculations.
- Reuse shared values while ranking simultaneous enemy responses.
- Include evaluation hits in Prism rollout telemetry.
- Document the optimization and bump Prism to version 1.4.0.
2026-08-01 20:39:56 +02:00
daniel156161 3a9af3f54d feat(snake): modularize engine and add tournament tools
- Split active strategies, reusable engine code, core classes, and legacy snakes.
- Replace implicit snake imports with explicit module registrations.
- Extract Prism duel, spatial, and survival behavior into focused mixins.
- Improve duel scoring with food races, pressure, caches, and depth metrics.
- Add deterministic arena scenarios and paired seeded engine tournaments.
- Expand benchmark telemetry and bump Prism to version 1.3.0.
- Update documentation and tests for the new package layout and tooling.
2026-08-01 20:25:07 +02:00
daniel156161 cb6c8d4dc8 feat(snake): add adaptive adversarial search
- Share duel search contexts and transpositions across candidate moves.
- Add aspiration windows, principal variation ordering, and body caches.
- Model simultaneous multiplayer responses with a compact beam rollout.
- Adapt search depth and response breadth to the remaining deadline.
- Add a deterministic arena benchmark with optional JSON reporting.
- Expose search metrics, document benchmarking, and bump Prism to 1.2.0.
2026-08-01 19:26:19 +02:00
daniel156161 6643eb35af fix: resolve duel roots and recover legacy snake data
- Resolve selected moves and enemy replies on the same simulated turn.
- Add an Apex candidate hook and bump the Prism snake to version 1.1.0.
- Rebuild benchmark states from normalized turn data when snapshots are empty.
- Synthesize missing game snake identities during legacy database migration.
- Add regression coverage for duel timing and partial legacy schemas.
2026-08-01 19:11:32 +02:00
daniel156161 c646392b84 fix: preserve gameplay data and correct duel evaluation
- Preserve snake customizations across database migrations and merges.
- Lazily load optional storage backends for SQLite maintenance scripts.
- Match Apex territory and nearest-food tie-breaking semantics.
- Resolve duel occupancy after simultaneous movement and food growth.
- Recompute simulated head-to-head danger after body growth.
- Add regression coverage and declare the aiofiles dependency.
2026-08-01 18:16:04 +02:00
daniel156161 4f022d3d01 feat(snake): optimize duels and persist customizations
Build and Push Docker Container / build-and-push (push) Successful in 7m29s
- Add deadline-aware iterative duel search with bitboards and tuple bodies.

- Reuse transposition bounds and move-order hints across search depths.

- Persist snake colors, heads, and tails in SQLite and PostgreSQL.

- Restore customization metadata when hydrating dashboard replays.

- Cover duel deadlines, cache reuse, schema storage, and replay output.
2026-08-01 17:19:35 +02:00
daniel156161 c704fbc742 feat: add Prism snake and gameplay database lifecycle
Build and Push Docker Container / build-and-push (push) Successful in 8m3s
- Add bitboard-accelerated Prism and versioned Supreme snake implementations.
- Add database-backed move benchmarks and focused strategy tests.
- Normalize gameplay storage while preserving replay compatibility.
- Add deterministic game quality scoring and replay retention tiers.
- Add backup-first SQLite cleanup, verification, and replacement tooling.
- Add safe compact-plus-delta database merging with conflict detection.
- Extend SQLite and PostgreSQL schemas for replay and quality metadata.
- Add PostgreSQL development service and pytest import configuration.
- Update gameplay documentation and the quart_common submodule revision.
2026-08-01 16:21:02 +02:00
daniel156161 341bb27278 change that GameplayDatabase can have different backends, sqlite and postgresql with a Template example backend 2026-04-08 14:28:39 +02:00
daniel156161 a62501cf22 remove stroing of the Game Board State into Redis or Memory 2026-04-08 08:36:54 +02:00
daniel156161 fe999c11f4 add compression to GameplayDatabase and test if compression works with the sqlite_zstd extension 2026-04-06 16:34:15 +02:00
daniel156161 4151810f1b add GameplayDatabase database with dashboard 2026-04-05 16:48:12 +02:00
daniel156161 efe15dd8e7 update UltimateBattleSnake to 4.5.0 2026-04-05 15:19:53 +02:00
daniel156161 3cb3517892 update snakes with new code
Build and Push Docker Container / build-and-push (push) Successful in 1m21s
2026-04-05 12:20:10 +02:00
daniel156161 332e86e3cc rework dataset function and class structure 2026-04-05 02:21:15 +02:00
daniel156161 066a93f755 move RLBootstrapDataset into a own class with its own test file 2026-04-05 00:54:15 +02:00
daniel156161 eb290dd634 rework folder structure complitly 2026-04-04 23:01:34 +02:00
daniel156161 2b8f0396e3 rename Test file and add init file for metric backend to import all at once 2026-04-04 22:26:19 +02:00
daniel156161 043d7654f9 rename Metric Classes and change Folder Structure 2026-04-04 22:14:14 +02:00
daniel156161 9d33c6fded cleanup all worker stats when starting up servers 2026-04-04 21:28:26 +02:00
daniel156161 79f23b8be6 Update Best Battle Snake Logic
Build and Push Docker Container / build-and-push (push) Successful in 1m21s
2026-04-04 20:50:01 +02:00
daniel156161 c3da096320 allow to send metrics to memory or redis
Build and Push Docker Container / build-and-push (push) Successful in 52s
2026-04-04 14:21:54 +02:00
daniel156161 a1c4a4b68d create MemoryGameBoardStore Class and rework Building of Game Board Storage 2026-04-04 12:34:00 +02:00
daniel156161 4547e3443b add redis backend for storage of gameboards 2026-04-04 12:07:05 +02:00
daniel156161 bbdc8b288a create better future planning into BestBattleSnake 2026-04-04 12:00:02 +02:00
daniel156161 316870ef7a add enemy cut off trap check 2026-04-04 09:55:58 +02:00
daniel156161 dfcdbae85b add better enemy constrictor projection 2026-04-03 21:39:08 +02:00
daniel156161 f124ce6f96 head hunt only when my snake is bigger and into dual mode 2026-04-03 20:57:33 +02:00
daniel156161 013ac98821 implement royale game mode and tighten spaces in duel mode 2026-04-03 19:26:56 +02:00
daniel156161 51de53d01c add dataset updates with doc updates
Build and Push Docker Container / build-and-push (push) Failing after 12m18s
2026-04-03 11:40:47 +02:00
daniel156161 2e1f91355b add Dataset Class and Tests 2026-04-03 10:35:21 +02:00
daniel156161 a885b624f9 add new BestBattleSnake 2026-04-03 10:29:48 +02:00
daniel156161 5633c4c134 add new Snake 2024-04-12 15:43:29 +02:00
daniel156161 d06c05b7b3 move Server Logic to own Snake Class 2024-04-01 03:51:57 +02:00
daniel156161 0d7739df76 move files and get ready for new Classes 2024-04-01 03:50:12 +02:00
daniel156161 d7d069acc3 move tests file into own folder 2024-04-01 01:56:31 +02:00