Welcome to the Screeps Autonomous Framework project. This framework is intended for those who are seeking to develop a bot for Screeps — a strategy game for programmers. This isn't a ready-to-deploy bot filled with advanced features, but rather, it's a structured starting point, offering clean and clear design patterns to build upon.
- Solid Foundation: Provides a well-organized base, allowing you to solely focus on building and innovating.
- Developer Friendly: The framework's design patterns are thoughtful and clear, making bot development more straightforward and less error-prone.
- Educational: Regardless of your experience level with Screeps, this framework serves as a learning tool to understand the principles of autonomous bot creation effectively.
- Flexible & Customizable: Designed to be adaptable, it allows for extensive enhancements and modifications to fit your specific requirements and goals.
The Screeps Autonomous Framework is here to aid you in developing a bot that meets your exact needs. Utilize this framework as your starting point and customize it to create a bot with advanced capabilities tailored to your goals.
Before diving in, ensure you have the following installed:
- Node.js (LTS recommended)
- Clone the source code or download and extract it to your preferred directory.
- Navigate to the project folder using your terminal.
- Run
npm install
oryarn
to install the necessary packages and TypeScript declaration files.
The Screeps Autonomous Framework employs Rollup for compiling your TypeScript code and uploading it to a Screeps server.
- Rename
screeps.sample.json
toscreeps.json
and update it with your Screeps credentials. Modify the destinations as needed to suit your requirements. - Utilize the NPM scripts in
package.json
as aliases for Rollup commands; for instance,npm run push-main
will build and upload using the "main" destination in yourscreeps.json
file.
Note: For uploading code to a private server, screepsmod-auth must be installed and configured properly.
Special thanks to Kasami for inspiring this project and openly sharing his innovative work on KasamiBot!