Giter VIP home page Giter VIP logo

pylonconstructioninc's People

Contributors

d0u0d0e avatar ejohns32 avatar ianmitchell avatar jaldag avatar lukediedrich avatar nivlaaa avatar tsaifi9 avatar zarbon avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pylonconstructioninc's Issues

ResourceManager should be requesting units

At a certain point, it needs to stop requesting them too (when resource nodes are saturated). Currently, the AI constantly builds workers and assigns them to ResourceManager.

ResourceManager - Defend base from workers

When workers come, need to peel 1-2 workers off mineral line (per enemy worker) and defend base with them. Only need this until there is an army unit out, or a cannon.

Create update method for Manager Interface

update method will be used to update each manager. For example, when a unit is destroyed, JavaBot will tell the managers to update

the main purpose of update is to update the internal structures of the managers when events occur

Assimilator not currently building

I believe this is because ResourceManager doesn't currently offer units back up (JavaBot can't steal them back) and as a result, there are no units to build it with. Needs to be looked into.

Pylon Spacing?

Not sure if this is a bug or not, but sometimes it seems like the Pylons are built relatively close to one another. Is this intended behaviour?

Clean up logging

Lots of code here and there that call System.out.print or bwapi.print, etc. Make sure all of yours gets cleaned up before Thurs.

ScoutManager - Scout leads opponent back to base

Once it starts getting injured, the scout runs back to base. It is possible for enemy workers to follow him all the way back, and then they start attacking our workers. Don't lead back to our base, but instead pick a point elsewhere on the map to retreat to. If you reach that point and are still in RETREAT mode, then find a different point to retreat to that still isn't our base. Once no longer RETREATING, continue as normal (back to base, or back to scouting)

Store Enemy buildings (ScoutManager)

The current system does not store enemy structures while scouting. I suggest that the scout manager stores the enemy buildings while scouting.

JavaBot Scout Assignment

JavaBot should just be interacting with the Managers; ResourceManager should be offering the unit up at a certain point, at which point JavaBot will assign it to Scout Manager.

Scout stuff, but A.I. not doing anything anymore

Maybe this is just me, but when I run the bot in starcraft if doesn't do anything anymore, maybe this is from things being moved around? Anyways, this was some simple scout stuff that would make it run away if it is attacked and run back if it sees a marine. It is untested though because nothing is working for me. See you guys tomorrow.

    int enemy = getNearestUnit(UnitTypes.Terran_SCV.ordinal(), enemyPositionX, enemyPositionY);

    for (BaseLocation base : JavaBot.bwapi.getMap().getBaseLocations()) {
        if (base.isStartLocation()) {
            JavaBot.bwapi.move(scoutSquads.get(0).getUnitId(), base.getX(), base.getY());
        }

        if(scoutSquads.get(0).scout.isUnderAttack()) {
            JavaBot.bwapi.move(scoutSquads.get(0).getUnitId(), JavaBot.homePositionX, JavaBot.homePositionY);
        }
        else
        {
            if(getNearestUnit(UnitTypes.Terran_Marine.ordinal(), enemyPositionX, enemyPositionY) == -1)
            {
                if(getNearestUnit(UnitTypes.Terran_SCV.ordinal(), enemyPositionX, enemyPositionY) != -1)
                {
                    JavaBot.bwapi.attack(scoutSquads.get(0).getUnitId(), enemy);
                    JavaBot.bwapi.printText("In your base killing your dooodZ!");
                }
            }
            else
            {
                JavaBot.bwapi.move(scoutSquads.get(0).getUnitId(), JavaBot.homePositionX, JavaBot.homePositionY);
            }
        }
    }

Extra Gateway Worker

Finally got bwapi working. I noticed that two probes come off the line to go build a gateway, but when one starts to build it the other one just stops doing anything altogether and does not go back to the mineral line. I'll look into this and see if i can fix it.

Handle enemy scouting/harassing

If enemy scout attacks a worker(in ResourceManager):

Check if army manager has a unit in the area. If it doesn't, have the attacked probe and a friend retaliate. If the attacker flees, send the attacked to chase until chokepoint. Friend should go back to resource collection.

Can reuse some code from Squad Manager. Might be worth making a Utils Class

Reset all variables on re-initialization of game.

When the game initializes after a game, our variables aren't reset. They need to be reset so that we don't have to restart the AI.

Assigning to myself; will complete this task once everyone has this implemented in their respective files.
@tsaifi9
@alvinfeng
@jaldag
@Phancycat

We should probably just create a public void reset() {...} method on the interface, and have everyone implement it.

Scout Multiple times (ScoutManager)

Later on in the game (maybe 6 minute mark; idk google toss strategy) start scouting again. Iterate over baselocations (excluding our bases)

remove UnitManager

UnitManager is no longer necessary. Before James strategy implementation, UnitManager was used to continuosly train probes + zealots.

With the Strategy Implemented, BuildManager now handles which building builds what because it contains the data structures for buildings. UnitManager does nothing currently

Build Nexus in proper location

BuildManager needs to do some special checking for Nexus and have it built next to the next available, and nearerst, mineral fields

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.