I was lucky to attend the Game Developers Conference in 2017 for the Education Summit. I learned about how other educators were approaching their courses, and the wider pathways for my students in pursuing graduate school in game development. Most presenters were from larger institutions with established majors in game development, and I felt that the smaller departments with one course or professor such as myself were underrepresented.

So, I was inspired to submit a proposal for the 2019 conference based on my course that integrates Ludum Dare into the final project, hoping to share how I can get some big ideas effectively integrated in a small course. If you’re interested, here’s my talk abstract, followed by the big lessons I’ve learned by teaching this course. Acceptance notices are sent out in late November, here’s hoping the organizers find it interesting.

Ludum Dare attracts thousands of independent and professional game developers each year. In this community, participants create a game over a weekend, then provide extensive feedback and constructive criticism to other developers. This talk shows how Ludum Dare was successfully incorporated into the final project of an introductory game development course. Students worked in teams to prototype a game every two weeks, incorporating new coding skills and a randomly-generated theme. This hyper-iterative development model was supplemented with student-led tool tutorials, game design discussions, and Twitch broadcasting assignments, culminating in competitive Ludum Dare submissions and thoughtful post-mortem reflections. By being responsible to an outside audience through creating Ludum Dare entries and streaming on Twitch, students showed increased engagement with the material and improved quality of work. For this to be successful, the course structure must scaffold and complement the skills needed to excel in game jams. This talk will benefit educators looking to incorporate game jam ethos, real-world competitions, and real-time community feedback into their introductory game development curriculum.

In Spring 2015, I taught my first course in game development. I decided to use Ludum Dare as the focus of our final project. Ludum Dare, founded in 2002, is an international game jam occurring three times per year. Developers spend a weekend making a game, post it online, then spend a month playing each other’s games and giving detailed feedback. This is an amazing community that takes seriously the efforts of amateur developers as they are making progress toward personal goals, which is exactly the feedback and encouragement I wanted to provide for my students.

Throughout my course, I taught my students with a standard curriculum, giving lectures and assigning labs related to using the Unity physics engine, animations, and 3D models, and programming steering behaviors and AI. However, when the final project arrived, they felt utterly unprepared. We had focused on developing skills in an academic setting, but the students lacked the necessary mental and logistical frameworks to get a game up and working in a short amount of time. Each team submitted a barely-working prototype and was somewhat discouraged by their efforts.

This experience led to a large overhaul with drastic improvements for the Spring 2017 version of CSCI 370 : Interactive Game Development

The biggest revision I made was to introduce bi-weekly lab assignments explicitly focused on making small games, for a total of 5 games developed before the final Ludum Dare project. From the moment they were introduced to Unity, we talked about building viable working prototypes. This need for their submissions to be playable and fun was emphasized by setting aside time following each lab deadline for me to play their games and provide live feedback with often hilarious bugs being discovered. Students rotated through different teams for each game, so they could build connections across the class and share new skills. The theme for each game was decided randomly using an online noun generator, providing freedom to innovate within somewhat arbitrary constraints. As new coding skills were added, the requirements and expectations for the next game expanded. Where the first game only needed to incorporate physics, collisions, and mouse input, by the end it was routine for my students to incorporate GUI elements and NPC AI characters, and they had multiple solid experiences starting a game from scratch.

Second, in the initial course iteration, students gave small presentations on helpful asset tools, such as sprite creators, terrain editors, and music generators, in the two weeks before Ludum Dare. This turned out to be too late to be useful, and most tools were ignored in their final project work. In the Spring 2017 iteration, I scheduled these demos to be staggered earlier in the course, so that as our Unity skills grew, so too did their outside tools. This turned out to provide the right level of integration, and I found them refining their assets and improving their game quality at a much faster rate.

Third, I increased the amount of Twitch streaming in the course. To introduce my students to the wider gaming community and give us all a common corpus of games as reference throughout the semester, the first assignment in the course requires the students to play at least 10 selected games from diverse genres and broadcast themselves on Twitch for at least one. In their broadcast, they needed to be reflecting on the elements of the game and how it was creating emotions, choices, and strategies for the player. Because they had already learned about streaming, I integrated a peer feedback element into each of their game assignment, where they would record a stream of themselves play each other’s games and commenting in the same way as their first assignment. I also modelled this behavior myself in class, streaming each of my lectures to Twitch to maintain them as class notes for further study, especially the days when I playtested their game assignments.

Because of these changes, my students felt poised to successfully create a game for Ludum Dare, and saw it as more intense, compressed version of our bi-weekly labs instead of a brand new experience. Their resulting games made great use of asset tools and GUI interactions and overall were were much more complete upon entry. One team even submitted their game to a Ludum Dare Twitch streamer, and were very pleased with the feedback they received and the interactions possible with the wider community.

As for the final project itself, participation in Ludum Dare is only half the project, and students could still recover from an unsuccessful entry. I emphasized to them the importance of reflection on successes and failures in their weekend, which fits very well with the Ludum Dare tradition of making post-mortem blogs after submitting your game. Students then spent at least a week trying to fixing all the bugs and expanded their content to fully realize their game vision. I coordinated an opportunity for outside playtesting by hosting an arcade with our submissions in the student union building on campus, and welcomed others to play and provide feedback for their game. Finally, students made a video trailer for their game and demonstrated to the class their progress since submitting their game for Ludum Dare.

Finally, I have found it enormously helpful to participate in Ludum Dare myself alongside my students in the course. I gained first-hand knowledge of any issues they should encounter, with submissions or posting feedback, so I could better guide them through the process on submission day. Also, as I rated other games after the competition, I saw the benefits of the “karma” system, which helps others find your game faster when you have provided quality feedback elsewhere in the competition, and encouraged my students daily to rate and comment on other games. I have since separately participated in Ludum Dare 42 (August 2018), and plan to continue my participation to reflect on ways to improve my student’s successful engagement in this competition, as shown in my most recent post mortem account.

Of course, coupling a course with an external competition can present difficulties. And it did! First, the timing of Ludum Dare is out of my control, so I needed to rearrange my syllabus once the dates were announced. Luckily our semester schedule overlapped well with the April dates for both course iterations, leaving at least a week following the competition for playtesting and revision. Second, in 2017, Ludum Dare 38 moved to a new hosting website. There were multiple server load issues and broken pieces, as the website was updated often while the competition was in motion. Game submission was delayed for a least a day, and the voting/feedback mechanisms were even further delayed. It was critical to be flexible in my expectations for the students when these outside issues occured. Overall, my students have greatly benefited from this Ludum Dare course integration, and I believe that my revision experience could be useful for others interested in attempting a similar syllabus structure.