From the humble beginnings of Pong and Pacman, the video game industry has evolved to define modern entertainment by constantly pushing the limits of hardware and software. The technology behind contemporary video games encompasses a large variety of academic subjects and can be as sophisticated and rigorous as any other traditional software project. Although it is easy to forget that modern developers stand on the shoulders of giants, it is important to remember that even classic video games were considered immense feats of technical accomplishment in their time. The primary goal of the "Rogue Reborn" project is to re-create what is arguably one of the most iconic video games of all time "Rogue". This will serve to demonstrate how the proper utilization of today's tools and technologies can enhance the development process of a legacy application.
From the humble beginnings of Pong and Pacman, the video game industry has evolved to define modern entertainment by constantly pushing the limits of hardware and software. The technology behind contemporary video games encompasses a large variety of academic subjects and can be as sophisticated and rigorous as any other traditional software project. Although it is easy to forget that modern developers stand on the shoulders of giants, it is important to remember that even classic video games were considered immense feats of technical accomplishment in their time. The primary goal of the "Rogue Reborn" project is to re-create what is arguably one of the most iconic video games of all time "Rogue".
The problem being solved is the problem of providing entertainment. The original Rogue (1980) is a classic video-game, after which the roguelike genre is named. However, the original source is difficult to read, not benefiting from modern software design techniques. This makes it difficult to compile, understand, or modify the original source. This project will rewrite Rogue in a modern language (C++) using modern techniques including OOP, along with a full set of tests and documentation. The rewrite should be a functionally identical update to the original.
The problem being solved is the problem of boredom. Effective recreational time is important to overall productivity, as such well-designed video games provide societal utility. The original Rogue (1980) is a classic videogame, after which the roguelike genre is named. However, the original source is difficult to read, not benefiting from modern software design techniques. This makes it difficult to compile, understand, or modify the original source. This project will rewrite Rogue in a modern language (C++) using modern techniques including OOP, along with a full set of tests and documentation. The rewrite should be a functionally identical update to the original.
The software will be developed for a Linux desktop environment, particularly one for personal use. As the rewrite will use text-based graphics like the original, the environment does not exclude older/slower hardware. The library in use (libtcod) has support for Windows environments, so a hypothetical windows port should involve minimal changes. Unlike the original, the rewrite will use a graphical/emulated console. This enhances portability and eases development.
The software will be developed for a Linux desktop environment, particularly one for personal use. As the rewrite will use text-based graphics like the original, the environment does not exclude older/slower hardware. The library in use (libtcod) has support for Windows environments, so a hypothetical windows port should involve minimal changes. Unlike the original, the rewrite will use a graphical/emulated console. This enhances portability and eases development.
Stakeholders include players of the original Rogue game as well as players and developers of successor games, who may be interested in playing/developing from the original. As mentioned above, Rogue is the origin of the roguelike genre, as such it holds historical and nostalgia value to stakeholders. The rewrite should allow interested stakeholders to clearly examine the inner workings of the game in a way, enable easy modification/extension of the game, and provide direct entertainment value like the original.
Stakeholders include players of the original Rogue game as well as players and developers of successor games, who may be interested in playing/developing from the original. As mentioned above, Rogue is the origin of the roguelike genre, as such it holds historical and nostalgia value to these stakeholders. Additionally Prof. Smith, the 3XA3 TAs, and the project play-testers are stakeholders, as they will be evaluating the project and providing feedback. The rewrite should allow interested stakeholders to clearly examine the inner workings of the game, enable easy modification/extension of the game, and provide direct entertainment value like the original.