https://github.com/delta/seamaster-library
Seamaster is a package which helps users write and submit code to participate in the Ocean Mining game.
https://github.com/delta/seamaster-library
Last synced: about 1 month ago
JSON representation
Seamaster is a package which helps users write and submit code to participate in the Ocean Mining game.
- Host: GitHub
- URL: https://github.com/delta/seamaster-library
- Owner: delta
- License: mit
- Created: 2026-01-16T09:55:28.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-02-19T19:44:02.000Z (4 months ago)
- Last Synced: 2026-02-19T22:31:56.305Z (4 months ago)
- Language: Python
- Homepage: https://delta.github.io/seamaster-docs/
- Size: 1.66 MB
- Stars: 0
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Seamaster Bot Programming – User Guide
> Note: This library is still under development, and the contents of this README might change in the future.
Seamaster is a strategy-based bot programming platform where you design **autonomous bots** that explore, harvest, fight, and survive in a grid-based world.
> **Key Mindset**
> You do **not** control bots every turn.
> You **define strategies**, and bots follow them autonomously for their entire lifetime.
## Core Philosophy
> **A bot is born with a strategy.
> It lives with that strategy.
> It dies with that strategy.**
- You define **how a bot behaves**
- The engine decides **when that behavior runs**
- You never micromanage bots after spawning
---
## Architecture Overview
| Layer | Responsibility |
|------|----------------|
| **User (`user.py`)** | Strategy logic only |
| **BotContext** | Gives you methods to define your custom bot |
| **Helpers** | Create actions (`move`, `attack`, etc.) |
You only write **`user.py`**.
---
## Bots = Strategies
Each bot type is a **Python class**.
```python
class Forager(BotController):
def act(self):
...
```
Define your complete bot strategy here and execute!
## Some Examples:
### Adding extra abilities while spawning bots and using botcontext
```python
def play(api: GameAPI):
actions = []
if api.view.bot_count < api.view.max_bots:
abilities = [
Ability.HARVEST.value,
Ability.SCOUT.value,
Ability.SPEED.value, # EXTRA ability
Ability.SELF_DESTRUCT.value, # EXTRA ability
]
if can_afford(api, abilities):
actions.append(
spawn("HeatSeeker", abilities)
)
return actions
```
### OR like this:
```python
actions.append(
spawn(
"CustomBot",
[
Ability.HARVEST.value,
Ability.SCOUT.value,
Ability.SPEED.value,
]
)
)
```