Giter Site home page Giter Site logo

betastar's People

Contributors

archiatrus avatar cryptyc avatar hjax avatar itja avatar jkantr avatar lladdy avatar m1ndgames avatar rmacgill avatar robert-macgillivray avatar scott-dupasquier avatar seece avatar solinas avatar taranjot-singh avatar willfenton avatar

Watchers

 avatar  avatar  avatar

betastar's Issues

Building army

Modular army building w/ auto-defense and attack functionality.

  • Configurable army composition w/ auto-building (will need the right buildings/tech to be produced by the AI before this will fully work)

  • Configurable auto-attack based on army size (can be made more complex later)

Endgame Enemy Search

Enemy may have bases away from their starting location. We need to find those and attack them to finish the game if we're winning.

Apply Chrono Boost

Our Nexuses should use their Chrono Boost abilities to speed up training/research. One solution would be to iterate through our building units (with IsBuilding) and Chrono Boosting any that have orders in their queue with any Nexus that has enough energy to do so.

Stalkers Should Blink Past Obstacles

Stalkers are getting stuck on ramps, they should blink to engage when situations like this come up, or general unit pathing should get closer to the enemy before attacking.

Stalkers not training

Branch: Development
For some reason, we aren't training stalkers when we have 4 idle warpgates, 700+ minerals and 300+ gas. Happened two games in a row.

Probes Often Wait for Buildings to Build

Probes will often wait for a building to finish before they get back to work. I think this is related to a minor issue where we have more probes than we need for resource collection.

Base Defense

  • Army units in/near base should respond to attacks.

  • Probes in base should defend against very early rushes that we're not prepared to defend against. Note that we have a rush detection mechanism that's based on game-time so, if it's triggered, we could send probes. If we're under attack and it's not triggered, it's a mid to late-game attack and probes will be useless.

  • Ramp blocking, photon cannons, etc. where appropriate.

Targeting Priority

  • Army should target enemy units based on a priority (i.e. anything that does damage should be targeted before random enemy buildings)

  • Army should focus specific units down before targeting a new threat

Additional Support Functions

  • TryBuildNearPylon needs to have a preferred area (can work like the army builder) so that important buildings aren't built at our proxy pylons.
  • Function to convert game ticks into seconds.

Scouting

  • Detect enemy air and cloaked units

  • Detect enemy rush (configurable)

  • Detect enemy building near main base

  • Purpose-built units sent to scout possible enemy bases and expansions

  • More granular view of army composition (only recognize cloaked and air right now)

  • We need to handle the case where our probe scout dies before finding the enemy base

  • Keep track of main enemy base and claimed expansions

  • Keep track of enemy race

CalculateExpansionLocations Bug

Expansion locations are mostly correct within an acceptable margin of error. Sometimes, however, one of the locations will inexplicably be at (0,0) and that ends up breaking things. There are still only 16 locations, so one of them isn't represented in the list at all when this happens.

Perhaps we should create our own, static list for this map?

OnStepBuildPylons() Infinite Loop

When the worker that's supposed to build pylons is surrounded by buildings and it's impossible to build a pylon in a 10 unit radius, while loop is infinite and hangs game. The game also hangs if there are only a small number of valid build positions, but eventually resolves itself.

Repower Buildings

If a building doesn't have power, we should build a pylon nearby to repower it.

Strategy to Handle Invisible Units

If we detect invisible units, we need to have observers to detect them. Army micro should adjust to keep attacking army close enough to an observer to use it.

Building placement

Building placement should probably be hard-coded appropriately for each of the 4 bases (hard code one, then apply rotations around center of map for the others). At the very least, we need to prevent buildings from being placed inside of our mineral field. One easier option is to define a buildable area, and adjust building functions to try-build in that area. For example, we could build in a 7 unit radius around the point 5 units from the nexus, toward the center of the map. This is valid for every base and expansion, though not as optimal as a fully planned base layout.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.