The following content is provided
under a Creative Commons license.
Your support will help MIT OpenCourseWare continue
to offer high quality educational resources for free.
To make a donation or to view additional materials
from hundreds of MIT courses, visit MIT OpenCourseWare
at ocw.mit.edu.
PROFESSOR: Alright, and with that,
I think we'll be ready to start on lecture seven.
Not really a lecture, we're just talking
about lessons from the Sprint Tournament.
And you could whine and complain about the map set
and I would totally support you.
Because that map set was crazy.
So, I'm just going to have a seat here
and I'll bring up this little Word document that I've got.
Where we're going to talk about a few aspects of maps,
a few aspects of teams.
So let's zoom right on in.
So, map dependent stuff, which is written here.
So, we saw a bunch of stuff that really killed a bunch of teams.
We had mines in the way of spawn.
Make sure you check that you don't
try to spawn a unit on top of a mine.
That's another thing, if a unit is on top of a mine,
for whatever reason, he should probably try to move.
In previous years, we've had spawn delays,
so that when a unit is spawned it
can't move for a certain number of rounds.
But not this year, he can move immediately.
So if you're on top of a mine, and you have a hit point number
x, and the defuse time is y, and the number of rounds
it would take to kill you with the mine doing damage z,
you would just do the math and see
whether it's worthwhile to try to defuse it.
Because you can't have multiple units
defuse the mine on different rounds.
It doesn't continue defusion progress.
So anyway, they'll just die.
And we saw some real hero mines that
have been promoted to Supreme Commander
and they're now commanding fleets in the Pacific.
Another thing was encampments.
So, sometimes the encampments block off other things.
I mean, certainly we saw a lot of teams
lose because they built encampments around their base
and couldn't get out.
OK, so it seems like a dumb thing
when you're looking at it, but how
do you check for it in the code?
What's the best way?
I mean, it would be obvious to just try
to maintain a diagonal line straight from you to the enemy
and never lay bases on that line.
But maybe that's the only base.
So, I don't know exactly what the best
way around that kind of problem is.
Yeah so, the encampments can block each other off,
or you could block off the enemy.
We saw some of them, you couldn't
get to those other ones.
Let's see if I can open up that map.
Oh gosh, what are the chances I'm going to be able to-- No,
the chances are zero.
Yeah, I'll do it in Paint because it's just
the general idea.
This was one of the maps that I did design.
I didn't design all of them.
This was the one that looked like-- Oh, I
guess I can just use continual lines.
Oh man, this is going to be great, it's going to be great,
I'm looking forward to it.
Yeah, it was just like that.
And then the encampments where arranged a little bit
like this.
Yeah, yeah, it was like this.
These were the encampments and they were connected this way.
So there was a pretty short--
[STUTTERING]
Distance between Team A and B. So, Team A and B were there.
We had hero mines H and H that would kill entire armies.
Actually, I'd said that they went on
to be Supreme Commanders in the Pacific,
but then they were subsequently arrested for war crimes,
and executed.
But their descendants live on, the map is still there.
So there you have it, the cycle of life and history.
So anyway, the point that I was trying to make,
before I confuse myself here, was
that B would go ahead and build a bunch of encampments
and then he wouldn't be able to get to these ones back here.
He couldn't get to them because he couldn't find them.
So, that's definitely something to worry about.
Maybe what you should do is say, I'm just
sort of speaking off the top my head here,
is if you can't get there and you're a robot
and you're trying to path around them,
maybe you should send a signal to this fellow
that he should suicide, and then the team should remember,
from now on into the future of time,
that they shouldn't try to build something there.
And then maybe that'll be the new route
to the expansion of new colonies and exploring space
for the benefit of humanity.
So, we see that they can be blocked off,
don't know exactly how to fix that problem.
We saw other issues, like Team 0 or 116.
They shouted attack and they died at round 2,002.
That was too sad.
I have the match here.
And it was like they were cut off
and maybe that was an exception.
So, definitely want to look for exceptions
that will take place if you're cut off.
And maybe just communicate to the other bases,
hey, I'm cut off, please kill yourself.
And I'm sure they'll comply.
Luckily, Battlecode is not like the actual world
where it would be really hard to make that argument to them.
They're like, yeah, but, but it's me.
I've heard a little bit about rush distance.
We had one map that was called something
like, I don't remember what it was called,
but we kept calling it Bad Ideas.
Where the map was like this.
Oh man, that map was fantastic.
I didn't make this one.
It had a big minefield in the middle
and then there was a and b located here.
And then on the very edges of the map,
there were encampments in these corners.
And so, the idea was that if you actually take some of your,
you're pretty close here, this distance
was, I don't know 15, or something.
And so, if you would send your guys out in this way,
by the time you built the encampment-- first of all,
you're losing soldiers, second they're
not going to help you defend, the enemy's
just going to go ahead and kill you.
So, if you see this distance, I mean,
I think a decent set of heuristics for a map
should be the following.
Here's map heuristics.
[SLOWLY SPELLS HEURISTICS]
I think that you could say, distance to enemy
and distance to closest encampment.
[SLOWLY SPELLS ENCAMPMENT]
And then you could do, I guess that's pretty much
all you need.
Because I think, distance to enemy is unimportant.
What you should do is number of mines
to the enemy and that encapsulates distance.
And so, then you could be like, OK, if this distance is big
and this number is small, then there you go.
So, all you've got to do is say, that number minus that number.
And now, you're starting to have something
that you can compare to if it's big, if this quantity is
greater than some number, then do something.
Anyway, you guys get the idea.
We had a couple of maps where we had lanes next to the mines.
I think we do that quite a bit.
Some of the maps that we gave you initially, you
could just walk straight to the enemy
if you path around the mines.
And the lanes weren't that complicated, all you have to do
is make one little turn and then you're going straight
to the enemy, all the way.
And we saw some teams use this, but we also
saw them put encampments on the lanes
and then they couldn't walk there.
I think there was one very critical match and that match
went something like this.
Are some of you obsessive compulsive?
You're get a little bit annoyed by these little bits?
OK, there you go.
I think on the map that I'm describing,
it had these late like this.
And so, these are the mines that I'm drawing
and then between those we saw the encampments
that you could capture.
Some I'm just going to make it slightly more symmetrical.
We had Team a over here and Team b over here.
And the teams were just lined up exactly with the mines.
So, that if you counted the mines directly
between you and the enemy, it was a large number,
but if you counted this number, it was a zero number.
So what Team a started doing, and I'll just
recap because not all of you will have seen that match,
is they started defusing these mines this way,
but simultaneously, they were capturing encampments.
So, I believe they didn't think that there
was a straight path to the enemy.
Because whenever they captured something,
they also got these as soon as possible,
so they could never really get around.
And simultaneously, B was building up
a minefield and researching nuke.
Yeah, nukes for the win.
AUDIENCE: [LAUGHTER]
PROFESSOR: So, I think it was pretty weird.
We ended up seeing, I guess you could classify it
as almost three strategies, there's a rush,
there's an econ strategy, and then there's a nuke strategy.
There's overlap, of course, but it almost
seems like there are three strategies.
In this map, for this particular map,
we saw that econ-- he's building these encampments,
if he didn't build those he would have gone straight
to the enemy, it would have been great-- this econ strategy was
defeated by the nuke.
So, I'm just going to do an arrow.
Econ on a large map would kill a rush and on a small map
a rush would kill a nuke.
Is this Rock, Paper, Scissors?
No, but given a map set it can be rock, paper, scissors, e.
It could be scissors, e.
Anyway, the point is that whenever
we have something like this, if you're not
taking into account the maps, so that it's just picking it
at random, then one result that you get
is the tournament can not make sense.
It's more than just some simple concept in your head,
that the tournament isn't making sense.
Because the basis of a tournament
is that when it's done you know who's the best, right.
It's supposed to be that teams, they've
got a fundamental goodness, and that the top team is best.
But if you have three teams, rock, paper, and scissors,
and you hold a tournament, what is the point of the tournament?
You're not to find anything out at the end and, of course,
you all know this.
And my point is that you feel it so viscerally
when it ends up happening.
So, the only solution is to use that map data
and to say, OK, I know it's a short map,
or I know it's a large map, or something along those lines.
That's the only thing you've got to do.
And I'm very confident that we're
going to see a whole lot of that in the following matches.
Not in the ones we're going to watch today,
in the ones that are going to be submitted
to the subsequent tournaments.
So, we saw the lanes next to the mines.
We saw some really good positioning of artillery.
It made the difference between victory and loss
in a lot of cases.
And I'd like to point out, especially
in the presence of my simulator here,
that a little artillery can go a long way.
So, I don't know how many of you have
had a chance to look at the latest update of my Battlecode
simulator, but it works the following way.
So here, I'm going to compare two strategies.
This strategy is to build robots and no generators or suppliers
and this strategy is just to continue
building two stands for a supplier.
So, there you can see the first strategy is in green.
How does that show up?
That shows up pretty well.
First strategy in green is to just build the soldiers
and you hit the maximum.
And then, the second strategy here,
you can see now in this updated version of this Battlecode
simulator, that you actually do lose some units.
You lose units that you would have had,
those soldiers are destroyed in capturing the encampments.
And then, you only pay it off later.
So, here you see the 150 rounds, or so,
between starting to buy those things and having it pay off.
And you can similarly see that that round
number is going to change.
If you only build two of these things,
it's going to be quite different and, well, I
guess it ends up paying off at about the same time.
That's curious, that's pretty curious,
but I'm sure its basis in fact.
Let's just double check here.
The suppliers do reduce your spawn delay.
So, here on the left, I've provided a table.
And this is all available on the internet.
So, you don't need Mathematica, because I did also
save this is a PDF.
But you can make this yourself in Microsoft Excel,
or something like that, where you see the number of suppliers
on the left, going from zero up on through
to some incredibly large number.
Which we did see in this tournament, if you guys saw.
I really love to watch some of those macro games.
And then, we see on the old spec what the spawn delay would
have been and then the latest spec.
So, the spec used to be 10 times 0.95 to the n,
where n is the number of suppliers.
The latest spec is 100 divided by 10 plus n.
So, the effect is that now, with the latest spawn delay,
we go down from 10 faster.
So, you see here, we're at six when the old one was at seven.
But later on we're higher.
So, we level off much sooner.
And so, we're at two here when the other one is at one.
So, there's a crossover and it's favoring getting them earlier.
Anyway, my point is we can go with number
of suppliers and the spawn delay.
So, when I get one supplier I should
see a spawn delay that improves by one.
And so, you can say, OK, the headquarters
is producing hit points per round.
That's the point of the headquarters.
I mean, sure number of units is a different metric
than number of hit points.
Because units deal damage, not hit points,
but it's similar because you're dealing damage and taking
damage, and there you go.
It's all a question of micro when you get right down to it,
it's all very clear and straightforward.
So, hit points per round is four.
If you build a single artillery.
OK, you build a single supplier, now your spawn delay
is nine so you're producing 4.4 repeating hit points per round.
So, that's an additional 0.4 repeating hit points per round.
That's what you've got out of building that supplier.
You got this.
And the next one you build will get you this.
I mean, if you build this one, you get even more.
I mean, some of them that you build don't get you anything.
So, you can see, incremental hit points per round.
But look, all these numbers, none of them are that big.
Whereas, if you got something like an artillery,
it can get you a large number of hit points per round.
Because really what you're interested in
is not just hit points for your team,
it's the difference between your team
and the enemy team hit points.
So if you build artillery that does get shots off,
I mean, if it shoots all the time,
then it's going to be dealing 40 damage every 20 turns.
And that's infinity, isn't it?
That's 40, 40 over, that's two hit point per turn.
That's a lot.
I mean, of course, it's not going
to do that because a lot of the time it isn't shooting.
But if it's shooting only 20 percent of the time,
then it's two times one fifth and now you have 0.4.
So, it's starting to be competitive to get
an artillery compared to a supplier.
So that's just one way of looking at things.
Definitely worth thinking about, I should say.
Because one of these artilleries can be,
as we've seen in some of these matches, worth its weight.
So now, the question is, is this code working properly?
And I think the answer is no, actually,
in characteristic fashion.
So, here I built one supplier and the production rate
of robots is approximately identical to the way
that it was.
So I'm just going to debug this a second.
Let's see here.
I think we have here, OK, so that's
the supplier number there and the question is
if that supplier number is there,
and the spawn time is being updated, then why wouldn't it
take effect.
Because that certainly does look like the latest spec.
Well, in any case, I think it will be safe for us just
to start with one and that's a decent fudge factor.
Let's do that.
Let's start with-- Oh my god, I'm terrible, terrible person.
Let's see it happen.
I'll figure it out later.
So there, now we see a little bit of a difference.
And we get the second one that should have, OK,
that had a big effect.
Was it supposed to?
It was.
The third one should have no effect.
Let's just double check that.
And then, what we're going to end up doing
is we'll watch some matches.
OK, so let's go back to having two.
And now, we'll go to having three.
And yeah, the slope didn't change.
I don't think the slope changed.
It just moved left and right because we
had to lose another soldier.
So, that's good.
I think there was just an offset of one.
I guess that makes perfect sense to me for some reason.
Yeah, I'll understand it.
In fact, let's pretend I understand it now.
It's just a question of when we're
pretending I'm understanding it, not a question of whether.
Alright, so, let's go ahead and watch
some matches because I really want
to illustrate a few interesting things about mines, and micro,
and so on.
So let's go.
All of you can do it.
I don't know if you've seen this,
but you simply go to Tournaments,
and you go to Results, and you click on Sprint Bracket,
and now you have access to all the
matches that you can download.
I mean it's not as great as being able to, for example,
get everybody else's code so you can play against it infinitely,
but it's pretty good.
And you can also convert this match data into XML files
that you can parse to find matches
that match a certain characteristic.
For instance, let's just do an example.
I guess we'll just pick any random match,
let's pick the final match.
Oh, I don't know, the final match was-- I mean,
I think what ended up happening is
we started having teams that rushed get to the finals.
And I think that was map dependent.
In the future, it may be less so that rush teams are
really making it up to the finals.
And there may be other, like an econ team--
We see one of the best econ teams here, hey I just met you,
was actually a cross between rush and econ.
We saw them, sometimes, build absolutely massive numbers
of macro buildings, and other times we saw them not.
I see one question.
AUDIENCE: Are you going to have best of five matches later?
PROFESSOR: Mr. Pipe Nexus?
AUDIENCE: Best of five matches.
PROFESSOR: Oh, best of five matches.
That's been introduced as a concept.
Sorry about my misunderstanding.
Best of five matches may be introduced later,
but it's still on the table because it
would require a large reworking of our tournament code.
Because, of course, we write things
in the most flexible and reusable way possible.
AUDIENCE: [LAUGHTER]
And the question about the previous one
that the suppliers cost upkeep, right?
PROFESSOR: Yeah, I think they do.
We can actually go straight into a match
and just double check that.
Because all we have to do is go to one
of those matches where one of the teams walls
itself in and just look at that.
Because then they have suppliers, but not soldiers.
So, let's go to that one.
I think I have it loaded already.
Those poor fellows.
I'm sorry Team 0, I'm sorry, but here you go.
They have a supplier and they are team 116.
And they're steady at 225 resources.
Whereas, I don't know, is that more
than they would be spending if they were doing nothing?
I think it might be.
There's a chance that it could be.
I'm going to go with yes.
But that's a guess.
I don't know.
It probably is.
It probably takes upkeep.
I guess that's another thing that
may be wrong with my simulator.
Anyway, I'm tired of saying that I'm wrong.
Let's talk about how I'm right.
Come on.
Come on guys.
Alright, so let's open up a match.
I want to start before teams that are rushing are winning.
Citizen Snips, for example, I think,
was doing some decent macro.
So, let's open that one up.
I think I was pretty impressed with that team.
There were also some teams that were brand new that
came from the bottom of the ladder.
And I think we'll have a chance today to talk
about those a little bit as well.
So, I'm just going to make sure that I'm
looking at the latest one.
Oh man, please sort them.
Would you mind sorting them, computer?
Thank you.
Man, I tell you, there's a problem with subordination
these times.
So yeah, we see Team Snips, on the right, is getting vision.
Vision was not a very popular upgrade,
but they're building these artillery in the front,
and then they're building supplier in the back.
I think that a pretty interesting approach.
And because of the map layout, they're
ending up using the artillery quite a bit.
So, we see a good shot there, it's not bad.
It does seem to deal some damage.
No, it deals no damage to allied units.
So that's great.
But I think later on we might see, yeah,
I don't know if that was such a great shot.
Because we took out two enemies at the cost of two
allied units.
So, I don't know, that seemed like breaking even in my eyes.
So, there's something you can do there
with writing artillery code to try to avoid allied units.
Maybe, I don't know, you shoot at-- You could literally
compute the value of every tile, but it seems pretty expensive.
So, I'm not sure exactly what the best way to do that is.
So, we see them getting vision, one of the rare teams
to get vision.
And we see them upgrading that, interlaced
with building their other robots and their other structures.
So, I don't know how I feel about interlacing
one thing and another.
So, I guess the idea is that it's not
quite as fast as researching it straight out,
but it's not quite as slow as getting it
after you get all your robots.
But actually, when it comes right down to it,
if you build, let's get out a simple program here,
such as Paint.
If you build four robots, 1, 2, 3, and 4, and you
research 25%, which I'll indicate as maybe there's
a completion bar.
And you research, I don't know, this much, and then this much,
and then this much, and then you're done.
How is that any different from researching,
from getting robot, robot, robot, robot,
and then getting out the full bar?
I don't think it's incredibly different
and it may be just that it gives you more flexibility
to make decisions part way.
Because maybe if you do this thing,
which I should change the color here.
Maybe if you get three of these straight out then
now you're fixed and you can't finish
this for a certain amount of time.
Whereas here, you give yourself more flexibility
to cancel this part way through.
But I just feel like this is the stronger move.
Because if you go up against this team versus that team,
then if there's an engagement at time, this time,
then right then and there you're going to have four on three.
And so, when it comes down to here,
you're going to have two guys left
and he's going to have one guy.
And it's going to be pretty clear who's going to win.
And it doesn't matter that both of you
have this stuff at the end.
It's just not going to matter, so I
don't know how I feel about the interlacing.
So, we see a bunch of that.
And we also see here that Team 70
is a team that either rushes, or goes for a heavy macro play.
And I get the feeling that on this map,
they've decided that the rush distance, the distance from one
team to the other, is not huge.
It's not that big.
And so, and there aren't that many mines either.
So, I think this is the reason why they're doing this rush.
I think it's pretty impressive that even though they're
down on units, pretty often we see two units from blue and one
unit from red, nevertheless, red is
able to hold off this blue attack.
I think Team 70 has some really excellent micro.
And I will remind you that Team 70 has one author who
was a former member of a team with Corey.
Who spoke yesterday at lecture.
And you remember that Corey talked all about micro.
Micro being the important thing that wins matches.
We're going to see that again and again.
You saw that the Sprint Tournament.
And I have ways of indicating again to you,
in video that we watch today, that that was incredibly key
in a lot of circumstances.
We saw that happen.
And so, it makes perfect sense that we
would see red have some really good micro.
But at the same time, he's not going
to make any inroads against this player who's doing artillery.
And you've got to wonder whether that's detectable.
Whether he can tell that he's dying to artillery.
And whether he can tell the main base,
hey, this is our artillery, so we've
got basically two choices.
One, we bunch up a lot of units and we
make sure we attack all at once and spread out enough
so we're not taking splash damage from that artillery.
Or, we've got to get shields, or we've
got to do a massive econ play.
Basically, we've got those three choices.
And neither of those choices, neither of those three,
are among the choice of just simply sending
one unit at a time.
So, I think a lot--
Now see, did you see that happen?
That's pretty surprising.
You see the enemy attack and you see red outnumbered.
So, this is two enemies to one red.
OK, and the two enemies are grouping
around the enemy headquarters.
Because they're not really prioritizing
attacking that one red guy.
They're just going toward the enemy, it seems.
It's not, I mean, it's not that obvious
that they're prioritizing enemy units.
So what ends up happening is this one red guy
is managing to kite and attack only one blue guy.
See that?
And, I guess, there's probably awesome stuff
that you could read in their indicator strings here.
Remember that when we show the tournament,
the indicator string bar is not there.
That's just not part of the tournament viewer.
But if you watch the replay, you can read their indicator
strings and you might learn some about what those robots are
trying to think about, or trying to do.
So, here you see the red is really kiting these guys.
And he's almost using his headquarters
as a defensive structure.
You can see here, he's almost come back
because he's got two units and this guy's capturing
an encampment and you can't cancel that.
So, he's almost recovering here and just
through the use of micro.
I think it's very impressive.
And it's only because he walks into that artillery fire
again that it seems like he has some trouble.
I mean, there are multiple ways of reading the system, reading
what happened in this match.
But, I think that was pretty interesting.
This is one of the only shields that we ever see.
I don't see any reason why blue would have decided to build it,
especially in this location, especially given this guy
has no artillery, especially, especially, especially.
So, I think this game's pretty much foregone.
And I think this one is also foregone.
OK, here's a great example.
So he has built three suppliers.
OK, three suppliers out of Team 216.
And there you go, he has 180.
Whereas, at the beginning, I think you were stable at 194.
So there we have our definitive answer to that question.
I think you are stable at 194, so these do take hit point,
they do take and upkeep, these supplier units
that he does end up doing.
So, that's good.
That makes me feel happy.
So that goes on to a round three.
I mean, yeah, you've got to check that.
OK, I've said it before, don't want to repeat
myself, very good.
So, Team 70, both teams are deciding this is a macro map.
Pretty interesting, because once again,
we saw team 70 not do macro.
But look at this, he's not running straight for macro.
He's got this decision in mind.
That's one generator and four suppliers.
Wow, let's just rewind, just rewind just a little bit,
just a little bit right now.
So yeah, he's getting the generator first
and then those three.
Meanwhile, he's getting fusion.
He's already got fusion.
And I think he prioritizes that upgrade.
It's pretty strange because you see him, I think,
get it before even is first unit.
So here, we're looking at round 20.
Round 15,16, 17, he still hasn't built a unit.
Whereas, blue has built two units already.
It's questionable whether prioritizing fusion
is going to be that good, because he prioritizes
fusion but then doesn't actually use all that energy.
He's still at 1,600.
Does he ever actually use it?
Maybe.
It's going to be later.
And this team could be even more powerful
than it was, perhaps, if it perhaps
did that a little bit later.
So yeah, let's go back and let's think about this.
Because this set up here is meant
to strike at a certain time.
And the time when he's meant to strike,
imagine setting up this way, where you're like,
OK, I know that depending on the number of macro buildings
I build, that will give me an attack timing.
Where it'll be the perfect moment for me
to attack because I'm just running out of resources,
I'm just hitting the peak of units.
Well, maybe that attack timing should exactly
match how long I estimate it will
take for me to get to the enemy.
Now, you could use the headquarters
to say, to just calculate explicitly,
it will take me this long to get the enemy,
I had better have some macro up by that time.
And that could be exactly what he's doing.
So, let's do a little check in Mathematica,
where we'll say he's going to build four of these suppliers
and he's going to build one generator.
So there, we see that he's going to cross over
and he's going to be even with the enemy at 200.
So, let's hope that he attacks the enemy closer to 300.
Let's see what happens.
So there, he's just pausing.
All his units are pausing.
It's round 269, they're not doing anything.
It's round 300, they're still not doing anything.
I guess it's because he's taking more bases that he's decided,
OK, I have something, that's a lot of units.
I'm pretty sure this is a defensive move.
That he's just going to move out here
and he's expecting these to defend him.
Unfortunately, that's not exactly
on the midpoint between the two armies.
And you've got to wonder whether that's a deliberate idea,
or whether he's chosen to go in this direction
for some other reason.
Because we're going to see blue go ahead and take out
a lot of those bases, a lot of that
stuff that he had on the bottom.
So, we see once again that red ends up using,
and does in most of his matches, he
ends up using his reinforcing stream as a defensive tool.
If he didn't have that stream of units
continually coming out of the base,
there's no way he would be able to defend this.
Because these guys are not programmed
to turn around and come back.
Once again, blue has this great, look at this positioning.
I think it's probably not just great positioning.
It's probably just that every other time he's
building one or the other.
Because we see another artillery here,
and here, and here, and here, and here, whereas red
has not built a single artillery.
So the question is, is it the building
of one thing or another that has made
the difference in this match?
Because we're starting to see red
is starting to get a lot more units.
And that artillery is not always shooting.
So, I think it's a pretty open question
whether it was actually worth it.
Because in this long match, it ends up
being that red prevails.
So yeah, I mean, that's pretty interesting how red
has got a relatively simple move.
He's just picking rush or econ.
And when he goes econ, he goes econ all the way,
and when he goes rush, he goes rush all the way,
and his micro is fantastic.
And those little things alone, little, though I may call them,
are really significant.
OK, so that's spending a long time on just one match.
Let's look a little bit, let's look a little bit
at Game of Death.
Game of Death is a team that started out really low.
So, let's see here, Game of Death.
So, we can click on them here under Battlecode Teams.
We see that they were 13 and 3, their ranking
was at the bottom of the scrimmage ranks.
So, let's have a look at how they made it up to round four
from the very bottom round.
They had a bad seed at the beginning
and they made it all the way up to here.
How were they able to do that?
Because they must be doing something right.
What's this turnaround?
Let's, have a look at this.
So, I'm going to go over here and I'm
going to run that match.
And I'm pretty sure we'll have time to talk about all
of the interesting things that happen in this one
and in the next ones.
So, here on the right, we have that team,
that new team which is upsetting,
one after another, other team.
And he's going to build suppliers,
so he's built two suppliers, and he's building a few mines
around the headquarters.
And it looks like he's just rolling
over team 172 which was Drunkasaurus.
Drunkasaurus is another one of these rush players,
and you'd expect rush to be pretty effective on this map.
So what happened?
I think it's worth mentioning that a rush player would
do well.
If this rush player is not really pathing around mines,
if that's not the way that they're
planning to play the game, then they probably
ought to get defusion.
I mean they've spent a few rounds buying fusion,
doesn't make that much sense to me.
I think you might get one free around at the beginning.
It seems like a lot of people will just
put one point into something.
But the amount of time it takes him
to get the enemy he can compute because he just went straight
there.
So, he can compute that time and he can say, alright,
was that worth it.
It's also worth mentioning that, I think,
in a lot of these engagements, he's
busy defusing mines during combat.
And like we said before, you can't
attack while you're defusing a mine.
So, part of the best reason of getting defusion
is so that you only have five rounds of inaction.
So that, let's say, nobody's around.
It's perfectly safe, great time to defuse a mine.
So, you start defusing that mine.
Now, you see the enemy.
You can't cancel the defusion process.
So, if you were going to do a 12-turn diffusion
and you see the enemy and he's at a distance of,
wait, what's the distance?
All we have to do is look it up.
So, let's go to my Useful Specs document,
which is neither handy nor dandy.
It's, in fact, much more serious and much more useful
than both of those terms would suggest.
So, range 14 is your sight range.
You can see a unit that's three tiles away.
I can zoom in a little bit more here.
It's rastered, so it looks kind of silly.
I always think it's interesting how when you raster something,
sometimes it becomes orange on one side
and blue on the other side.
I'm sure some of you in this room understand it.
And I'm sure that some of you in this room
don't care to understand it and never want to.
So, he's three units away, right, the enemy
is three units away, and you just
started defusing the round before.
So if that's a 12-round defusion,
then by the time he gets to you, you've
still got seven or nine rounds left, if you subtract correctly
and depending on the turn counts, and whatever.
That's a lot of time that you're just
going to spend doing nothing.
And how long does it take for the enemy to kill you?
They deal six damage per round, you have 40 hit points.
I can't divide, but that sounds like seven-ish, seven rounds.
Well, look at that, so you had 12, you didn't see anybody,
they had time to approach and kill you and go away
before you finished.
That's really lousy.
Even if they get one hit off on you,
that's going to make a huge difference
because this is a knife edge game.
It's a game of instabilities because we don't start you off
with a command center that deals damage, for example.
We don't give you that many defensive advantages.
So, as soon as the enemy gets a couple more units in you,
it's just going to start pushing in that direction,
unless they start making mistakes.
So, that's one of the reasons why
defusing a mine without defusion and without vision
is a problem.
Let's say you have both vision and defusion.
I mean, of course, they're very expensive upgrades,
but let's say you've got them.
Well now, it's only going to take five rounds
to defuse something and you have can
see a unit that's five tiles away.
So, let's say he's over here, you don't see him,
you start defusing.
Now, he's starting to show up and he's moving toward you.
By the time he gets there, you're done defusing
and you can start shooting.
That's a pretty big difference.
And I think that's one of the reasons why
we see a lot of successful rush teams
go ahead and get that defusion.
Whereas, we see Drunkasaurus here not getting defusion.
We see decent micro on both teams' side.
I don't know exactly if this is good micro coming out of both,
there's certainly a lot of motion going on.
It's anybody's guess.
Here both teams are defusing mines.
They're just watching each other,
maybe they're playing Parcheesi with the mine defusion,
exchanging tips on how not to get blown up.
AUDIENCE: [LAUGHTER]
PROFESSOR: I think it's a very odd thing to see,
I think it's quite strange.
But yeah, the point has been made,
the point has been abundantly made.
Another thing, if you're retreating
and you are adjacent to the enemy,
I think we've seen this a lot, and I
think that is what's going on in some of these cases,
maybe this guy is adjacent to the enemy
and maybe he's retreating because he's got one energon.
He's like, get me the hell out of here.
I think he's maybe or was trying to retreat at some point,
but it's a bad idea to defuse a mind when
you're adjacent to the enemy.
Don't start, just don't start.
It's like smoking, just don't start.
Yes, this advertisement brought to you
by the American Society for lungs.
I don't know, I just thought that sounded right.
So yeah, here once again we see this is the same two players.
But in this case, the blue team just, I don't know,
he's dancing, or something.
It's not super effective.
He's building nukes.
Somehow he's decided, yeah, now's the time to get nukes.
AUDIENCE: [LAUGHTER]
PROFESSOR: I've gotten Pickaxe, but I'm not using it.
So, I think, but no, to be fair, I think, what he's trying to do
is lay a bunch of mines into a minefield.
And he's doing that using his Pickaxe.
But, I think, maybe he's thinking,
alright, there's a lot of neutral mines,
these are supposed to help me out, I shouldn't destroy them.
But nevertheless, the red team is able to just roll this over,
so it does go on to a third a third match.
But what a difference.
What a difference we see here.
He's getting close to his maximum.
But we see he's optimized for this.
Look at his units.
He's using 500 bytecodes, that's effectively zero.
So, he's going to be able to get up to the full 40 units.
And that strength of that 40 units,
what is the strength point of that 40 units?
Well, let's simply go back here to here, to here.
That 400 round counter?
That's exactly when you hit your maximum
if you haven't built any upgrades.
And that's exactly when he arrives at the enemy base.
So, unless we start changing the maps, not getting upgrades
is going to be fine for you.
As long as you're not doing what he
did in the last round, which was somehow bad.
I mean, you've got to have that clump of units.
And, I think, one thing that we see again and again,
is once a team loses its clump of units
it sends them in one by one.
Now, it's not obvious but that's a bad idea.
Because we've seen teams win that way.
So, what do you do?
OK, now that was pretty one-sided, what happened there?
Did blue have more units or did red have more units.
OK, let's go and say this is three by five.
So that's 15 units because these three go into it,
and that's 18.
So, that's 18 units.
This is three by five with three missing,
so that's 15 units plus, OK, that's 18,19, 20.
So, this guy's got 20.
I guess that accounts for these guys that blue left behind.
So red's got a slight advantage.
All teams are defusing mines, these two could be fighting.
There is no reason for them not to be fighting.
Now, red has managed to kill this guy off very handily,
because of that advantage.
We saw before, in Corey's lecture,
how he's talking about this being
a very unstable situation, where if you've got
one gap between the two.
The person who closes that gap first will win.
So, let's see if somebody's going to close that gap.
Well, now look at how much damage blue is doing?
That's pretty impressive and, I think,
part of that is we're seeing that a lot of red's units
are just spending time defusing, this one and this one,
in particular, also this one, which is right in the middle.
These three in the back, definitely not ones to ignore.
So yeah, blue ends up coming in here
and capitalizes on a little advantage.
Now, red, OK, red is still attacking.
There's a point in this battle.
One of things about battles is that you
know where the enemy is.
Right, so you can make that count.
You can count them, you can say, alright,
we're about to lose this battle.
Here's an interesting question for you.
You're losing a battle, what do you do?
Do you call for reinforcements and say, OK,
if we have more reinforcements, we won't lose as badly?
Or, do you say to the reinforcements,
please go back to the base and regroup,
it's your only chance to live?
I mean, I don't think we have, I'm hitting the b button,
there's no broadcast going on in the whole map.
But you could imagine the case where
they would be like, OK, I'm telling
my allies get the hell out of there.
And this guy, so, he sees a very bad situation,
and here he's two tiles away from an enemy.
He's got the choice.
Do I move?
Close that gap?
I mean, that's a bad idea, right?
From Corey's lecture, you don't close a gap of two,
because then you won't have the attack advantage.
That's not a good idea.
But what's he going to do?
So, let's click on it.
Oh, look at that.
He moved in.
And what's he going to do again?
Oh, he's kiting a little bit well,
he's only fighting one of the enemy.
That's not so bad, but he ends up being destroyed.
I mean, what can he expect.
I think it would be very reasonable
for you to write code that says, OK,
if the enemy is there, what am I going to do.
A lot of times we've seen teams back away.
They try to do a retreat.
Of course, a retreat doesn't work if you're already engaged.
Let's say you're not engaged.
OK, we're smart people, we don't retreat when we're engaged,
that would be a bad idea.
We keep with it.
We have our commitment.
But we back out.
Where do we back out?
We've seen teams, time and again, try to back away
and then they get stuck, because there's mines in the way.
They only cleared a very narrow path through to the enemy.
So, why not remember the path that you
took to get to that enemy, so that you can then, just
follow that backwards?
You have omnidirectional view, so that might work.
It might not, it might be a terrible idea.
But I'm just putting it out there.
Because you can save map locations pretty easily,
to an array.
And then, it's, OK, just pop that array back.
So, you're pushing to an array and then
you're popping the array values back,
so it's its own ordered list of where I've been,
and where I want to go back to, and what
I want to do with my life, and whether I
want to visit Paris and eat baguettes.
So it's a full integrated system for traveling the world.
And, I think, red could definitely
benefit from that, especially in a case like this.
I mean, would he be able to come back from this?
Probably no.
I mean, just a little bit of macro from blue, I think,
ends up making a huge difference.
But nevertheless, it's worth mentioning.
So, why does red not win this map?
We've seen rush teams do well.
I think it's just because blue actually
built any units at all.
But there you have it.
Good game.
That's a good game.
Let's make sure that we're getting to everything.
So, we've seen some games where we had a run around.
Where one team would run around, would
circumvent the other team, and deal damage
to the headquarters.
As we've said before, the win condition is as follows.
I don't think we've been that straightforward on what
the win conditions are.
First and foremost, it's a headquarter hit point.
So if you can get one hit off the enemy,
that's a good time to just back out.
Maybe, the time now is to just lay some mines
and play defensively.
As long as you have registered a hit on the enemy headquarters.
Let's say, if your soldier moves to the enemy headquarters
and is adjacent, that's a nice time for him to broadcast,
hey, I was adjacent to the enemy headquarters, ergo,
I did damage to him.
That's a given.
That's always true.
Unless the enemy has a med bay adjacent to his headquarters,
dealing damage-- No, that's not going to work?
AUDIENCE: [INAUDIBLE]
PROFESSOR: Well, there you go folks,
you've heard it from the words of somebody knowledgeable.
So yeah, so there you go, so you would know,
so you could message and you could play defensively.
Headquarter hit points first and foremost,
number of encampments, second, number of mines,
third, number of robots, third, fourth.
Good one.
Yeah, so we saw some runarounds.
We saw some teams running around the enemy.
And we've also seen, especially at the lower
levels of the bracket, if your headquarters is under attack,
it is of paramount importance, tantamount
to paramount importance, that you come back and defend it.
Definitely worth sending a signal.
Allied soldiers, either protect me or just declare
yourselves null and void and you're not
going to get a Christmas bonus.
So, like I said before, Game of Death was a great team.
We saw them get really far.
Velociraptors, Drunkasaurus, and Cortege,
we saw them rush and be very effective with that.
There are ways of making a rush more effective,
we saw them do those things.
I think it was very impressive.
We saw Soda, which was a really good team.
They did well in the newbie tournament last year
and I'm excited to see them back again this year.
There were certain things they didn't
do that we're kind of strange and a lot of teams
here probably felt that they could have done better.
These little edge cases end up being so important.
On Little Forts, they're standing right next
to the enemy, this was so sad, they're
standing right next to the enemy while the enemy
researchers nuke.
And they're surrounding them, they've got tons of units,
but they just didn't move in.
I mean, there's this certain state machine code, maybe
a couple of mines, maybe they had indigestion.
There's clearly a good reason, but they just didn't do it.
And checking for those edge cases is just so hard to do.
I think is all going to be so cleared up though.
We're going to see some great stuff.
Hey, I Just Met You, again, we saw their bipolar response
to maps.
I thought that was just fantastic,
absolutely fantastic.
I want to finish by talking a little bit
about the way the game might change in the future.
So, you saw certain specs and you saw certain maps.
This is the kind of thing that we change after the Sprint
Tournament or the Seeding Tournament,
where we go, OK, we want to tweak this a little
to make sure the game is interesting.
That's our big focus.
We want the game to be interesting.
We don't want it to be random.
We want to showcase how amazing you guys are.
So if it ends up being the case that rushes are the best
and that a little bit of microcode
makes a difference between winning and losing
100% of the time, I don't think that that's great.
I don't like that.
So, let's say that there could be changes.
Now, when you hear that, you probably go,
aha, he's going to tell me the changes that
are going to happen, but he's not
allowed to tell me the changes, so he's
going to tell them hypothetically,
but they will actually happen.
But no, that's not the case, I'm just coming up with them
hypothetically, I guarantee it.
OK, so the changes are, OK, we've got a nuke.
The nuke is 400 rounds.
OK, we have the maximum soldier count
for a rush is at 400 rounds.
We've seen that using my Mathematica simulator,
we've seen it with soldiers, I'm sure you've
written it yourself.
I mean, it's technically 200 rounds
if you're computing digits of pi.
Yeah, because, as we've said before, that
would mean that you have a whole lot less tabs.
So, that's 400 rounds.
The minimum distance between headquarters is 10.
The maximum distance between headquarters
is, I think we said it was 200 rounds of walking mining.
I think that's what we said it was.
So, in the current set, you're not
going to get a map that's 400 on the side.
I think the maximum we said is 70.
So, if it were 70 on a side, then there
would be exactly 70 mines between you
and the enemy times 5 rounds per mine is 350.
So that's absolute worst, worst, worst,
that it could possibly be and that would look like this.
That would be all grey, full of mines.
And that's just not going to happen.
Realistically, we're going to put in some silly path,
and you can just walk there.
So, with the current spec, the point
that I'm trying to make-- I mean, OK, you could add 25
because it'll take you a little bit of time
to research defusion, so you can get
to the other side-- but my point is that this is only 350.
And so, you're really only going to have 200 rounds of walking.
And the fact is we don't want to get that close to that number,
so we end up 99% of the time, right now
we're making it 100 rounds of walking.
AUDIENCE: That would be six, right?
Because you're moving for five rounds and then you move,
right?
PROFESSOR: OK, sure so it's six.
Very good.
So that's a six and that's a 420 + 25 = ugly, no,
it's a-- I don't know, it's ugly.
You made my diagram ugly.
You know what?
I'd rather be correct than beautiful.
I mean, oh, I can't have both?
OK, so anyway.
AUDIENCE: [LAUGHTER]
PROFESSOR: My poor diagram.
I knew you well.
Yeah so, there you go.
See, just looking at these numbers here
you can add them up and you get 730
and it doesn't mean anything.
No, I'm kidding.
You can see these numbers, they just
don't make sense for econ strategies.
They just don't make sense.
So, what we might do, and what I've
been telling the others I would like to do, is set nuke to 600,
let's say nuke were 600.
This can stay at-- it doesn't matter what things
are in absolute terms, it matters
what they are compared to other terms--
so the soldier rush, OK, let's keep that 400.
The nuke is 600, let's make the maximum distance 300.
So now, these are changing at the same rate,
the nuke and the distance are changing at the same rate.
So nukes will be no more favored.
What will be favored is now it's farther to get to the enemy.
And you still have the same number of, maybe
a smaller number of soldiers relative
to what the other guy has.
So, this would favor econ.
If we increase nuke and the distance then
that will favor econ strategy.
And so, then I think we'll start to see
some more interesting games where there's just a couple
more encampments being taken.
And this competition is moving in wonderful directions
and it's moving that way under the fiery engines
of your spirit.
Thank you for attending the last lecture
and I'll be around here for questions afterward.
AUDIENCE: [LAUGHTER]