Robot Monocle Entertainment is the developer of QR Code Adventure, a fantasy role-playing game for Android that uses the built-in camera to scan QR Codes in order to procedurally generate combat encounters for the player to face. We are three Software Engineering Technology students at Conestoga College, and this is our final year capstone project. The game is not yet ready to be released in the Google Play store, because many finishing touches remain to be added, but it is basically working and a recent build is available for download from this website by anyone who would like to try it out: click the link to download QR Code Adventure for Android or just scan the QR Code below using your existing barcode scanning app. You will need to enable the installation of apps from "unknown sources" since this is not a Google Play release.

At the fundamental core of our game is the need for players to find (or perhaps even make) valid QR Codes that can be scanned to produce encounters. A QR Code is just a two-dimensional (or square) bar code, and can contain any kind of raw data. These QR Codes can be found anywhere: posters, flyers, receipts, product packaging, websites, official correspondence, etc. When scanned, our game will interpret the raw data contained in the QR Code as a fantasy adventure encounter. If two different players of the game scan the same code, they will each experience the same (or a very similar) encounter. Two different codes, on the other hand, will almost always become two different encounters, with different enemies and different rewards.

Speaking of rewards, the player character in QR Code Adventure can grow and become more powerful in a few different ways. After each successful battle, the character will receive, at the very least, some experience points and some gold coins. Experience points accumulate until a new level is reached, at which point ability scores can be augmented for improved combat performance. Gold coins also accumulate, but can be spent in the shop on weapons, armour, and consumables (such as healing potions). The shop's inventory changes every day, so be sure to keep an eye out for any upgrades. The shop can be accessed from the main menu whenever you are not in combat. In addition to buying these items from the shop, they can drop as bonus rewards after an encounter. If you receive a bonus reward that does not interest you, or if you no longer want something you bought from the shop, the shopkeeper will be happy to take it off your hands (at a discount, of course).

Players may find that some encounters are very difficult, while others are very easy. If you fail to defeat an encounter, you can attempt it again at any time. It may be worth holding onto that QR Code so that, once your character has gained a level or two, or found some better equipment and consumables, you can attempt the encounter again. You may also find that different tactics work better or worse than others, so re-trying an encounter immediately may sometimes be worthwhile. Of course, if you find a very easy encounter, or one that gives very good rewards compared to its difficulty, you may wish to share it with your friends. One way to do that would to be post about it on our forums. You can also post other game tips you've discovered, bug reports, suggestions, and any other content related to QR Code Adventure.

When a new player first launches QR Code Adventure, he or she immediately sees a prompt to authenticate using a Google Account, such as a Gmail account. We do this because we track your character's progress and inventory on our server, and we don't want anyone other than you to be able to play as your character! We also don't want to have to manage our own authentication/password/account infrastructure. As a result of this, your character can be played on all of your Android devices, and his or her progress will not be lost if you replace your phone. To access an existing character on a new device, just make sure you have a good Internet connection and then choose to authenticate with the same Google Account, and everything will carry over automatically. You can even play as the same character on both devices at the same time, though there may be some temporary synchronization issues.

A final note about information security and privacy: As you've read about our game, you may have had some concerns about the fact that we are tracking, on our server, your Gmail address and what kind of QR Codes you are scanning with your phone. This is a possible security and/or privacy issue, since you might scan a QR Code that contains sensitive personal or business data, or even if you don't, we might still be able to "creep" you or build some kind of a profile about you. When we designed this game, this was a serious concern to us as well. Therefore, we decided to use a cryptographically secure one-way hashing function to destroy the scanned raw data as early as possible in the work-flow. For example, if you scan an embarrassing or sensitive QR Code, our game will immediately and irreversibly transform it into a boring content-free number like 7183613544750824506 before performing any further operations or communicating with our server. We never send the unhashed data to our server nor do we intentionally log or persist it on your device. We do not use the unhashed data to generate encounters nor to display content in any way.

Thank you for taking the time to read about our project. We hope you will download it and try it on your Android phone. If you do, please let us know your thoughts by posting on our forums, or contacting us by email. We can be reached at info@robotmonocle.com. Our names are Alex Allin, Nicolas Lavallee, and Dan Lynch.