Upper School students put their computer science skills to the test as they learn a new coding language and design their own games.
How to Build a Video Game
Many students enjoy playing video games—but juniors and seniors in the Upper School’s game design class also enjoy creating them. Taught by Upper School computer science teacher Darby Thompson, the class is aimed at students who have already completed an advanced computer science course and are interested in expanding their skills in creative directions.
Darby created the game design course in 2010, when she arrived at Sidwell Friends. “This class incorporates two things: games and game development, which I think are quite appealing,” she says. “And then we also look at those artificial intelligence techniques which are so interesting and relevant in today’s world. We do little artificial intelligence projects along the way, but the focus is on the big project—kids building their own game for the X-Box.”
To accomplish that task, students need to learn a new coding language called C-Sharp. As they plan their games and experiment with different coding techniques, they follow the same process that a professional game designer would, moving from an alpha version to a beta version and testing their games on willing volunteers—in this case, their classmates.
“We’ve had every different type of game under the sun, from puzzle games to side-scrolling games to flying-in-space games,” says Darby. “Some students will push themselves and go into the 3D realm, while others will stick with 2D and re-create the style of classic older games. There are no restrictions on what students end up doing. Some games are multiplayer; some are single player. Some students want to replicate an existing game; some games are entirely built from students’ own imaginations.”
Jack Ellert-Beck, an alumnus of Darby’s class, says he appreciated the freedom of expression that the class allows. But he was also grateful for the planning process that is a crucial component of the course: “One of the earliest assignments was to build a game design document, where we laid out what our vision for the game was and what we wanted to see at the end. We also had to know how we wanted to do it in terms of programming, so that really helped me to get my thoughts organized about how I was going to make the game that I saw in my head. Once you have that document, it’s really easy to just dive into the work you’ve decided to do.”
Students also have the opportunity to incorporate the artificial intelligence techniques discussed in class into their games. “There are a lot of AI techniques in game design,” says Darby. “How do you build an enemy character who’s going to come after you, or an opponent in a tic-tac-toe game? We talk about those strategies, as well as sophisticated strategies like neural networks, simulating what’s going on in the human brain.”
Jack was so pleased with the end result of his game that he continued working on it during the summer, after the class ended. “I wanted to iron out some final flaws I’d seen,” he explains. “One of the things I added was making the images look nicer, because originally I just had some circle sandboxes. Other than that, though, I was very happy with where it was at the end of the semester. I’m very proud of what I ended up making.”
Darby agrees—she became so engrossed in Jack’s game that she ended up losing a few hours to it! “It was a fun one to grade because I actually wanted to play this,” she says. “I was sitting there at lunch, playing it. I was the one who was most addicted at the end!”