Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

roomIntel request #3

Open
CarsonBurke opened this issue Aug 11, 2023 · 4 comments
Open

roomIntel request #3

CarsonBurke opened this issue Aug 11, 2023 · 4 comments
Assignees
Labels
feature A requested feature to discuss and possibly implement

Comments

@CarsonBurke
Copy link
Member

Overview

  • Notable information about rooms
  • Amount of data communicated per tick should be kept to a minimum. Important rooms only!

Properties

  • scoutTick - the tick when the room was scouted and the notable data collected. There should be a check to ensure data older than x ticks is not sent and a warning message is provided
@CarsonBurke CarsonBurke added the feature A requested feature to discuss and possibly implement label Aug 11, 2023
@CarsonBurke CarsonBurke self-assigned this Aug 11, 2023
@V1kingGit
Copy link

Big difference between sharing intel on enemy rooms, whereabouts of hostile creeps and neutral rooms without anything going on in them. I only consider it worth sharing the former two.

In that case limiting the rooms transmitted in any way seems unnecessary. You should be able to loop through the rooms provided and only update your intel if scoutTick is higher than your own. That's a very simple and cheap operation. Ideally you don't have to transmit all rooms, but you should be allowed to.

Intel on hostile creeps would also need standardization, so it may be easiest starting off with intel on enemy rooms. Here I think
@Gadjung's suggestions work well as a starter, allowing further discussion:

rcl: number,
towerCount: number,
avgRamparts: number,
knownBoosts:
{
    [RESOURCE_LEMERGIUM_OXIDE]: number,
    etc...
}

@CarsonBurke
Copy link
Member Author

I like it. I do have a concern with known boosts, however. The object could be potentially rather large, and we want to avoid sending too much data through the segment. This is because of limited space, but more importantly, parsing costs.

@Gadjung
Copy link

Gadjung commented Aug 11, 2023

simpleAllies should provide method provideIntel(intel:Intel) method that handles the update of values with logic for scoutTick checks.

also if it is inside the Intel interface, it would make it easier on provider - segment logic - beneficiary sides

@CarsonBurke
Copy link
Member Author

CarsonBurke commented Sep 28, 2023

simpleAllies should provide method provideIntel(intel:Intel) method that handles the update of values with logic for scoutTick checks.

also if it is inside the Intel interface, it would make it easier on provider - segment logic - beneficiary sides

I think a default function to handle intel like this will clash too much with a bot's custom data

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature A requested feature to discuss and possibly implement
Projects
None yet
Development

No branches or pull requests

3 participants