Project Deliverable 00: Project Proposal

Group project: Making your own hacker game

This semester we will create a "card game" based on the readings, films, lectures, and technical assignments.

The card game is an opportunity for you to show what you have learned in class (in terms of concepts and historical examples from the cultural history of hacking).

Below, we will explain 1) how your group project will be evaluated; 2) how to create your own card deck; 3) how to generate the files you need to print with the final result of your work.

1. Group project: assignments

The “card game” will be designed as a group project to be evaluated in two parts:

  • Project Deliverable 00 (Due 2/3). Project proposal that describes:

    1. the topic of the card game (based on the topics of our class: for example: free and open source software hacking, hacker activism, information security, video-game hacking; warez; phone phreaking, etc);
  • Project Deliverable 01 (Due 3/26). Midterm assignment that describes:

    1. the concepts that are being used to develop the game (as discussed in readings and lectures);
    2. the steps to complete the game in the second half of the course;

  • Project Deliverable 02 (Due 5/5). Final assignment which comprises:

    1. the instructions on how to play the game;
    2. the complete card deck (with, at least, 57 cards);
    3. the list of references you used (based on the assigned readings for the course).

2. How to create your own card deck

We have facilitated your life by providing you with a "card generator," which consists of a simple text file and a series of scripts that generate a PDF file with the card deck. You just have to print the PDF and you are done.

First things first: you need to copy ("clone") the framework to your computer to start making modifications.

Step #0
If you do not have one yet, create an account on Gitlab at: https://gitlab.com/signup

Step #1
Fork the software repository at https://gitlab.com/unixjazz/infosec-deck.git
(click on the "Fork" button on the top right of the screen after logging in)

Step #2
Clone the software repository to your own machine, using this command.
Follow this tutorial: https://docs.gitlab.com/tutorials/make_first_git_commit
(! stop after "Clone repository", we will study the rest of the documentation later !)

Step #3
Go to the directory where you cloned the repository.
Open the file "decks/en/deck.yaml" and modify it to include your own cards.
Just follow the structure you see in the file, adding new information for each card you want to create.
(! please do not modify the structure !)

You can change the following fields:

  • id: (generated at https://shortuuid.com)
  • name: pick a name
  • type: pick a type
  • category: pick a category
  • url: (optional)
  • description: 'do not forget the '' around the description'
  • Image: pick an image address
  • image credits: (optional)
  • image info: (optional)
  • value: pick a numeric value (up to 999, no negative numbers)
  • notes: (optional)

For the id, please visit this site and generate a unique id: https://shortuuid.com/

Then, copy and paste that to the "id" field. You are done creating your first card!

3. How to generate printable files of your card game?

Once you have all your modifications added to the deck.yaml file, now it's time to generate your deck.
Here are the steps to run the software that generate the card deck:

Step #1
Enter the directory where you "cloned" the framework and type:

$ docker build -t infosec-deck .
$ docker run -p 8000:8000 infosec-deck

(! If you do not have Linux or Windows, please find the required software for Mac here: https://github.com/apple/container !)

Step #2
Open your Internet browser and go to the address: http://localhost:8000
Your card deck can be found in the directories with the page size (A3 / A4) and include the front and the back of the deck with all the cards you created.

Step #3
Once you are done copying your PDF files, you can shut down the software with the card generator.
Run the following command:

$ docker stop infosec-deck

You can find additional information here: https://gitlab.com/unixjazz/infosec-deck

If you have trouble with any of the steps above, please contact our TA Rex for help.

4. Project proposal (100 Points)

For the first deliverable, you need to prepare a one-page project proposal summarizing your group’s plan for this class project. The proposal should be a Google Doc that is one-page in length. It may include figures as needed. Make sure to include the following information:

  1. Your choice of a hacking topic from class (use the syllabus as a reference for this) and associated links / references to it

  2. Identification of some associated digital artifacts and hacks that you will turn into cards as examples (you don’t need the complete set at this stage, just a couple of examples)

  3. Verification that your team was able to get the card generator software working locally using the above process.

  4. A realistic plan for conducting original research on the chosen topic, including group members assignments so that the course staff will know who is working on what

Assign one person in your group to be a Scribe. The role of the scribe is to manage the assembly and delivery of each project deliverable. To turn in a deliverable, the scribe needs to place it in their Google Drive folder for this class. For this first deliverable, the Scribe should contact Rex (rstayers@nd.edu) to let him know which Google Drive folder to look at to collect your group’s deliverables.

Happy (game) hacking!