TooAngel / Screeps
Programming Languages
Labels
Projects that are alternatives of or similar to Screeps
TooAngel Artificial intelligence for screeps
See rendered version: http://tooangel.github.io/screeps/
This repository is World Driven. Pull Requests are automatically merged and deployed to the Screeps TooAngel account.
Quests
Head over to Quests
For in game room visitors:
Happy to see you visiting one of our rooms. Visit FAQ to find answers
Info
This is the AI I'm using for screeps. I managed to reach Top 10 from November 2015 - March 2016. Main Goal is to automate everything, no manual interaction needed.
The AI is deployable on a private screeps server, follow the information on
Steam or
npm install screeps-bot-tooangel
and bots.spawn('screeps-bot-tooangel', ROOMNAME)
Note
This is not a good example for code quality or structure, most LOCs written while fighting or other occasions which needed quick fixes or in the ingame editor (getting better :-)). But I think there are a couple of funny ideas. Every contribution is welcome.
Features
- Automatic Base building
- External room harvesting
- Basic mineral handling
- Power harvesting
- New rooms claiming on GCL level up
- Automatic attack
- Rebuild of fallen rooms
- Layout visualization
- Manual commands
- Graphs
- Testing
Tweaking
Add a src/friends.js
with player names to ignore them from all attack
considerations.
E.g.:
module.exports = ['TooAngel'];
Add a src/config_local.js
to overwrite configuration values. Copy
config_local.js.example
to src/config_local.js
as an example. src/config.js
has the default values.
Debugging
Within the config_local.js
certain config.debug
flags can be enabled.
To add debug messages Room.debugLog(TYPE, MESSAGE)
and
Creep.creepLog(MESSAGE)
are suggested. Especially the creepLog
allows
granular output of the creep behavior based on the room and the creep role.
Upload
install dependencies
npm install
add your account credentials
to screeps.com
To deploy to the live server provide the credentials.
via env
export email=EMAIL
export password=PASSWORD
via git ignored file
echo "module.exports = { email: '[email protected]', password: 'your-secret' };" > account.screeps.com.js
or edit and rename account.screeps.com.js.sample to account.screeps.com.js
And deploy to the server:
grunt
to private server
Create a .localSync.js
file with content:
module.exports = [{
cwd: 'src',
src: [
'*.js'
],
dest: '$HOME/.config/Screeps/scripts/SERVER/default',
}];
grunt local
Develop
grunt dev
Release
Releasing to npm is done automatically by increasing the version and merging to master
.
npm version 10.0.1
git push --follow-tags
Every deploy to master
is automatically deployed to the live tooangel account.
Testing
node utils/test.js
will start a private server and add some bots as test
cases. Within in the tmp-test-server
directory the server can be easily
started via screeps start
.