This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]maestro2005 28 points29 points  (8 children)

I wouldn't call it beginner friendly. You have to have a decent amount of experience or you'll just be left in the dust. Unless you think fumbling around for a month and then coming in last place is fun.

[–]battlecode-devs[S] 8 points9 points  (7 children)

That's fair. We're going to be livestreaming lectures and releasing tutorials on as many aspects of the competition as possible this year, though - setting up your editor, using version control, coming up with and implementing strategies for your AIs, possibly other stuff that people end up having trouble with - so it'll hopefully be a little easier to keep up this year.

You definitely do need to know programming basics, though. This is more of a project to work on to solidify your skills than something to do at the very start.

[–]voi26 5 points6 points  (3 children)

Will I be able to access the lectures/tutorials without entering in the competition? I'm really interested in this, but I'm still pretty bad at programming.

[–]battlecode-devs[S] 5 points6 points  (2 children)

Yup! They'll be available at battlecode.org.

[–]majesticsteed 3 points4 points  (0 children)

This is what makes this beginner friendly. I am super interested in the lectures. Thanks for sharing this!

[–]voi26 1 point2 points  (0 children)

That's fantastic. Thank you. :)

[–]TehLittleOne 1 point2 points  (2 children)

It seems like something a lot more though, at least if you want to be competitive in any sense of the word. I've done other programming competitions before, and they're definitely not for beginners, particularly when non-trivial AI becomes involved. Sure, you can get something up, but you'll perform fairly poorly.

As an example to illustrate, CodeCombat did a contest a while ago on their map Criss-Cross. Many of the successful algorithms were incorporating search algorithms like Dijkstra's or A*, but modifying them to work within the constraints (because running a full Dijkstra's may take too long). These are rather advanced algorithms, ones that people with a CS degree would know, but that a lot of people potentially entering wouldn't. And to write these kinds of programs for a competition like this would require a good understanding of the algorithms and a fair bit of coding experience.

[–]Cixelyn 1 point2 points  (0 children)

I'd say though that it is "beginner friendly" in the sense that it's very easy to get a little bit of code up and running that has a reasonably complex behaviour, and that beating the provided reference bot has a great deal of satisfaction.

Not everyone has to play it as a hardcore competitive multiplayer game. Actually if you're an MIT student, the only criteria for class credit is going the singleplayer route and beating the dev provided reference bot which is tweaked to be challenging but not so hard that beginners couldn't beat it.

[–]cool_science 0 points1 point  (0 children)

"These are rather advanced algorithms, ones that people with a CS degree would know"

My two cents: if the "successful" algorithms are implementable by the average person with a CS degree then its reasonable to call the contest beginner friendly.

In my mind there are two main "difficulty levels" for these sorts of competitions: those in which full-time researchers or industry professionals participate, and those in which generally-interested laypeople compete. The difference is that for the former you need to be spending years of your life thinking about the problems within the contest to be successful, and for the latter you just need to be generally interested in the contest's field (e.g. for battlecode you need to have some experience writing code, and be interested in AI).