The Campers

I teach a week-long game programming class every June for Landry Academy’s academic summer camps in Banner Elk, NC. Students range in age from 13 to 18. Most have never written a program before. In just five short days, though, the campers have designed and built a working game which they demonstrate to the campers from the other fields of study on the last day.

Before the Landry camps, I had never taught high school students. My only experience with teaching was as a corporate trainer. I very much enjoy my annual trip to NC. The enthusiasm and creativity of the students are contagious. It’s a nice break from my day job of writing applications for companies and governmental agencies.

Here are the descriptions of previous camps, along with videos and downloads of the games that the students made.


Camp 2011 ("Angrier Birds")

instructor counselor
student student student student student student student

This collection of students really spoiled me. I couldn't have had a better group to teach for my first year at Landry. They had a contagious passion that made the insane deadline (4 days from concept to demo) achievable. During almost every block of time that the camp had scheduled free-time for the kids, you’d find them in the classroom, hard at work on the project.

The class was fairly evenly split between a scrolling shooter (like Defender or 1942) or an Angry Birds clone. We ultimately decided on an original game that combined the two concepts. Four birds (controlled by four players) fly along, shooting pigs with seeds and dropping eggs on them. There are three types of pigs: normal pigs (on the ground and in trees), pig-a-troopers (who parachute in), and the king pig (who tosses baby pigs at you).

The game’s art is a mix of characters from the Angry Birds game, random images we found via Google searches, and some hills that were drawn the night before we gave our class presentation to the students from the other academic areas. All the in-game sound effects were created by the students. I think the effects came out great, and I think they really add a lot to the final game. The music was downloaded from the website of a talented composer who recreated the Angry Birds theme in Garage Band.


Camp 2012 ("Robot Slayer")

instructor counselor counselor
student student student student student

We had a brainstorming session on the first day, while we waited for the installers to do their magic, planning what type of game we would build. I was campaigning for a Rock Band / Guitar Hero style game, but the class decided to design a platformer game (ala Super Mario Bros.). A cartoony hero walks around a factory / lab complex jumping on the heads of killer robots to destroy them. There are two flavors of robot: the Hoverbot who quickly floats towards the player, and the Tankbot who moves a little slower, but fires missiles at the player at regular intervals. When a robot is destroyed, it drops a gear (likely) or a heart (less frequently). The player’s score is the number of gears collected.

The game’s art is a collection of doodles that I did in Adobe Illustrator, feverishly churning out assets each evening in an attempt to stay a step ahead of the class. The main character is the result of a tutorial that I followed over at idleworm.com.

Along the way, the students learned about how simple, manageable components of a game are implemented, and how those simpler parts combine to make a more-complex whole. They also learned about the tools that game developers use to create games, and how to trim and prioritize an overly ambitious design to meet a looming deadline.

The plan to make a platformer turned out to be too much work for a week-long project. We cut features, and ultimately decided to turn the project into a survival game.


Camp 2013 ("Tim Gumchewer")

instructor counselor
student student student student student

On the first day, I typically have a brainstorming session with the students while the tools are installing. With past classes, we compile a list of game genres that we might like to explore, come to a consensus on which to implement, then dive deeper into the details of the selected game.

This year, the students gravitated immediately to a concept based loosely on Temple Run. Rather than considering other genres, they kept tossing out ideas for the platformer-style game. It was obvious what our project would be early into the process. I keep campaigning for a Rock Band clone, but it never seems to take hold of anyone’s interest. :)

In addition to art I created and images we scavenged from the web, we took video of one of the camp counselors in several poses, including a slow motion roll. The students cut the images from the still frames of the video, and the counselor (hi, Tim!) was our game’s main character.

The game supports two players, each of which has to run an identical gauntlet of obstacles. The player that makes it the furthest distance before losing three health points is the winner. The original design included power-ups and more elaborate obstacles. In the end, we realized that the full game would to be too much work for a week-long project. We cut features, but the end result was still a very nice game.


Camp 2014 ("Haunted House Crashers")

instructor counselor
student student student student student student student student student student

2014's camp was the largest group of students yet -- 10 teens. After the typical back and forth of brainstorming ideas for our game, we zeroed in on an idea inspired by Castle Crashers.

Players travel from room to room in a dungeon, fighting off baddies as they progress. The game supports one to four players -- the difficulty increasing with each player added.

The students had some great ideas. In fact, they kept throwing out new feature concepts every day. Unfortunately, we just have a week. So most of those features fell prey to the merciless chopping block, better known as our deadline.

Rather than moving from room to room, the hoards come to the players in waves. There's a nice mixture of baddies for the player to lob fireballs at, some of which require multiple hits before being banished.


Camp 2015 ("Beard Bashers")

instructor counselor
student student student student student student student student student student student student student student student

