Inspiration

A few friends and I were in the Artificial Intelligence and Software Design classes at Carleton. Both final projects were very open ended, so we decided to combine them. One of my teammates loved the board game Blokus, so we rolled with it.

What it does

A user can select how many human/computer players they want. Then the game begins. The Blokus board is a 20 by 20 grid. The pieces look a lot like Tetris pieces, but can have anywhere from one to five blocks. The objective for each player is to put more blocks from their hand onto the board than any of their opponents. Players initially place a piece in a corner, then on subsequent turns they can put their pieces corner to corner with the pieces they've played. It's a little complicated, but it's very fun.

How we built it

We worked in Processing, an easy-to-learn language for graphics that I was already familiar with. Processing is built on Java, so we were able to create our AI agents in Java.

Challenges we ran into

There were varying levels of programming experience in our team, so it was a bit tough make sure everyone was challenged within their comfort level. Besides that, I knew Processing more than the others, so I spent a lot of time trying to teach them what I knew. When things broke, though, I was the one the others came to.

Accomplishments that I'm proud of

It works! When we let our classmates play, almost no one could beat the AI, but everyone had a great time playing. When we turned it in for grading, our teacher told us she didn't want to grade anyone else's because ours was so fun.

What I learned

I got way better at Processing, and successfully implemented a minimax search based AI agent that beat me about a quarter of the time.

Built With

Share this project:

Updates