+ All Categories
Home > Documents > Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf ·...

Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf ·...

Date post: 16-Mar-2020
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
131
Transcript
Page 1: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.
Page 2: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

Today

• Administrivia

• Why Battlecode?

• New Features

• How to Win

Page 3: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

AdministriviaTeh Devs

• Ben Frenkel

• Dan Gulotta

• Trevor Rundell

• Joel Stein

• Andrew Sugaya

• Aleks Tamarkin

Page 4: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

AdministriviaContact Info/Bug Reports

• Website - battlecode.org

• Email - [email protected]

• IRC - #battlecode on freenode

• Forum Posts - battlecode.org

Page 5: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

AdministriviaSchedule

• Register for 6.187

• Lectures @ 12:30pm in 34-101

Page 6: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

AdministriviaTournaments

• Sprint - Monday, Jan 10 @ 3pm in 34-401b

• Seed - Tuesday, Jan 18 @ 3pm in 34-401b

• Qualifying - Tuesday, Jan 25 @ 3pm in 34-401b

• Final - Saturday, Jan 29 @ 7pm in Kresge

Page 7: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

Why BattleCode?

Page 8: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

Why BattleCode?Fame

Page 9: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

Why BattleCode?Fortune

Page 10: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

Why BattleCode?Fun

Page 11: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

Why BattleCode?Eternal Glory

Page 12: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

Why BattleCode?Preparation for World Domination

Page 13: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

What’s New?

Page 14: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

Units (2010 Battlecode)

• Archon

• Wout

• Soldier

• Chainer

• Turret

Page 15: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

Units (2010 Battlecode)

• Archon

• Wout

• Soldier

• Chainer

• Turret

Page 16: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

Modular Robots(Build-a-bot)

Page 17: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

Chassis(The Body)

Page 18: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

Components(The Guts)

Page 19: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

Chassis + Components(The Robot)

Page 20: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

ChassisTypes

• Light

• Medium

• Heavy

• Flying

• Building

Page 21: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

ChassisLight

Low HitpointsLow Weight Cap

High Speed

Page 22: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

ChassisMedium

Medium HitpointsMedium Weight Cap

Medium Speed

Page 23: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

ChassisHeavy

Very High HitpointsHigh Weight CapVery Low Speed

Page 24: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

ChassisFlying

Low HitpointsLow Weight Cap

High Speed

Page 25: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

ChassisBuilding

High HitpointsVery High Weight Cap

No Speed

Page 26: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

ComponentsTypes

• Armors

• Weapons

• Sensors

• Broadcast

• Misc

• Macro

Page 27: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

Armors(Defense)

Page 28: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

ArmorsShield

Reduces Damage

Page 29: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

ArmorsHardened

Caps Max Damage Taken

Page 30: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

ArmorsRegenerative

Regenerates Hitpoints

Page 31: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

ArmorsPlasma

Blocks Some Attacks

Page 32: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

ArmorsIron

Become Temporarily Invincible

Page 33: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

ArmorsPlating

Increases Hitpoints

Page 34: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

Weapons(Offense)

Page 35: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

WeaponsSMG

Low DamageHigh SpeedHigh Range

Page 36: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

WeaponsBlaster

Medium DamageMedium SpeedMedium Range

Page 37: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

WeaponsRailgun

High DamageMedium SpeedMedium Range

Page 38: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

WeaponsHammer

Low DamageVery Fast Speed

Low Range

Page 39: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

WeaponsBeam

Increasing AttackMedium Speed

High Range

Page 40: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

WeaponsMedic

Heals

Page 41: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

Sensors(Sensing)

Page 42: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

SensorsSatellite

High Range360°

Can Sense Other Robots’ Components

Page 43: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

SensorsTelescope

Very High Range45°

Page 44: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

SensorsRadar

Medium Range180°

Page 45: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

SensorsSights

Low Range90°

Page 46: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

Broadcast(Communications)

Page 47: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

BroadcastAntenna

Low Range

Page 48: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

BroadcastDish

Medium Range

Page 49: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

BroadcastNetwork

High Range

Page 50: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

Misc(Misc)

Page 51: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

MiscProcessor

3000 Bytecode Bonus

Page 52: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

MiscJump

Teleportation

Page 53: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

MiscDummy

Create Immobile Chassis Dummies

Page 54: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

MiscBug

Gain Another Robot’s Sensing Range

Page 55: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

MiscDropship

Carry Other Units

