{"id":49764522,"url":"https://github.com/delta/seamaster-library","last_synced_at":"2026-05-11T10:19:50.419Z","repository":{"id":339462292,"uuid":"1135583265","full_name":"delta/seamaster-library","owner":"delta","description":"Seamaster is a package which helps users write and submit code to participate in the Ocean Mining game.","archived":false,"fork":false,"pushed_at":"2026-02-19T19:44:02.000Z","size":1739,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-19T22:31:56.305Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://delta.github.io/seamaster-docs/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/delta.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-16T09:55:28.000Z","updated_at":"2026-02-19T19:44:07.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/delta/seamaster-library","commit_stats":null,"previous_names":["delta/seamaster-library"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/delta/seamaster-library","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delta%2Fseamaster-library","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delta%2Fseamaster-library/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delta%2Fseamaster-library/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delta%2Fseamaster-library/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/delta","download_url":"https://codeload.github.com/delta/seamaster-library/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delta%2Fseamaster-library/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32890321,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-10T13:40:02.631Z","status":"online","status_checked_at":"2026-05-11T02:00:05.975Z","response_time":120,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-05-11T10:19:49.775Z","updated_at":"2026-05-11T10:19:50.413Z","avatar_url":"https://github.com/delta.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Seamaster Bot Programming – User Guide\n\u003e Note: This library is still under development, and the contents of this README might change in the future.\n\nSeamaster is a strategy-based bot programming platform where you design **autonomous bots** that explore, harvest, fight, and survive in a grid-based world.\n\n\u003e **Key Mindset**\n\u003e You do **not** control bots every turn.\n\u003e You **define strategies**, and bots follow them autonomously for their entire lifetime.\n\n## Core Philosophy\n\n\u003e **A bot is born with a strategy.\n\u003e It lives with that strategy.\n\u003e It dies with that strategy.**\n\n- You define **how a bot behaves**\n- The engine decides **when that behavior runs**\n- You never micromanage bots after spawning\n\n---\n\n## Architecture Overview\n\n| Layer | Responsibility |\n|------|----------------|\n| **User (`user.py`)** | Strategy logic only |\n| **BotContext** | Gives you methods to define your custom bot |\n| **Helpers** | Create actions (`move`, `attack`, etc.) |\n\nYou only write **`user.py`**.\n\n---\n\n## Bots = Strategies\n\nEach bot type is a **Python class**.\n\n```python\nclass Forager(BotController):\n    def act(self):\n        ...\n```\nDefine your complete bot strategy here and execute!\n\n## Some Examples:\n\n### Adding extra abilities while spawning bots and using botcontext\n```python\n    def play(api: GameAPI):\n    actions = []\n\n    if api.view.bot_count \u003c api.view.max_bots:\n        abilities = [\n            Ability.HARVEST.value,\n            Ability.SCOUT.value,\n            Ability.SPEED.value,          # EXTRA ability\n            Ability.SELF_DESTRUCT.value,  # EXTRA ability\n        ]\n\n        if can_afford(api, abilities):\n            actions.append(\n                spawn(\"HeatSeeker\", abilities)\n            )\n\n    return actions\n```\n### OR like this:\n```python\nactions.append(\n    spawn(\n        \"CustomBot\",\n        [\n            Ability.HARVEST.value,\n            Ability.SCOUT.value,\n            Ability.SPEED.value,\n        ]\n    )\n)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdelta%2Fseamaster-library","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdelta%2Fseamaster-library","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdelta%2Fseamaster-library/lists"}