Skip to content

denialromeo/borders-quiz

Repository files navigation

World Borders Quiz

This game strengthens the player's geography through randomly generated multiple-choice questions.

For example -

  • Which of these does not border Belize?

    • A. Mexico
    • B. Guatemala
    • C. Honduras

(The answer is Honduras.)

Try it here!

You can create custom quizzes by playing with the URL. Examples -

(Google discontinued Fusion Tables on December 3, 2019. As a result, I've had to gut borders-quiz from 30 quiz modes to 6.)

Development Guide

First install Git and Node.js, then open your command prompt and run -

git clone https://github.com/denialromeo/borders-quiz
cd borders-quiz
npm install
npm start

Now you can play the game at http://localhost:8000!

Adding a quiz is simple. Just add relevant entries to borders.json and quiz-modes.json. You can also play with some settings in game-settings.json (e.g. more precise maps, prepending "the").

However, you must observe these rules or the game will break -

  • The top-level labels of borders.json and quiz-modes.json must match.
  • All entries in borders.json must be unique. Add trailing underscores to avoid conflicts with entries in existing quiz modes.
  • If a territory is on an island and borders every other territory on that island (e.g. Haiti and the Dominican Republic), you must manually provide alternative answer choices in question-settings.json.

(Running npm run validate-data will alert you to game-breaking data.)

Known Bugs

  • Territory names in more recent quiz modes aren't properly abbreviated on mobile.

  • There's sometimes a distracting black flash when the maps load on Firefox. This has me stumped.

Inspiration

The idea for this project was taken from this beautiful diagram in Algorithms by Dasgupta, Papadimitriou, and Vazirani.