Seamaster is a package which helps users write and submit code to participate in the Seawars game.
Project description
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.
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
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:
actions.append(
spawn(
"CustomBot",
[
Ability.HARVEST.value,
Ability.SCOUT.value,
Ability.SPEED.value,
]
)
)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file seamaster-0.0.1.tar.gz.
File metadata
- Download URL: seamaster-0.0.1.tar.gz
- Upload date:
- Size: 216.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
722bdb677fac67cb6192ccb97a1fed2a0ff7e5403ade1ec97b7094c0ddfe6530
|
|
| MD5 |
02d157035e499de2d8bb4a31f4b68ae3
|
|
| BLAKE2b-256 |
843c7754cd2d8212b7d1aed0331701c673fba8683dbe1eb7e2c1a1ed3ffad2e9
|
File details
Details for the file seamaster-0.0.1-py3-none-any.whl.
File metadata
- Download URL: seamaster-0.0.1-py3-none-any.whl
- Upload date:
- Size: 246.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d4e6f1979d62efd13531aa5e6099e5f9c100519ebc1cfe49f4b0ee9a69dfe2fd
|
|
| MD5 |
7529fe0175f780a8560077b349279532
|
|
| BLAKE2b-256 |
1e34c9042453204c19685d761196fc9c003ed431ca1047bb110da5ec2ea28fca
|