Page 56: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

Macro(Construction)

Page 57: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

MacroConstructor

Constructs Other Macros

Page 58: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

MacroRecycler (Building)

Place on MinesGathers ResourcesMakes Constructors

Page 59: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

MacroFactory (Building)

Makes Stuff

Page 60: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

MacroArmory (Building)

Makes Other Stuff

Page 61: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

Resources(How will you afford your army?)

Page 62: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

$Flux++

Page 63: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

$FluxHow to

Page 64: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

• Build Recyclers on Mines

$FluxHow to

Page 65: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

• Build Recyclers on Mines

• Mines become less efficient once depleted

$FluxHow to

Page 66: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

Map Mechanics

Page 67: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

• 10-50 Mines

Map Mechanics

Page 68: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

• 10-50 Mines

• Blocks (5x Building Hitpoints)

Map Mechanics

Page 69: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

• 10-50 Mines

• Blocks (5x Building Hitpoints)

• No Elevation

Map Mechanics

Page 70: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

• 10-50 Mines

• Blocks (5x Building Hitpoints)

• No Elevation

• 25x25 Min Map Size

Map Mechanics

Page 71: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

• 10-50 Mines

• Blocks (5x Building Hitpoints)

• No Elevation

• 25x25 Min Map Size

• 60x60 Max Map Size

Map Mechanics

Page 72: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

Robot Mechanics

Page 73: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

• Upkeep (Determined by Chassis)

Robot Mechanics

Page 74: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

• Upkeep (Determined by Chassis)

• 3000 Bytecodes

Robot Mechanics

Page 75: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

• Upkeep (Determined by Chassis)

• 3000 Bytecodes

• Activation/Deactivation of Robots

Robot Mechanics

Page 76: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to Win

• Destroy

Page 77: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to Win

• Destroy All of Opponent’s Active Units

Page 78: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

Specs!(battlecode.org)

Page 79: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to Win

Page 80: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to Win

• Write Good Code

Page 81: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to Win

• Write Good Code

• SVN / Git

Page 82: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to Win

• Write Good Code

• SVN / Git

• Teamwork

Page 83: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to WinWriting Good Code

package team000;

import battlecode.common.*;

import static battlecode.common.GameConstants.*;

public class RobotPlayer implements Runnable{

private final RobotController myRC;

public RobotPlayer(RobotController rc){

myRC = rc;

}

public void run(){

//Main while loop

}

}

Page 84: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to WinWriting Good Code

package team000;

import battlecode.common.*;

import static battlecode.common.GameConstants.*;

public class RobotPlayer implements Runnable{

private final RobotController myRC;

public RobotPlayer(RobotController rc){

myRC = rc;

}

public void run(){

//Main while loop

}

}

Page 85: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to WinWriting Good Code

if (hitpoints low){

run

} else {

find enemy

}

Page 86: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to WinWriting Good Code

if (hitpoints low){

run

} else {

find enemy

}

Page 87: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to WinWriting Good Code

if (hitpoints low){

run

} else {

if (enemy in sight) {

attack enemy

} else {

find enemy

}

}

Page 88: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to WinWriting Good Code

if (hitpoints low){

run

} else {

if (enemy in sight) {

attack enemy

} else {

find enemy

}

}

Page 89: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to WinWriting Good Code

if (hitpoints low){

if (enemy adjacent) {

attack enemy

} else {

run

}

} else {

if (enemy in sight) {

attack enemy

} else {

find enemy

}

}

Page 90: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to WinWriting Good Code

if (hitpoints low){if (enemy adjacent) {

attack enemy} else {

if (lost){deactivate //COMMENT!

} else {run

}}

} else {if (enemy in sight) {

attack enemy} else {

if (useless){deactivate

} else {find enemy

}}

}

Page 91: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to WinWriting Good Code

Page 92: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to WinWriting Good Code

• Use Abstractions

Page 93: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to WinWriting Good Code

• Use Abstractions

• Avoid Code Duplication

Page 94: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to WinTeh Secret

Page 95: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to WinTeh Secret

• Test Code (Unit Tests)

Page 96: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to WinTeh Secret

• Test Code (Unit Tests)

• Comment Code

Page 97: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to WinTeh Secret

• Test Code (Unit Tests)

• Comment Code

• Test Code

Page 98: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to WinTeh Secret

• Test Code (Unit Tests)

• Comment Code

• Test Code

• Comment on Comments

