Skip to content

Bot: SpecialHunterBot — values specials over goal progress #6

Description

@RizgarOzan

The simulator has two bots: random (the floor) and greedy (goal progress first, then specials, then pieces cleared). There is nothing in between that answers how much of greedy's win rate comes from chasing goals?

Add SpecialHunterBot: like GreedyBot.Evaluate, but specials created weigh more than goal progress. Everything else — win bonus, loss penalty, one ply — stays.

Interface (packages/com.rizgarozan.match3lab.core/Runtime/Simulation/IBot.cs):

public interface IBot
{
    string Name { get; }
    Move Choose(Game game, List<Move> legalMoves, Pcg32 rng);
}

Rules: deterministic (only the given rng), try moves on game.CloneWithUnknownFuture(seed) never game.Clone(), no UnityEngine. See CONTRIBUTING.md → Adding a bot.

Done when

  • SpecialHunterBot lives next to GreedyBot, name special
  • --bot special works in tools/Match3Lab.Cli/Program.cs
  • BotTests.cs has a test that the bot is deterministic for a seed and only returns legal moves
  • the PR pastes curve levels --bot special --runs 1000

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    botA bot strategy for the simulatorgood first issueGood for newcomers

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions