Releases: The-International-Screeps-Bot/The-International-Open-Source
Releases · The-International-Screeps-Bot/The-International-Open-Source
Energy Exploitation and Auto Expansion
Intro
Collaborators
Pieter Brandsen
https://github.com/pieterbrandsen
has joined me to work on this project!
Media
Changelog
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
- commune roles
- 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
- marketManager
- 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
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