The largest group yet, and (IMO) the best game yet. On the first day, we brainstormed close to a dozen game ideas. After a little back and forth, we settled on a fighting game which pits camp counselors against each other. Since there are so many counselors, with few distinguishing features, it was decided that art would be a problem. So we move to the idea of having teachers battle each other. After saying it out loud, we realized that might not be a great idea either. We then decided that we would have robots fight to the death for our amusement. We settled on placeholder art featuring vikings — and that's what we ended up using for Friday's demonstration.

In previous camps, I lead the students through writing the code as we went. That meant that we completed features at the rate of our slowest typist. With 15 kids, that wasn't going to work. So, I focused their attention to the screen and we went at a pace that every student could comprehend each added feature, pushing the changes to GitHub at regular intervals so that they could tweak and play with the code to solidify their understanding. This was also the first year that I actually assigned homework each night — an important step in ensuring that they understood the concepts from each session.

We had stumbled upon a great strategy for meeting the incredibly short deadline. The flow was smooth. We actually finished the game by Thursday (the night before the demo) and had time to squash some bugs, add some bells and whistles, and even have a tournament on the last day of camp to see which student would present our creation to the other campers. (Spoiler alert: It was LaMia!)

The end result was a game that could easily be published to one of the many app stores. I'm proud of the work that the students did. Their creativity and willingness to follow through on the implementation made this one of the most enjoyable weeks of camp for me.


Camp 2016 ("Insomnia")

instructor counselor
student student student student student student student student student student student student student student student

Another ginormous group. The brainstorming quickly zeroed in on a castle crawler kind of game. It was the first year that we've repeated a genre, but the concept was unique, and I was confident that we could get further than the previous year if the students were motivated enough.

As with the previous year, I focused their attention to the screen and we went at a pace that every student could comprehend each added feature, pushing the changes to GitHub at regular intervals so that they could tweak and play with the code to solidify their understanding. With the ambitious goals that we had set for the week, though, I don't honestly feel that I kept the tempo slow enough for everyone (even those without prior coding experience) to keep pace.

This year brought many firsts, some of which caused headaches and slowed our progress. While my instructor feedback from the students was generally positive, many of those bumps in the road were mentioned by the students. Apparently, they didn't go unnoticed. =)

Even with all the technical hurdles and the ambitious design, we still had a playable game ready for the Friday assembly's demonstration. The students contributed almost all the art assets and sounds (whereas prior years were more of a scour-the-web-for-content affair). The end result is a bit unpolished, but it's entirely theirs. I think we built something that they can really be proud of.

I learned a lot this year as well. With larger groups and the use of new techs, I need to provide more structure, I need to "be less chill" (the last couple of years brought some minor discipline issues), and I need to take the time to cover basic programming concepts up front (even if it means less time for the game). I've intentionally kept things unplanned and fluid for six years so that the students could drive every aspect of the game, but that strategy won't work as well moving forward. I hope the students enjoyed the week, and I hope they learned something. But, I'll always feel that they didn't get the best from me because of the hiccups that we encountered throughout the week. Structure, planning, and a bona fide curriculum should allow us to focus on the learning, and give everyone a chance to get their hands on the code.


Camp 2017 ("???????")

instructor counselor
student student student student student student student student student student student student student student student student

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean congue suscipit sem, ut aliquam augue elementum ac. Mauris ut elementum justo. Maecenas et arcu sit amet nisi maximus efficitur. Vivamus scelerisque massa commodo arcu condimentum, eget porttitor leo blandit. Morbi sem dolor, euismod eget eleifend at, dignissim at nulla. Phasellus a aliquet turpis. Sed lacinia blandit cursus. Sed magna libero, efficitur vitae felis vitae, aliquet porttitor neque.

Cras faucibus varius risus in imperdiet. Aliquam erat volutpat. Vestibulum aliquam felis nec lacus fermentum, eget egestas nulla porttitor. Integer faucibus ex ornare mi sodales, in sodales lorem tincidunt. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Praesent ultrices ex sit amet mauris fringilla ullamcorper.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean congue suscipit sem, ut aliquam augue elementum ac. Mauris ut elementum justo. Maecenas et arcu sit amet nisi maximus efficitur. Vivamus scelerisque massa commodo arcu condimentum, eget porttitor leo blandit. Morbi sem dolor, euismod eget eleifend at, dignissim at nulla. Phasellus a aliquet turpis. Sed lacinia blandit cursus. Sed magna libero, efficitur vitae felis vitae, aliquet porttitor neque.

Cras faucibus varius risus in imperdiet. Aliquam erat volutpat. Vestibulum aliquam felis nec lacus fermentum, eget egestas nulla porttitor. Integer faucibus ex ornare mi sodales, in sodales lorem tincidunt. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Praesent ultrices ex sit amet mauris fringilla ullamcorper.