LSU’s Code IT Up Challenge: Behind the Scenes of the Game
Curious if you’ve got the skills to make it at a college-level computer science program? Our Code IT Up Challenge can give you a taste of what it’s like and even teach you some new skills while you play.
LSU asked us to come up with a way to better engage high school seniors and show them what it’s like to attend school here. After a lot of research, we realized that high school seniors with an interest in computer science were likely to be intrigued by two areas: hacking and gaming. So, we built a game where you hack stuff.
Here’s how we put it together.
DESIGNING THE GAME
This classic Capture The Flag scenario has 10 levels on a server. Each level is a challenge or puzzle you must solve to get the password — the flag — to access the next level. At the first level, for example, you have to find a file in the current directory. From there, you will have to use basic coding skills to proceed throughout the game. Some levels use version control, or have encrypted files you have to decrypt.
We wanted to make our game hard enough to be interesting and educational — but not so hard that people wouldn’t have fun. As people progress through the game, we wanted to keep those who have a little more experience engaged without pushing away the beginners.
BUILDING THE INFRASTRUCTURE
Once we figured out the kind of levels we wanted, we started figuring out what sort of infrastructure we’d need — the servers players would log in to play the game, servers to host the leaderboard, and a server to function as a load balancer. (In case you’ve never heard that term, a load balancer is a server that sits in front of the level servers and sends requests to servers that aren’t busy. It’s very similar to a traffic cop.)
Infrastructure isn’t as fun as game design, but it’s critical if you want to make a game scalable. We wanted to be prepared whether 100 or 10,000 logged on.
WRITING THE CODE
Once our infrastructure was in place, we wrote the code to deploy the levels and got them up and running. We then took close to 10 days to build and deploy the leaderboard in Ruby on Rails. After about a week of QA testing, it was ready to go!
Overall, the build took a little over a month because we wanted to make sure the game was complex and challenging, yet accessible to as many people as possible. Don’t worry though, we made sure to give hints all throughout the game to help players. If you know what you’re doing, there are a lot of resources you can use to crack it. Beginners who are fast learners will also find ways to move through it. Give it a try!