---
# System prepended metadata

title: Turing Test Game

---

# Turing Test Game
This is the Turing Test Game Repository by the team **"The Brainiacs"** that will allow users to play games.

## Project Description
The project is an interactive Turing test game for player and game admin. The target players of the game are visitors in outreach events. A set of sentences, including one in the original language and several translations of different quality, is shown to the player. The player is challenged to identify the human translation from the set. All the Machine Traslation is from the National Research Council of Canada’s (NRC) Multilingual Text Processing team.


## Milestones
Here are the milestones that we would be reaching:

### Milestone 1: Admin Panel Development
A game admin panel is used by NRC staff to start the game by choosing the game parameters, such as the set of sentence tuples, number of tuples drawn from the set in each game, etc.

**Task:**
1. Implement UI to start the game, allow admin to draw sentence tuple from sentence sets. 
2. Next button to next page.

### Milestone 2: Game Development
**Game flow in this milestone:**
1. Display a sentence tuple: the original sentence, human reference translation and three candidate translations.
2. Allow the player to select potential robot translations and cancel selection. Allow the player to confirm decision.
3. Display robot judge (YiSi)’s decision. Move on to the next step when player is ready. (e.g. pressing the next button; but open for other implementations)
4. Display true identity of translators (human/SMT/NMT). Move on to the next step when player is ready. (e.g. pressing the next button; but open for other implementations)
5. Display player vs. robot judge scores. Move on to the next step when player is ready. (e.g. pressing the next button; but open for other implementations)
6. Go to step 1 with a new sentence tuple. Game ends when the loaded sets of sentences are exhausted or the game admin chooses to end it.

**Task:**
1. Display sentence tuple along with user selection section
2. Display robot judge decision
3. Display true identities
4. Display comparison results, allowing start a new game or log the results

### Milestone 3: Data Log and Output
Log user decisions in the game play.(question)
When game ends, allow game admin to save the player log for further analysis.

## User Stories

### Game Admin
* Starts the game by specifying parameters.
* Collects player logs when game is complete for further analysis.

### Player
* Choose on whether one translation is generated by robot or not, mark/unmark the decision and click next button to check the robot’s idea.
* View actual results, compare player decision with the robot’s.
* Choose to start a new round of game.

## Future Work
*Details to be added later*

## Available Scripts to run the game
This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).

### `npm start`

Runs the app in the development mode.\
Open [http://localhost:3000](http://localhost:3000) to view it in your browser.

The page will reload when you make changes.\
You may also see any lint errors in the console.

### `npm test`

Launches the test runner in the interactive watch mode.\
See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.

### `npm run build`

Builds the app for production to the `build` folder.\
It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.\
Your app is ready to be deployed!

See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.

## Contributors
* Siyang Zhang
* Dishant Patel
* Yiran Xu

## Documents
* [Project Requirements](docs/Project%20Requirements.docx)
* [Presentation](docs/Presentation.pptx)

## Questions

1. Check what tech stacks are expected: react, nodejs for now?
2. Any examples for NLP API, especially for input data format and expected output?
3. For logging games, should we store the log locally or within some database?
4. What's the scale of sentence tuples, size/number of tuples?
5. Is the admin going to open up a game for a player like at the game lounges?