Giter Site home page Giter Site logo

screeps's Introduction

Screeps

Modules are designed around game objects and contain run functions to deliver their functionality through the passed game object.

Example:

    const rooms = require('./rooms');
    for(let name in Game.rooms){
        rooms.run(Game.rooms[name]);
    }

Modules

Main

Game driver module.

Util

Generic functionality which applies to multiple modules.

Rooms

The Rooms module enables spawn queues, runs towers and links. Labs are next to be added

Towers & Links

Spawn Queues

Each Room has a spawn queue in its memory used to handle auto-respawn, dynamic spawning and managing creeps based on their roles.

Mining Crews

Creeps

The Creeps Module handles creep roles and supports creep actions with logic for obtaining targets for resource management or combat.

Roles

The roles use various memory attributes to achieve and optimize their actions. There are two classes of roles, Worker and Combat.

Scout

Simple test unit and scout that only has move parts.

Harvester

The first unit which can harvest resources, restore base energy and upgrade the controller. Unit can be given a targetRoom which will turn it into a remote harvester which has the same priorities.

Builder

Construction unit which will prioritize construction sites and fall back to upgrading the controller.

Maintenance

Repair unit which will prioritize the restoration of base energy, then repair of room structures and will fall back to upgrading the controller.

Miner

Standard container miner. targets a container in the room and attempts to mine the targetResource (defaults to energy) from a source or mineral within range of the container.

Transport

Resource manager which will prioritize collection and delivery of its targetResource. These are used to move resources from mining containers to Storages or Terminals. It will participate in refilling base energy when its targetResource is energy (default)

screeps's People

Contributors

draquel avatar

Watchers

 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.