mirror of
https://github.com/prosolis/gogobee.git
synced 2026-07-15 16:42:41 +00:00
Adventure: Complete v1 daily idle RPG with DM-driven gameplay, equipment shop, treasure system, TwinBee NPC, streak/grudge/party mechanics, flavor text, and scheduled morning/evening/midnight tickers. Holdem CFR: Fix three critical training bugs (fold not forfeiting pot, free calls after raises, training/runtime key mismatch). Add performance optimizations (preflop lookup table, zero-alloc equity, integer keys, raise cap, regret pruning). Enrich abstraction with 12 equity buckets, board texture dimension, and 6-char action history. Replace validation with proper multi-street simulation. Also includes wordle plugin, holdem seed tooling, and schema additions. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
37 lines
895 B
Go
37 lines
895 B
Go
//go:build training
|
|
|
|
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"log/slog"
|
|
"os"
|
|
|
|
"gogobee/internal/plugin"
|
|
)
|
|
|
|
// Creates a minimal seed policy so the bot can start without a trained policy.
|
|
// Run: go run -tags training ./cmd/holdem-seed/
|
|
func main() {
|
|
slog.SetDefault(slog.New(slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{Level: slog.LevelInfo})))
|
|
|
|
data := &plugin.CFRData{
|
|
Regrets: make(plugin.RegretTable),
|
|
Strategy: make(plugin.RegretTable),
|
|
Meta: plugin.CFRTrainingMeta{
|
|
Iterations: 0,
|
|
Seed: 42,
|
|
Date: "seed-policy",
|
|
},
|
|
}
|
|
|
|
os.MkdirAll("data", 0o755)
|
|
if err := plugin.SaveCFRData("data/policy.gob", data); err != nil {
|
|
fmt.Fprintf(os.Stderr, "Error: %v\n", err)
|
|
os.Exit(1)
|
|
}
|
|
|
|
slog.Info("Seed policy created", "path", "data/policy.gob")
|
|
slog.Info("Train a real policy with: go run -tags training ./cmd/holdem-train/ --iterations 1000000 --workers 8")
|
|
}
|