![screeps gameplay screeps gameplay](https://habigames.ru/files/screeps.jpg)
init() This phase handles all pre-state-changing actions, primarily various requests like creep spawning requests and transport and link requests.Finally, directives and their overlords are instantiated. Colonies and their overlords are instantiated, then colonies instantiate their hive clusters and their overlords. build() All caching and object instantiation is done in this phase.Excluding memory checking and sandbox code, there are now three major phases in each tick, each of which is executed by a call to the Overmind: I’ve simplified the structure of my main loop considerably in this rewrite. Zerg: task- and overlord-contextualized wrapper for a creep.Task: a customizable object which you can hand to a creep with creep.task = Tasks.* generalizes the notion of “do action X to thing Y until condition Z is met”.Overseer: tracks directives and overlords as they are instantiated and runs them by priority places new directives to respond to stimuli.
![screeps gameplay screeps gameplay](https://i.ytimg.com/vi/fs7VQ5PCxtk/maxresdefault.jpg)
Overlord: handles creep spawning and control for a specific goal can be plopped on any of the above three objects.Directive: a wrapper for a flag with contextual behavior changes.HiveCluster: groups together structures with related functionality and their logic.Colony: groups together rooms and their objects into a single unit and instantiates HiveClusters.Overmind: the top-level object that contains and runs colonies and wraps all game objects.I’ll explain the main components of the AI in decreasing order of hierarchy, but first, a brief glossary: The remaining functionality of what used to be the colony Overlord is now the colony Overseer, which also thematically fits, since part of its function is to look for certain conditions in rooms and respond to them. Nerdy tangent: conceptually, the new Overlord class is actually the Overseer class I mentioned at the end of my last post, but I decided the name “Overlord” fit better thematically, since Overlords are responsible for relaying orders to the Zerg in Starcraft, which is what the class does. All creep control logic, including what used to be on HiveClusters, and spawn request logic has been combined in the new Overlord class. If you’ve seen the previous version of this diagram, the first change you’ve probably noticed is that there are no more roles! Each Role used to govern the creep control logic for a certain type of creep. I’ll discuss each of the major changes in more detail below, but first, here’s a fancy new diagram! I think it’s getting very close to a 1.0 version which can be run as an opponent on private servers, and I almost decided to make this the 0.9 release, but I want to finish a few half-baked automation features first. I’ve made a lot of changes to the organization of the Overmind framework and I’m super happy with how they’ve turned out. At first, there wasn’t any way to do this incrementally, the only strategy being “turn it off and see what breaks” and at times I felt like I was wading through the compiler errors like a fat mining creep wading through a swamp: After 8547 additions and 9953 deletions over the last few commits, I’ve completely overhauled a huge amount of how my AI works. Coming soon.In my last post I mentioned I’d be rewriting my Screeps AI. Want to use your SP for something better than lame voting bots, yet still earn some returns? Try gaming bots. Votes are given according to score, but this does not guarantee a payout according to score. Downvoting/Flaggingĭownvoting and flagging will be allowed. Bonusesīonus points can be awarded by achieving reward goals. Votes are made by other stakeholders to increase the value of the comment proportionate to the score at the time of the milestone. As players complete milestones, comments are made on the original game post. Scoring is how steem users can make money from the effort of playing a game. Interactions can be recorded as comments or as votes in game. It would be possible to interact with other steem users in game. The game moderator as set as a 15% beneficiary on the comments. The blog post refuses payout, but can be upvoted.Īs significant goals are achieved in the middle of the game, comments from the game will be made to the post. The blog post is initiated by the start of the game. The modification is basically to monitor gameplay progress through a steemit blog post. It currently doesn't interact with the blockchain at all, but it is possible to run custom server with modifications that do interact with the blockchain. There are a number of blockchain games available, but I think this would be the first MMORTS.