mizzao / bot.land Goto Github PK
View Code? Open in Web Editor NEWOP bots for Bot Land
Home Page: https://play.bot.land
License: MIT License
OP bots for Bot Land
Home Page: https://play.bot.land
License: MIT License
if equipped with regen.
Higher the distance is from the centroid, the more likelihood we would move toward it.
Might help with #14.
If melee is not equipped, it will keep going around at 2x DPS (flash zapper).
But if it is, it should bash adjacent units a bit, cloak and all.
Will help with both side sneaks, as well as dealing damage that can't be reflected while tanks keep enemies still.
On defense:
Like spartans... band together to reduce surface area. Could be useful against uncoordinated/mass melee enemies.
Phase 1: dedicated reflect 3 / thrusters 3 miners lured out the tanks.
Phase 2: 2 of the same, plus 2 reflect 3 / melee 2 teleporters. Once rangers engaged the miners were pretty useless.
Phase 3: laser 3 / reflect 3. These guys were dumb and shot chips, but most of the damage was self-inflicted via reflect.
Ideas:
Not sure why this happened, but everyone just stopped moving or shooting.
Happened in 1 out of 50 games...
Tanks should have reflect 3, no shield.
Behind units should cast shield on tanks, as big as possible.
Need to figure out a heuristic to get shields cast on tanks.
Is canceling the call to zap
.
It is a lot more resistant to reflection (DOT instead of up front), and can shoot while backing up
Just like missile micro, it should run more the closer the enemy gets, not wait around to get pummeled.
Also, try running it on speed 3 instead of 1.
If missile kiters outnumber enemies (3>1, 4>1, 5>2) they should just fire instead of running, and taking a lot of damage in the corners.
Has repair, as well as a strong melee attack to break up anyone who gets near.
Requires code to coordinate movement.
Reflect 3 + cloak 2 + melee 2.
Regen 3, missile 2, thruster 2? or maybe TP
Gets around the cloak debuff by setting people on fire. Could be part of laser squad (#33).
Currently the n>5 check approximately achieves this, but we should be able to go straight for lasers without going around when reflection is active.
include movement code for when no enemies are in sight
Ideas:
It doesn't use thrusters that much with sensors, so no need to have thrusters 3.
And it doesn't micro that much anyway.
It will run across a whole column and back.
If there is an enemy in the row we're moving to, don't move there. Just move the other way, or back, or shoot. (This helps with offense as well).
This code may inadvertently help with artillery dodging, but that is only at 5 range, so we can factor it out to a separate section.
It seems that when one of the miners goes ahead and leeeroy jenkins everyone, there is not a good distribution of mines when enemies charge. We should help them to coordinate better.
Mine layers also don't lay enough mines when enemies are further out but not that close.
Ideas
Would be interesting if miners could keep formation, at least for the initial assault.
Melee: 300 / 450 / 550
Shield: 150 / 300 / 400
Only worth it if we have shield 3 and they have melee 1. Otherwise it just loses a turn.
Use state for this.
By the time attacking artillery that start from the back make it up to the front, defenders have backed up to the CPU, and just let the chips die.
Maybe this is OK though. The chips buy us a turn.
When:
Of course, generally try to self-cast shield first.
Loadout:
Attempts to keep the closest enemy at (1,1). On a diagonal so avoids lasers. Moves too quickly for artillery. Can only be melee'd with charge available. Reflects missiles.
Could complement missile kiters well. Worth giving a shot.
It jumbles around generally being useless.
With evadeEnemy. This will allow more mines to explode!
tryFireArtillery()
will shoot a chip or CPU even if we are getting bashed by a bot.
VS_LASERS
to either stay on row/col or on a diagonalEVADE_DISTANCE
: how close to stay to enemies while laying minesGenerally very flexible because 6 slots are open!!
Handle other equipment:
Used on attack.
looks for friendly bots to repair. broadcasts its location
if a bot sees repair bot nearby and no enemies, it waits to get repaired
mainly for supporting micro or artillery units.
Regen 3, TP 2, thrusters 2
The whole point of this bot is to keep the enemy team occupied for as long as possible. For hard to crack, coordinated defenses that need a distraction so that a crack team can take out the CPU.
Happens going up/down. Not sure why.
The failure mode here is just like the CPU, with artillery shooting.
Although, chips have less health and are more useful to kill. But in this case the bot was about to die and we were close to winning :-/
Check that we aren't waiting on sensors too much in movement code.
On side walls:
On rear wall:
Update the zap kite bot: note that when using thrusters with zapper, damage is dealt every time the bot moves. So effective DPS can be twice as high (!!) as with normal zapper. But enemy melee units can only hit you half the time.
Why melee a single unit for 550 when you can splash in all directions for 700, and diagonally for 350? Then just cloak when zap runs out, and do it again!
test in sandbox.
Not sure which one of these is authoritative, but the ones that aren't should be deleted.
.vscode/settings.json
.editorconfig
.prettierrc.json
tslint.json
They get stuck when there are more than 2 enemies, but should just run forward.
Too stringent and we risk getting a run-around and the CPU killed. We can probably clear if either condition is satisfied:
Also, bots should not follow enemies more than halfway across the map (just delete enemy target location). This will both cause them to be less sensitive to mines, and get back to the CPU faster in case of lures. Because it will return and not just sit at the edge, it won't be vulnerable to artillery micro.
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.