Teaching Tip Adventure RPG: A Text Adventure Game for an Introductory Java Programming Course - Kinnett, Seth; Shinedling, Tatum; Sunset, Ben (Journal of information systems education, 2025)
Engaging students in rudimentary programming concepts is challenging when code examples do not yield practical payoff or are otherwise uninteresting. The purpose of Adventure RPG is to enable students to utilize first-semester object-oriented programming concepts to build a text adventure game. In this paper, we describe the incremental development and modular deployment that characterize the game's introduction into the course curriculum. In its earliest stages, the game welcomes players and asks them to select a lineage for their heroes. In its final stage, it is a fully functioning text adventure game utilizing selection statements, loops, methods, classes, objects, arrays, and file input/output. A survey of 60 students revealed that a majority of students scored the activity as highly valuable and self-reported high scores for positivity and participation in the Adventure RPG live-coding activities, while also reporting low levels of perceived distraction. The project provides ample opportunities for co-creation and incorporation of student-sourced enhancement ideas. Given the importance of live coding in delivering content in programming courses, this teaching tip provides student-supported content to refresh instructors' live coding exercises and enhance curriculum in introductory Java programming courses.