willfenton / betastar Goto Github PK
View Code? Open in Web Editor NEWProtoss AI for Starcraft II. CMPUT 350 Tournament Winner!
License: MIT License
Protoss AI for Starcraft II. CMPUT 350 Tournament Winner!
License: MIT License
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.
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.
Units should split up to find bases and congregate to destroy found enemies instead of roaming as a group.
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
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
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.
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)
If a building doesn't have power, we should build a pylon nearby to repower it.
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.
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.
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.
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?
Key buildings need to be rebuilt when we lose them.
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.
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.
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.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.