Dec 29th 2016 by battlecode-devs • 30 Questions • 4676 Points
is there a way to train on previous year's challenges or against a dummy ? This seems interesting
My understanding is that "ugly" produce is what is sold to companies that turn them into juices, Broth, and pieces so small that the defects are mitigated (such as baby carrots).
Is this the case? If so, how much waste is there if you account for these products?
Well I'm gonna be the first to ask the obvious- why did you quit??
Yes! For 2016's files:
Download the files here.
View the game specs here.
Java API / documentation is here.
Troubleshooting/help/FAQ forum post is here
It comes with a dummy player "examplefuncsplayer" that basically moves randomly. You can also download source code from last year's participants here.
Edit: added links. We'll also make these accessible on the website at some point.
You're right -- a lot of ugly veggies have a processor market. Apples, oranges, and other fruit tend to. Often even when there is a processor market, farmers are forced to sell it below cost. So we buy some of that stuff and are able to pay a lot more than processors do. But most items -- basically all the field packed product like celery, broccoli, cauliflower, etc. don't have a processor market and would be left in the field. And then even items like kiwis, eggplants or any other pears besides the bartlett often go to animal feed for 1 cent per pound.
I felt (a) unprepared, (b) underqualified, and (c) unsupported.
(a) The majority of the knowledge I gained during my time in college was of no use to me whatsoever. Most of the focus was on early childhood students and my professors all told me (us, I guess) that all we had to do was trust our students and be there for them and everything else would fall into place. When myself and others in my cohort in school would ask about more 'refined' behavioral issues (for lack of a better term), they'd shrug it off and say "Just do this and you won't have that problem." Everything was so idealistic for them and it became obvious later on how out of touch with teaching they were. So when I landed my job, I was naïve as could be and was overwhelmed from the second it started by student behaviors, shifting policies within the district/state, and the sheer workload.
(b) Beyond just not bracing for a realistic classroom setting, my school was a full inclusion setting, meaning kids in special education attended general education classes as often as possible. I love the system and think it's the way to go, but I had almost no realistic education for how to approach moderate/severe disabilities as a teacher. I didn't really know any of the available accessibility technologies or techniques for actually getting the major points across. Even assessing a student with severe disabilities was an enigma for me. I reached out for help from various sources, but each person told me so many different and conflicting things that I never managed to get it right.
(c) In the two weeks prior to the school year, I discovered I wouldn't have curriculum for my students. That's, like, a big deal. It's the road map of what you teach, and when/how to teach it. There was no mentor from the district that was promised when I was hired earlier in the summer. There were no textbooks or class novels. I had to work in the librarian at my school to apply for a state grant just to BUY THE PREVIOUS YEAR'S NOVELS, as I was then going off of that curriculum. My principal was letting all the 'rough' parents walk all over her when she was supposed to be a barrier between them and us teachers. Upper administration in the district had very little concern for any of my grievances, too, as there were a number of seat swaps in the headquarters and policies changing just as rapidly.
I never claimed to be a great teacher and I do blame much of my hardship on myself, but I was certainly never given an environment to thrive in.
Have you guys ever thought about bringing a frog as a mascot and calling it a Battle Toad?
Thanks for the info. I look forward to a San Diego expansion!
We haven't before, but we'll be giving it some serious thought now.
Answer from another dev: I definitely remember we had a team called "BattleToads" one year. We've also had similarly-inspired names like "Cattlebode", "Paddlegoats", and "Battlecod"
Did you ever have issues with security? (eg. a "team" trying to upload some bad Java code to your machines) How did you deal with this?
What wonky produce is the easiest/hardest to sell?
Great question! Easy sells for us are definitely fresh seasonal fruit like citrus, kiwis, and persimmons. We also see a lot of demand for healthy greens like kale, broccoli, and lettuces, which are normally expensive in stores so people love the savings plus the convenience of having it delivered. Hard sells are anything with visible scarring, which can look weird at first, but once you peel or chop the item you realize that it's the same as what you could have gotten in the stores. To be honest though, one of the most common responses we get from people when they first get their box is "this isn't ugly at all!" It is astounding how strict the cosmetic standards at grocery store standards have become over the years.
I was not, but I'm familiar with that district. I was paid very low for a first-year teacher, even by teacher standards. What's truly terrifying is that I know for a fact I was making more money than people who had been at my school for years. #thisiswhatnofundinglookslike
What kind of infrastructure is required on your side to run the fights? Do you take the opportunity to try out recent technologies such as containers and microservices/microkernels?
Don't go on the imperfect produce website for ugly produce... you'll see the most picture-perfect fruits and veggies... http://i.imgur.com/KIoZF0A.jpg
Exactly. They need to attract people with competitive (lol) salaries by paying new teachers more, but then there's no money left to pay the veteran educators with. But if you pay the veterans better and the newbies less, you'll have an even larger teacher shortage than we currently do.
And every time a budget override gets struck down or an education-benefiting tax increase fails to pass, everything gets worse.
Thanks for the detailed response. I currently work with children in a one-on-one type setting and love it. People ask me all the time why I don't pursue a career in teaching and while I've thought about it, the entire education system just seems way too overwhelming and unrewarding. I hope you find a new calling!!
Most of our stuff is too heavyweight for lambda, although we might end up using it in our matchmaking system.
Is there any truth to scenes in movies like The Social Network where they make speed hacking/coding competitions a drinking game?
Are you ecological in other ways; for example with your use of packaging?
Are a lot of teams reusing their code from previous years and just improving on it? If so, is it possible to compete against that? Or is the game changed somewhat?
Hey Ben! Just how big of a problem is food waste in the US? How much ugly produce is out there really? Are you worried about ever "running out" of ugly produce to deliver to people?
That people are unprepared for it is one of the main criticisms, I think, of programs like Teach For America. For instance, they take idealistic young teachers with little experience and expect them to actually effect change and it doesn't work that way. Do you agree?
The game changes every year, and we don't release the details of the new game until competition starts on January 9th. This means that you can't just recycle the same code used last year.
That being said, some elements of the game often stay the same between years, and it can be an advantage to have competed before and be able to re-use some of your strategies. To help newcomers, we have available online the specs from previous years (here's 2016) so they can get a taste for what the game is like. We also encourage competitors to post their code online after the end of the competition or do a post-mortem analysing their strategies: you can see some of those here or by googling "battlecode 2016 post-mortem".
Food waste is one of our biggest environmental challenges. We waste 40% of food grown in this country according to the NRDC. It's literally the #1 item filling up landfills, and if food waste were a country it's greenhouse gas emissions would be third only to the U.S. and China. Globally, the food system is one of the largest contributors to climate change and resource overconsumption so a big part of fighting climate change needs to be closing the loop on food waste.
In terms of how much ugly produce is out there, it's estimated by the NRDC that 20% of all the produce in the U.S. goes to waste at the farm level due to being too ugly for the grocery store and also surpluses in the market. So we really don't think we will run out any time soon. There is estimated to be 3 billion pounds per year of uglies going to waste in California alone. We should recover around 15-20 million pounds in 2017, but to be honest it's just scratching the surface because the problem is so deep. We think our model is scalable so long term our vision is to be able to find a home for all of the billions of pounds of produce that's going to waste. Eventually we also want to go beyond just fruits and vegetables.
It's exactly the problem we have right now. The training and preparation prospective teachers receive is so behind the times of a system that barely has any shared identity from year to year.
What was the worst and the best moment in the classroom for you?
Glad you liked it! Making Battlecode more viewable and enjoyable for everyone is something we're actively working to improve.
Thanks for the kind words. You're very welcome for the reminder. We get our produce from dozens of farms all over the West coast. Most of our produce comes from California simply because this is where most of our country's produce is grown and this is where most of the potential for waste is. We source seasonally available ugly produce so sometimes we do buy produce from other areas like Arizona, Washington, and Mexico. In terms of tradeoffs we love to source from local farms whenever possible for the obvious ecological and environmental reasons. That said, food waste is a problem that is bigger than just California and in order to properly serve our customers year round we will divert "ugly" produce from further afield when necessary.
Worst moment and best moment revolved around the same incident. It definitely had to be the one regarding a troublesome student who came from a rough background and was consistently having trouble fitting in. He and I were always closer than most other students were to me and, despite his (and my) shortcomings, our relationship grew into a strong trust over time.
During parent/teacher conferences in which us three teachers all met the parents at once (because fuck 90 different meetings for EACH teacher), one of my colleagues mentioned that she saw the student stealing food from another student's lunchbox and bribing another for food. I, personally, had never witnessed this and was honestly a little surprised when I heard it. Well, Mom went home and shamed the kid and he roared in during my first class the next day and shouted me out, screaming that he trusted me and thought I'd be there for him and how I lied just to get him into trouble to keep him under control at home. ... It's tough to even recall the memory as it's still so vivid in my mind. Eventually, he apologized and I did, too, as for all he knew I DID say those things - I couldn't just say the other teacher lied or whatever. We ended the school year amicably with a giant hug and he promised me he'd go on to do good things with his life and help others like himself.
You can use jython, it's a python scripting based language with Java classes support. The spacing can get annoying and some type conversion is non-trivial, but it's relatively easy to use.
Why would grocery stores not want wonky produce?
Can we run full test matches locally to test and debug a player we are developing? Or do we have to wait to scrimmage with another team before we can actually see our developed player in action?
Are you hiring? Also, you would definitely find a market in the Toronto area. Produce can get very expensive here, especially in winter.
Did you talk to any current teachers in your state before deciding on being a teacher?
Our client allows you to test your player locally, or even run different versions of your player against each other to see which is superior!
We are growing quickly and are currently hiring. Check out our jobs page to stay up to date about current openings: http://www.imperfectproduce.com/career-openings/ Thanks for letting us know about Toronto. We would really love to expand to Canada one day!
Not directly, no. But we (my college cohort and myself) all knew the common grievances going into it. We also knew that there are good schools and struggling schools, good districts and struggling districts, and that we could choose where to end up.
Of course, that didn't prepare for just how polarizing the difference between an affluent school and a Title I school is.
What is your favorite fruit?
What did you expect from the job and how did your experience contrast?
International students are welcome to compete! We've also helped fund plane tickets for past international finalists to get to the Final Tournament.
I'm a watermelon guy personally. More recently, having moved to the west coast to start Imperfect I got put onto persimmons. I'm a big fan of the Fuyu in particular.
I was looking for an outlet for my creativity, personality, and passion for helping children gain knowledge and an understanding of the world around them in a safe but realistic environment. I expected to take a group of humans and give them the tools they needed to be successful as they transitioned into a traditionally tumultuous time in their lives.
I think I still followed through with that mission statement for the vast majority of my students, despite how the school year went. You can probably read the other responses and get a fair sense of how it all went down.
Even international students? I study in Aalborg in Denmark, would I be eligible?
Because hachiya persimmons are the astringent asshole of fruit unless you let them ripen to the point of juice?
Japan has this figured out with the dried hachiya persimmons. Those are delicious.
Is this possible to do for someone whose only knowledge of programming comes from AP Computer Science? And is there an age limit?
Fellow teacher here. If you really like the idea of teaching I'd try another school. Even in the same district schools can vary greatly. Go and ask the teachers if possible without administration to get an honest sense of the school climate.
I don't have as great school related question so...what did you get for Christmas?
AP Computer Science actually prepares you quite well for Battlecode, as the only real requirement for the competition is knowing your way around Java.
We don't place any restrictions on who can enter the competition, but only students, whether they are at the high school, college, or even middle school level, are eligible for prizes. Don't be dissuaded from participating if you don't think you have enough experience; last year a high school team took second place!
Gift card to a good pizza place in town that my wife and I love, a high-quality waffle iron, a gas grill for our new patio, and a few smaller but equally neat things.
Are there any Russians on the team, and if so, why are they they best?
So I have a friend who is in his 3rd year of teaching 9-12 earth sciences. I asked him what the worst part of teaching is and he said it's dealing with people who don't want to learn because it reflects badly on you. Do you agree with this or is there something worse? Besides pay of course.
We did once, but they all left us to work at financial institutions.
Absolutely. My worth as a teacher to the state was almost solely based on the test scores of not only my own students, but all students at my school and even within my geographic area. I had a number of students whose parents were rather vocal about their distaste with teachers/schools and were very, ehh, anti-establishment in general. So when their kids strut into my room, refuse to learn, and any sort of sense I can get into them is instantly deleted when they're picked up, how is it remotely fair that my credibility as a professional is based on their test scores? Or how about my student who came to school the morning after being taken into Child Protective Services because his mom almost died from a crack overdose? The last thing on their mind is "being a good test-taker," yet that's where my job security lies. The system is horrendously biased against students with less stable home lives and, therefore, against teachers in lower income areas. So it's no wonder the state has trouble filling these positions and keeping people there for longer than 5 years.
Has anyone ever registered alone and performed well? This is a great event!
I worked in an affluent school at the beginning of my career and I saw the parents do that as well. They made crazy demands
Our 2014 and 2015 competition were both won by a solo competitor and plenty of others have ranked highly in the final tournament, so it definitely is possible. It's also possible to search for teammates using our forums if you don't want to compete alone.
That's rough. We never had issues with physical violence against staff, luckily, but I know it exists in certain areas/schools. There WAS one time when the principal came down and pulled a regular troublemaker out of class (rough background; it was hard to blame the kid) and she spoke with him out in the courtyard. With all our doors open as it was nice outside, the kid abruptly shouted, "FUCK THIS SCHOOL, THIS IS BULLSHIT," right in the principal's face, then stormed off into the bathroom. That kid got a one-day in-school suspension and that was it, all because our principal was a pushover and was afraid to deal with the [admittedly awful] parents. But that was her job, and she didn't do it. So that kid committed student-career-suicide and got a light slap on the wrist.
It's so terrible to be in a position where your administration, your lifeline and shield, doesn't protect you. But hang in there. Mad props to you for sticking it out. Those kids need strong people in their lives and you're going to make the difference where your administration can't.
What's the game environment like? Is it graphical or all console based? Also are neural networks welcome? I've been meaning to try back propagation with a hive-mind.
Just out of curiosity, what SHOULD the punisment have been for telling the principal that?
The game is visualized in a 2D space, and we have a graphical client that shows all the units as sprites that move around and shoot at each other. For an example of a match, here's the final round of the 2015 competition: https://youtu.be/RCdPQyG3c-U?t=11179
Nothing directly prohibits neural networks, but all units are only allowed a restricted amount of processing per round (measured by bytecode usage), so getting a proper neural network running would be difficult.
It would be up to the principal obviously, but it should have been an out-of-school suspension for probably two days. That's, like, something I would've been KILLED FOR had I done it at that age.
Would a team of 4 people who are familiar with Java, but know next to nothing about developing AI be suited for Battlecode? I am really interested in this but neither I nor my friends know much about this kind of thing :)
What are you going to do for money?
Yes! Just knowing Java is enough. Many teams (including past finalists) fit your description - you can know nothing about AI and still have fun and do well. We also have a lecture series to help.
Now? I'm a substitute teacher for the time being. I was one for a semester after graduating in December 2013 before teaching, so I went back to gain perspective from afar. My wife is also fortunate enough to be making enough money at this time to largely support the both of us.
As for what's to come? I don't intend to be a substitute beyond next school year, but I still legitimately have no idea what's next. I have so many creative interests but still feel drawn to teaching and obligated to return in time.
I'm confused. It seems like a non student can enter this, but cannot win prize money.
I was wondering can a non student get first place in the tournament? I'm guessing they just don't win money.
Also, was wondering is Greg McGlynn going to enter this year? He seems to just win every year.
What was the worst thing that happened to you on the job, whether from a colleague or student?
You're correct about eligibility for competition and prize money. Anyone can compete, and only student teams can receive money. We also can't speak for Mr. McGlynn - you'll have to ask him yourself!
A kindergarten teacher had a student who bit her multiple times, but the coup de grâce was when the same student went into the restroom, smeared his own shit all over his shirt, and the ran back into the room slinging it around the air over his head. Yeah; that happened. The mom's reaction was basically just "lol boys will be boys," so that was great.
Luckily, I never had it so rough. I did have a student with severe anxiety and social trauma who regularly screamed out across the room and nearly kicked the door down in blind rages triggered by almost nothing whatsoever. He threw stuff around the room, but never at another student or myself (not intentionally, anyway). One day he just decided his chair and backpack looked better in the fountain outside. He didn't last very long.
How do we know you are human and not a highly developed AI like Siri from AppleTM or Ava from Ex Machina?
Student here. Im a highschool sophmore now but i remember when i was in sixth grade, the kids were pretty vulgar. They cussed, they made sex jokes and the majority were just rude altogether (and most of them still are now). Although the teachers seemed to not notice this repulsive behavior. Do y'all just ignore it? Or mabye you just dont catch it. Do you develop a sort of immunity to this behavior and these words?
Never fear fellow human comrade, for I am definitely a fleshy organic like yourself and not a Skynet sleeper agent. Ha. Ha. Ha.
It largely depends on the quality of te school and exterior environment that the kids live in. Having subbed around for some time now, I can safely say some classes are dicks who do everything you described and more while others are well-behaved, mild-mannered, and academically focused.
As a full-time teacher, the class of kids we had were largely immature, talkative, and disrespectful. They were going to be cussing and talking about all sorts of bullshit whether we let it happen or not, but they usually at least had the decency to keep it all out of earshot. We eventually taught them more about respecting one another and when certain types of language are less appropriate than at other times (not that, y'know, much of what came out of their mouths was appropriate ever). Thankfully, we didn't have too many problems with vulgarity or cussing after the first month or two. We knew it went on, but that's just dumb adolescents doing what they do. As long as it didn't come inside or impact the learning/safety of the kids, it wasn't of too much concern.
Just the basics of Java to compete at MIT? Sounds slightly misleading.
So you couldn't cut it. There are lots like you and the few like me who survive get to deal with the mess you leave. Your thoughts?
The basics of Java is the only knowledge we presume competitors have. We upload lectures helping teach competitors how to build their first player and understand how game mechanics work. In general we have a wide range of competitors at different skill levels and we work hard to make the game accessible to those who aren't already extremely advanced programmers.
Mess? I inherited a mess and still got those kids out the door with test scores above the district average and social skills ready for middle school. So you're welcome for that.
Maybe you have me mistaken for someone else.
You seem eager to blame those who walk away from a broken education system instead of actually identifying the problem. I value that you stay and appreciate your personal sacrifices for the greater good of society, but please do not belittle me or others in my situation just because we wanted a different job.
Where are the rules or technical specifications for last years competition?
You can see the specs for the 2016 game here.
How much of the student body gets involved with this? MIT is a school for very intelligent people who really like computers, in short, so does the whole school get involved?
We currently have ~200 MIT competitors registered, and MIT has ~4500 undergrads, so, 4% of the student body? Or 2% of the student body including graduate students.
(Honestly, that's pretty good - it's hard to get the attention of MIT students, especially during the January break period).
How did you come up with the idea for this tournament?
Great job, btw! I'll try and convince my friends to make a team with me.
Battlecode was founded over 17 years ago so the original founders have long since moved on. (They include some successful names like David Greenspan and Aaron Iba.) It started as a class that was just for MIT students called Robocraft and eventually changed to the far superior name Battlecode, evolving over time to become the competition it is today.
Edit: The very first edition of Battlecode was actually a board game: http://web.mit.edu/ieee/6.370/2001/web/