Capstone Final Report - Part I 1
Capstone Final Report - Part I 1
Executive Summary
Computers are relatively new in the terms of history, but since their introduction, they
have helped to put people on the moon, opened up global markets, and provide many new and
exciting fields of employment and study. Computers run on two aspects, hardware, and software.
The software provides a functionality that is built using various languages that tend to be
mysterious to the user. Only by understanding the magnitude of different languages can a user
fully unlock the true potential of the computer. This brings us to the goal of this project, to help
facilitate the bridge from an everyday user to a maestro of the computer world.
There are many different programs out there that try to achieve the same goal, most of
them require the student to immerse themselves into a stale environment. This technique tends to
create frustration and a loss of interest, causing the student to eventually give up. Other programs
are built to be games that tend to be too simple leading to boredom. This is where we are trying
The goal of our project is to bring a fun and interactive learning environment that keeps
users engaged but provides them with the appropriate building blocks to advance in a career as a
successful programmer, brush up on programming languages that might have been lost, or to
Table of Contents
Introduction/Discussion 3
Feasibility Discussion 6
References 9
3
Introduction/Discussion
The Recursion Escape is an interactive, first-person, puzzle game where users can
the game. The Recursion Escape is based around the concept of an escape room where the user
will have to solve various puzzles to gain access to the next room. Though the questions at the
beginning of the game may seem to be easy, as the user completes tasks the questions become
progressively harder. This feature allows both experienced and inexperienced users to be
challenged. The game is completely web-based and has a website that serves the loading point
Learning a programming language can be quite challenging as you are confronted with
many unfamiliarities that even though it is easy to get started, it is just as easy to give up. With
the new advancements in computing and technology, new languages are permeating the market
and this is causing some of the older languages to be left behind. Being that the new languages
are becoming increasingly popular, the older programming languages still require understanding
as most of the computing jobs pertain to the older languages. The major problem is that people
are learning new languages and not working towards understanding the older ones, and this issue
The Recursion Escape acts as a fun and engaging way to bridge that gap. This game
would allow new programming users to get a basic understanding of various ways of
programming, while also learning older and new languages. Currently, learning how to program
online involves a series of exercises that a user has to work their way through; these tasks can
become dull at times. An interactive puzzle game is a much more engaging method for users to
experience programming. The option of being able to select the programming language that the
user will be tested on allows for a more interactive learning experience. Even for users who need
to refresh themselves on a particular programming language, the game provides a fresh method
of bringing themselves up to speed by teaching the new languages all while still supporting the
older ones.
The objective of this project was to create a fully functional game that acts as a base
model that can be developed further in the future. The project provides a user experience that can
measure the success of the game and a possible viable option to move forward with further
development.
● The framework for the expansion of the game will be in place, allowing the developers to
expand on the length of the game as well as the number of languages that can be offered
in the game.
The major stakeholder for this project was the programming team that developed the
initial version of the game that was sent out for testing and viability. It is too early to tell now,
but if the game turns out to be a success with the initial installment, the programming team will
provide maintenance and upgrades as needed to reach a larger audience. If the project becomes a
success that shows to fill a specific need in the marketplace, the programming team will create
The primary end-user of this game was anyone interested in learning a new programming
language or anyone who wanted to refresh their memory on languages they already knew and
understood. This meant any students enrolled in programming classes could utilize the software
to increase their chances of success in the course they were taking. Teachers also could use this
software to see if it would become something viable that students in the course might feel
comfortable using as a learning tool. The last major area that could be interested in using this
type of software were companies that could use it as a screening process to see if a candidate
Learning a new programming language can be quite the task, this also means that there
are going to be times where a user can become discouraged, angry, and even bored. There are
6
various programs on the market today that are aimed at teaching programming to people. Though
these programs do help a user understand the material, there isn’t too much to interact with while
using those programs. At a younger age, games are focused on logical thinking by using block
programming to move an object around a given space; when the user gets older some programs
immerse them into strict line coding. This can be overwhelming and discouraging for new
learners. There has not been an option to bridge this gap in the user’s curriculum or provide an
Feasibility Discussion
The concept of an escape room game is not something new but might be one of the few
instances where a game was developed to be played on a computer before it was ever played in
the physical world. One of the earliest escape room games was developed back in 1988 by John
Wilson (real-life escape rooms weren't truly developed until 2007 in Japan) (Breakout, 2019)
(Projects, 2020). His game, Behind Closed Doors, was a text-based game where users had to
enter text commands to answer questions correctly to proceed from room to room. Since then
escape room games have evolved over time into Flash-based (soon to be replaced by WebGL)
web games and then mobile apps. Some of the best online escape room games found on the
Internet are The Mystery of Time and Space, The Crimson Room, The Submachine Series, and
Neutral Escape Games, just to name a few. All of these escape room games have held to the
same concept of puzzle-solving to proceed through the game. However, none of them involved
(nor could any be located during research) that included coding as a challenge/puzzle for the
escape room.
7
Much like escape room games, programming games have been around since the
mid-’80s, based largely on a computer in the game being hacked (Software Spotlight, 1984).
Over time programming games have developed into puzzle games and competitive games.
Today even popular games such as Minecraft have had players develop mods for the game that
help teach kids to program new mods for the game (Finley, 2017).
Online there is quite a selection of different sites offering coding games to learn or build
upon coding skills. Depending on the game the focus can be from elementary school children on
up to adults. Many of the basic sites work on the idea of issuing program commands to move and
object, usually an icon or figure of the player. Other sites, such as Robocode, have you compete
against other players. There the users develop a robot battle tank using Java or .NET to battle
In addition to these types of sites, there are educational sites such as Codecademy and
Code.org that offer more of a straightforward coding environment. These sites offer the ability to
learn coding in many different languages, however, their approach is through completing
different exercises and not focused on gameplay. As stated earlier this can lead to learners
The first aspect of the Recursion Escape is the 3D functionality of the game. Being that
the user can see various items on the screen, already the user is immersed in the material they are
learning. The web-based game loads a user in a room and they are faced with the task of figuring
out how to get out. A majority of people are interested in puzzles and this is a solid way to hook
Another aspect to consider is the option of being able to select from a list of various
programming languages. This leads to more people being able to utilize the product because it is
not focused on just one language. Older programmers would be able to go through and brush up
on an older language, or even work at learning and understanding a newer language. New
programmers would be able to work at learning a new language while also having the option to
learn older languages that are still used in the industry today.
The Recursion Escape website is where users can access and play the game. This website
features information about the game while also giving the users the option of creating an account
which will help them track their progress through the game. The website also has an “About”
section which allows people to track the future progress and development of the game.
An immersive, interactive puzzle game can help keep the attention of the people that
want to learn a programming language. The Recursion Escape accomplishes this task by getting
the user's attention and holding their attention. Everything from learning a new language to
References
Breakout. (2019, March 25). Escape Room History: Escape Game Origin: Breakout Games.
Finley, K. (2017, June 3). New Minecraft Mod Teaches You Code as You Play. Retrieved from
https://www.wired.com/2014/08/learntomod/
Projects, C. to W. (2020, March 28). Real Life Escape Game. Retrieved from
https://www.wikizeroo.org/index.php?q=aHR0cHM6Ly9lbi53aWtpcGVkaWEub
3JnL3dpa2kvRXNjYXBlX3Jvb20
https://archive.org/stream/02-your-commodore-magazine/Your_Commodore_Issue_
02_1984_Nov#page/n35/mode/2up