Giter VIP home page Giter VIP logo

screeps's Introduction

TooAngel Artificial intelligence for screeps

Codacy Badge CircleCI Code Climate npm version slack discord

https://screeps.com/

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

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.

Design

More details of the AI design

screeps's People

Contributors

tooangel avatar samogot avatar mschultheiss83 avatar nevrdid avatar somotaw avatar sparr avatar stu43005 avatar aceofaces avatar kahojyun avatar dependabot[bot] avatar morwoen avatar kill4free avatar domkeykong avatar totalschaden avatar evanito avatar tsungen avatar pieterbrandsen avatar odoucet avatar labrown avatar jetbalsa avatar darkdestry avatar brutalbic avatar connorzg avatar octaflop avatar gewure avatar karlthepagan avatar riftlurker avatar lexxicon avatar gicminos avatar olivercole avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.