Page 99: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to WinSVN / Git

Repository• Central Code Repository

Page 100: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to WinSVN / Git

• Central Code Repository

• Update and Commit

Repository

^_^ ^_^

Page 101: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to WinSVN /Git

Repository

^_^ ^_^

Happy.

Page 102: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to WinSVN /Git

Repository

^_^x_x

Sad.

Page 103: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to WinSVN /Git

Repository

x_x ^_^

• Update before you Commit

Page 104: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to WinSVN/Git

• Update before you Commit

• Test Code before Commit

Repository

x_x ^_^

Page 105: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to WinSVN - The Usual Story

1. Update Code ^_^

Repository

^_^

Page 106: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to WinSVN - The Usual Story

1. Update Code

2. Compile^_^

Repository

^_^

Page 107: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to WinSVN - The Usual Story

1. Update Code2. Compile

3. Compile

-_-

Repository

^_^

Page 108: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to WinSVN - The Usual Story

1. Update Code2. Compile

3. Compile

4. Compile

-_- zzz

Repository

^_^

Page 109: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to WinSVN - The Usual Story

1. Update Code2. Compile

3. Compile

4. Compile

5. Finish Compiling!

!^_^!

Repository

^_^

Page 110: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to WinSVN - The Usual Story

1. Update Code2. Compile

3. Compile

4. Compile

5. Finish Compiling!

6. Error!

!x_x!

Repository

^_^

Page 111: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to WinSVN - The Usual Story

1. Update Code2. Compile

3. Compile

4. Compile

5. Finish Compiling!

6. Error!

7. Anger

!x_x!

Repository

^_^

Page 112: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to WinSVN - The Usual Story

1. Update Code2. Compile

3. Compile

4. Compile

5. Finish Compiling!

6. Error!

7. Anger -> Hate

!X_X!

Repository

^_^

Page 113: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to WinSVN - The Usual Story

1. Update Code2. Compile

3. Compile

4. Compile

5. Finish Compiling!

6. Error!

7. Anger -> Hate -> Suffering

!X_X!

Repository

x_x

Page 114: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

What Went Wrong?

Page 115: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

What Went Wrong?Repository had broken code.

Page 116: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

Always Test Before you Commit.

Page 117: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

Noob Mistakes

x_x x_x

x_x

Page 118: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

Noob Mistakes

• Thinking this is: x_x x_x

x_x

Page 119: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

Noob Mistakes

• Thinking this is:

• Starcraft

x_x x_x

x_x

Page 120: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

Noob Mistakes

• Thinking this is:

• Starcraft

• Starcraft 2

x_x x_x

x_x

Page 121: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

Noob Mistakes

• Thinking this is:

• Starcraft

• Starcraft 2

• Worrying About Large Scale Performance

x_x x_x

x_x

Page 122: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

Noob Mistakes

• Thinking this is:

• Starcraft

• Starcraft 2

• Worrying About Large Scale Performance

• Not Reading the Specs

x_x x_x

x_x

Page 123: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

Noob Mistakes

• Thinking this is:

• Starcraft

• Starcraft 2

• Worrying About Large Scale Performance

• Not Reading the Specs

• Starting Too Late

x_x x_x

x_x

Page 124: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to WinTeamwork

^_^ ^_^

^_^

Page 125: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to WinTeamwork

• Communication^_^ ^_^

^_^

Page 126: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to WinTeamwork

• Communication

• Be Realistic

^_^ ^_^

^_^

Page 127: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to WinTeamwork

• Communication

• Be Realistic

• Set Goals and Be Accountable

^_^ ^_^

^_^

Page 128: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to WinTeamwork

• Communication

• Be Realistic

• Set Goals and Be Accountable

• Code Together

^_^ ^_^

^_^

Page 129: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

How to WinTeamwork

• Communication

• Be Realistic

• Set Goals and Be Accountable

• Code Together

• Be Happy and Have Fun

^_^ ^_^

^_^

Page 130: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

• Website - battlecode.org

• IRC - #battlecode on freenode

• Forum Posts

• Email - [email protected]

Page 131: Today - Amazon S3s3.amazonaws.com/battlecode-releases/lectures/Lecture_1_BattleCode_2011.pdf · Fame. Why BattleCode? Fortune. Why BattleCode? Fun. Why BattleCode? Eternal Glory.

• Website - battlecode.org

• IRC - #battlecode on freenode

• Forum Posts

• Email - [email protected]


Recommended