Skip to content

Releases: The-International-Screeps-Bot/The-International-Open-Source

Energy Exploitation and Auto Expansion

19 May 00:42

Choose a tag to compare

Intro

Collaborators

Pieter Brandsen
https://github.com/pieterbrandsen
has joined me to work on this project!

Media

image

Watch video

image

image

image

image

image

Changelog

1.0.0...2.0.0

Code Changes

International

  • creepOrganizer
    • Running of pre-tick managers for creeps based on their role, so creeps can initialize values preventively
  • internationalManager
    • Transition to a class-oriented program
    • Addition of a variety of QOL methods
    • Market data organization
  • remoteNeedsManager
    • preemptive manager to inform the communes of the needs of remotes
  • mapVisualsManager
    • Creation of informative text and line visuals
  • commands
    • console-accessible functions to quickly complete tasks
  • constructionSiteManager
    • Records the age of the number of cSites, and deletes old ones
  • simpleAllies
    • Reading and distribution of ally requests

Room

  • room type assignment
  • creep managers
    • commune roles
      • segregation of sourceHarvesters based on source name
      • hub and fastFiller creeps
      • defenders that use ramparts
      • complete mineral harvesting
      • controller use of containers and links
    • remote roles
      • harvesting and hauling of sources
      • reserving of controllers
      • defence from invaders and players
    • scoutManager
      • creation of claim requests with scores
    • newCommune roles
      • claiming of targets
      • building of new spawns
  • constructionManager
    • caching of some structure planning results
    • rampart with onboarding plans
  • Market logic
    • marketManager
      • Intent creation for terminals
      • Ally trading
      • market purchases and sales
    • marketFunctions
      • Quick and customizable buy and sell functions
  • claimRequestManager
    • Accepting and deletion of claim requests
  • roomGetters
    • Collection of useful getters assigned to the Room class
  • trafficManager
    • Conversion of move requests into intents
    • Queueing, swapping, and shoving of creeps
  • defenceManager
    • auto safemoding
    • rampart publication and privatization based on need
  • linkManager
    • Makes link transferEnergy intents
  • towerManager
    • Attack, heal, and repair intents
  • containerManager
    • withdraw, transfer, and offer task creation
  • droppedResourceManager
    • pickup task creation
  • structuresForSpawningManager
    • Transfer tasks for some

Other code

  • stat recording
    • use of grafana to showcase metrics in charts and graphs
  • packrat
    • UTF compression tool for saving memory and CPU
  • grafanaModel
    • example file containing the JSON model to be used in a grafana client for the bot
  • eslint
    • improved problem checking program

Foundation

02 Dec 23:41

Choose a tag to compare

Foundation Pre-release
Pre-release

NOTE: This bot is not currently viable for function in a Screeps server. This is simply a foundation

Code Changes

International

  • Foundation for international logic
    • creepOrganizer. Organization of creeps into classes and objects based on their role, as well as tracking the number of creeps
    • a powerCreepOrganizer similar to the creepOrganizer
    • first-time and tick configurations, setting up variables and object structures in Memory, global, and game object prototypes that the bot can use in the future
    • internationalFunctions that will be used to organize the internationalManager
    • InternationalTaskManager, a manager that will be used to create and delete tasks that relate to inter-room matters

Room

  • A foundation for room logic
    • Files required for market operations, as well as a skeleton for market functions such as finding the avg trading price of a resource
    • a creepRoleManager that assigns creeps to roles and runs their managers
    • A set of creep managers with coinciding functions that mandate creep actions
    • spawning-related files to determine how many and of what makeup creeps will be spawned as, as well as a spawnManager dictating spawning based on the requests
    • powerCreep files similar to the aforementioned creep files
    • commune and remote managers to run functions purely required by those room types
    • a constructionManager to manage and plan automated construction in the room and to other rooms
    • roomTaskManager to create and delete tasks for creeps and structures
    • roomFunctions to organize room prototypes that can improve organization and speed and reduce duplicate code

Other code

  • Error mapper, a module carried over from the screeps-typescript-starter that informs where errors are located
  • globalFunctions, a file containing common-use functions assigned as properties to global that can be accessed anywhere
  • Implemented memHack, completely avoiding CPU costs for parsing Memory
  • Added logManager which handles customLogs, allowing 1 or 100 ticks to be displayed

Other

  • Implemented rollup based on screeps-typescript-starter's system to make uploading code to servers simple and easy
  • Added readme, complete with the following
    • Installation instructions
    • How to use and edit
    • A description alongside previews of the bot's intended functionality