Important Information about the 420 Game

4/20 | The Game | Vehicle |Equipment | Training | Schedule | Rookie Teams

This page is designed to answer most of your questions regarding the upcoming adventure, so that you may make the necessary preparations. Please read it thoroughly.


We will be meeting with teams in the afternoon and evening of Friday, April 20 in the city of San Francisco. It is not absolutely necessary that the entire team be there, but it is recommended. You can sign up for a 20 minute slot by pressing here. You will receive more specific instructions later.

The Game

The Game itself will start in the city of San Francisco sometime between 9 and 10am on Saturday, April 21. You will learn exact details later.


You must use only one vehicle for your team. The route will accommodate large vans.


You must have at least one cell phone and the apparatus to keep it charged throughout the game. Please provide the numbers for the phone(s) you will have in the team roster you submit by April 13.


To code your agent, you may call standard library functions, but please do not call any functions of the classes we provided other than the ones in the PlayerInterface. Use the ExampleActor as a guide.

One exception is the Position object, which we've provided for you as an easy way of storing grid position, and which is the object that gets returned from the position functions of the PlayerInterface, such as getMyPosition().

If you want to use a random number generator, please use the one that is a member of the PlayerActor class (rg) rather than creating your own or calling Math.random(). If you do not adhere to this rule, we will change the code for you.

You may write your own functions to get called from the act() function, and you may even write your own classes as long as they are defined within the same file as your actor. You may not, however, subclass any of the classes we have provided, other than, of course, the PlayerActor class.

We mentioned in previous instructions that we would add an example actor for those less savvy at programming that read the constants from a file, allowing you to simply create a file with constants. However, we have decided that, because you have to be able to download and run the code in any case to test your agent, it is just as easy for you to create an actor (subclassed from PlayerActor) that is identical to the example actor except with the constants changed. You can refer to the example actor to see how the subclassing is done.

If you have any trouble downloading and/or running the code we have given you, or you still feel that you do not have the expertise to create your own actor, please contact us at as soon as possible.


April 6: Team images (32x32) due. Mail to

April 13: Team rosters are due. Include team member names with nicknames as on application and any cell phone numbers that will be active during the game. This is also the deadline to sign up for your 20 minute meeting slot on 4/20 (see above)

April 20: Team meetings in the afternoon and evening. Sign up here.

April 21: Game begins between 9am and 10am.

Rookie Teams

There are a couple rookie teams playing in this game, and there are also some very experienced teams. We highly recommend that rookie teams use the game mailing list to contact the more experienced teams to learn about the process of The Game, e.g. what kinds of things they should be looking for before Game Day, and what kinds of things they should bring. Perhaps one of the experienced players could even post a kind of game preparation list that at least gives some examples. We will leave it up to you the teams to make this effort.

Send any questions to