Skip to content

Project Proposal

Trevor-Dartmouth edited this page Oct 18, 2019 · 16 revisions

QTetris Proposal

Team Members | CS98 19F

Link to team photo here: https://drive.google.com/open?id=11yIZ1aIlyfEtmE3S3kAtuCpFfR3IhGG8)

Problem Statement

Produce a game which makes quantum computing accessible to the public and helps increase the public's understand of the field.

Stakeholders

The primary stakeholders are ourselves. Additionally, our user personas included quantum researchers, technically focused students, the broader tech-interested public and flash gamers. Specifically, potential stakeholders would include Professor Palmer, our faculty partner, and Dr. James Wooten, a leader in the field of quantum gaming.

Proposed Solution

We would like to host a quantum arcade game on a website. The public could play a novelty game that simultaneously demonstrates certain quantum behaviors.

The game runs on a quantum simulator but is playable through the browser.

Prior Work

  • Dr. James Wooten has built several games that are available on his GitHub repos. There have also been several hackathons that have resulted in small quantum games.

Impact

Explain how a solution to this problem meets a real-world need. Does it have a broad potential impact?

Our game would broaden the number of resources available to the public for learning about quantum mechanics as well as spark interest in the field.

Success Metrics

  • Our first success metric is that we have a working tetris game.
  • The second success metric is that the game demonstrates some properties of quantum behavior.
  • The third success metric is whether the game is available to the public and hosted on a web server.
  • The last success metric is whether we can bring awareness to the game's existence. Any awareness is a success.

Minimum Viable Product (MVP)

Briefly describe your MVP features. Don't get bogged down in details, this should be a very terse list. What is the critical thing your product needs to do to be special? Build this from your User Personas.

  • The first feature we need is a web server set up with our website. Our site will have four views, a landing page, the game itself, a resources page and a how to play page.
  • Next, we will have a working tetris game that works as follows:
    • One to two player game. It will work like standard tetris, in that there will be falling pieces that players have to place on their board. The goal is to complete rows so that they disappear. The first player that has a piece touch the top of their board loses.
    • It will have a one player and two player mode.
  • In order to demonstrate quantum behaviors and make the game competitive, we will add one (or more) of the following functions to the game (all special pieces are visually unique):
    1. For Single Player: A certain ratio of pieces are 'quantum pieces'. These pieces exist in superposition and have a certain probability of existing or disappearing.
    2. For Single Player: Two pieces in the queue will be entangled. If part of an entangled piece disappears with a row, the corresponding part of the other will disappear also.
    3. For Two Players *: A ratio of your and your opponent pieces are entangled. These pieces (which are the same for each player) are dropped at the same time. When you or your opponent clear a part or all of the pieces, that same part disappears from your opponents board.
    4. For Two Players: Quantum Tetris Battle Mechanics:
      • Every X rows cleared, get a ‘Quantum Attack’
      • Press a key to enable if available
      • Generates an entangled ‘ghost piece’ on your opponent’s board, which moves in tandem as a mirror of your own current piece until it falls on their stack
      • The ‘ghost piece’ then sits on their stack and those blocks cannot be used as part of clearing completed rows.
      • The only way to get rid of the ghost piece is to ‘measure’ its quantum characteristics by dropping regular pieces directly on top of all the ghost piece’s upward facing surfaces.
      • The ghost piece then either disappears and the regular pieces fall down, or suddenly becomes a regular piece as part of the player’s stack. This random behavior is dependent on the quantum superposition of the given piece.

Validation

Explain how you plan to test/validate your product. Propose a term 1 and a term 2 validation idea. This can be different things depending on your project: user testing, or usage analytics, or performance characteristics. It can be done via surveys or in product analytics, or other performance measurements.

Term 1

  • Since we plan to handle the basic game design and mechanics by the end of this term, we would get validation through user testing. We would seek out a certain amount of people who fit our average profile and seek reviews about the gameplay.

Term 2

  • Since we plan to be hosting this game in the cloud, we would have access to usage statistics so this would be one of our metrics of success.
  • Additionally, we would post a link to our game online and measure our game by how well it is received there.

Implementation Challenges

What development challenges have you thought about so far? Identify any risks and briefly discuss possible workarounds / alternatives.

  • Getting the environment set up to integrate Qiskit with Python
  • Adding online multiplayer so that users can invite their friends.
  • Hosting a quantum game online.
  • Using a quantum machine while in a fast paced game.

To get around most of these issues, we could have our product be local multiplayer and single player. If IBM's quantum computer is too slow, we could use their simulator or explore another quantum cloud options.