/wk-cof-screeps

All your base are belong to us!

Primary LanguageTypeScript

Useful Links

Turns out renewing creeps is not very cost effective. Better to just recreate the creeps in most situations.

ToDo

Pending

  • Increase reusePath option in the Creep.moveTo method to help save CPU.
  • implement mining in the same room
  • implement logic for finding sources and destinations in the room.
  • read room objects from memory. Only update the objects once in a while.
  • implement moving and taking an action at the same time
  • transfer energy to a link near the storage to avoid excessive creep travel.

Done

  • Figure out how to use extensions to store more energy.
    • The exact location of extensions within a room does not matter, but they should be in the same room with the spawn (one extension can be used by several spawns). All the necessary energy should be in the spawn and extensions in the beginning of the creep creation.
  • Make harvesters deposit energy in extensions.
  • Build a network of roads around the spawn.
  • Heal creeps.
  • Move constants to a separate file.
  • Road maintenance
  • Create a parent Creep class with useful shortcuts.
  • Charge cannons.
  • Separation between harvesters and carriers.
  • Use links to mine faster.
  • Build fighting units.
  • Use creep memory to store locations/paths.
  • Pick up dropped resources
  • customize config: Store different room setups on separate objects.
  • write creep memory to room memory and if it's not available, get creep memory.
  • implement priority queue
  • implement mining sources and destinations on room-based level.
  • build different creeps based on how many extensions I have.
  • build from multiple spawns

Notes

src/config.ts

config.ts is not checked in to avoid unnecessary checkins due to the count adjustments to the number of various units. Current config.ts structure:

export class Config {
    public static activeWorkers = {
        worker: 1,
        builder: 0,
        upgrader: 1,
        carrier: 1,
        zealot: 0,
        flagMiner: 2
    };
    public static healThreshold = 500;
};

Attacking units

Put you TOUGH parts first. Under attack, the first parts to take hits are those specified first. Full damage to a part leads to complete disabling of it – the creep can no longer perform this function.

Random facts

  • Cannons can heal/reinforce structures