V0.7.0: Support for season4. Update Details
Welcome to PyScreeps-Arena
This project is for players who want to play Screeps: Arena with python. The project provides a 'standard library' (std.py) to act as a glue layer between js and python. Players write their own logic code in the main.py loop, and run build.py to generate main.mjs
Please note that the codes for `Screeps:Arena` and 'Screeps:World' are not compatible.(If you want to play Screeps:World, i recommend you to try the Github project: 'screeps-starter-python')
1. Quick Prepare Environment
This project need python == 3.12 (for the limit of transcrypt). Please make sure you have download&install from python.org
Use python pip to install this package:
pip install pyscreeps-arena
Use cmd command to create a new game project:
pyscreeps-arena 'Your Project Path'
(or the short alias: psanew 'Your Project Path')
Use GUI cmd command to create a new game project:
psaui
Use GUI cmd command to view map and mark element as code(map at /docs/maps):
psaui -m
Use GUI cmd command to replay a local simulation battle:
psaplay <replay_output_dir>
Use cmd command to start the MCP server (for AI-assisted development):
psamcp
Use your editor to open the project(recommand PyCharm).
2. Tutorial
- Tutorial 1: Console Output
- Tutorial 2: Object Acquisition and Movement
- Tutorial 3: Attacking Enemies
- Tutorial 4: Creep Composition
- Tutorial 5: Resource Fetch and Deposit
- Tutorial 6: Terrain Impact
- Tutorial 7: Creating New Creeps
- Tutorial 7+: Creating New Creeps (Object-Oriented)
- Tutorial 8: Harvesting Energy
- Tutorial 8+: Harvesting Energy (Object-Oriented)
- Tutorial 9: Building Construction
- Tutorial 10: Final Test
- Tutorial 10+: Final Test (Object-Oriented)
- Extra: Behavior Tree
- Extra: Event System
中文教程见仓库 tutorial - cn 目录。
3. Transcrypt: Different between python and js
- in python:
if []:is False, but get true in js. - in python:
_list[-1]is ok, but not work in js. - in python: use
dict.py_get()instead ofdict.get() - in python: use
container.py_clear()instead ofcontainer.clear() - operator reaload do not work in js. Mean in python
[1] * 5do not work in js. - kwargs do not work in js. Mean in python
func(1, b = 5)do not work in js.
4. Document
See *.md under the docs folder of your game project (tutorials, system guides, season notes and arena maps).
Last
Goodluck & Have fun. :)
Metadata
Release files for pyscreeps-arena 0.7.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyscreeps_arena-0.7.2.0.tar.gz | 1.2 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyscreeps_arena-0.7.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.4 MB
Release files / pyscreeps_arena-0.7.2.0.tar.gz
| Download URL | pyscreeps_arena-0.7.2.0.tar.gz |
|---|---|
| Size | 1.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c2413ff1870c3b7dd2711e31636553c361de5e9d5bbe73743526b7aaa7feae9a
|
|
BLAKE2b-256 checksum How to use checksums |
efd6f7db34afa95aeec0f22f3d6135a9328b892492aff829ece9a98e1820f20a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.10
|
Release files / pyscreeps_arena-0.7.2.0-py3-none-any.whl
| Download URL | pyscreeps_arena-0.7.2.0-py3-none-any.whl |
|---|---|
| Size | 1.3 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ac641bd731de61e259dbcee77372cbd9b4aaf74ba4d08a9b73630d00c2bc5a86
|
|
BLAKE2b-256 checksum How to use checksums |
4025f84854acbf40430cd51f6d7bc41b0727cb2245766c22ffdca6ec88ad0572
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.10
|