How to upload a new game
To upload a new game, submit a file ending in .jep.json
that follows the schema described below.
The schema is also defined in this JSON schema file and in this JSON editor.
Schema definition
{
"title": "Your Title",
"author": "Author Name",
"copyright": "(c) Copyright Holder",
"note": "any note",
"boards": [ ... board objects ]
}
A game is a series of "boards". Each board looks like so:
{
"categoryNames": [
"Apples",
"Bananas"
],
"categories": [
{
"name": "Apples",
"note": "Name the apple variety.",
"clues": [
{
"clue": "This apple variety is named after a city in New York State",
"answer": "Empire",
"value": 200
}
// ... more clues
]
},
{
"name": "Bananas",
"clues": [ ... clues for category 2 ],
}
]
}
A clue can be wagerable or not. Wagerable clues allow players to wager on the answer and win or lose that value instead of the clue's value. The "wagerable" field is not required.
Clues can also be long-form or not. For long-form clues, all players may write down their answers over a longer time period instead of competing to buzz in. Long-form clues must also be wagerable.
A clue may have an associated image. To add one, set "imageSrc" to a URL pointing to the image. Jep! does not host images. Images must come from one of the allowed domains.
Type definition
interface Game {
title: string;
author: string;
copyright: string;
note: string;
boards: Board[];
}
interface Board {
categoryNames: string[];
categories: Category[];
}
interface Category {
name: string;
clues: Clue[];
note?: string;
}
interface Clue {
clue: string;
answer: string;
value: number;
wagerable?: boolean; // default false
longForm?: boolean; // default false
imageSrc?: string;
}
Example full game (copy, modify, paste)
{
"title": "** your title **",
"author": "** your author **",
"copyright": "** your copyright **",
"note": "** your note **",
"boards": [
{
"categoryNames": [
"** round 1, category 1 **",
"** round 1, category 2 **",
"** round 1, category 3 **",
"** round 1, category 4 **",
"** round 1, category 5 **",
"** round 1, category 6 **"
],
"categories": [
{
"name": "** round 1, category 1 **",
"note": "** optional category note **",
"clues": [
{
"clue": "** clue **",
"answer": "** answer **",
"value": 200
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 400
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 600
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 800
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 1000
}
]
},
{
"name": "** round 1, category 2 **",
"clues": [
{
"clue": "** clue **",
"answer": "** answer **",
"value": 200
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 400
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 600,
"wagerable": true
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 800
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 1000
}
]
},
{
"name": "** round 1, category 3 **",
"clues": [
{
"clue": "** clue **",
"answer": "** answer **",
"value": 200
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 400
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 600
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 800
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 1000
}
]
},
{
"name": "** round 1, category 4 **",
"clues": [
{
"clue": "** clue **",
"answer": "** answer **",
"value": 200
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 400
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 600
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 800
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 1000
}
]
},
{
"name": "** round 1, category 5 **",
"clues": [
{
"clue": "** clue **",
"answer": "** answer **",
"value": 200
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 400
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 600
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 800
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 1000
}
]
},
{
"name": "** round 1, category 6 **",
"clues": [
{
"clue": "** clue **",
"answer": "** answer **",
"value": 200
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 400
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 600
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 800
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 1000
}
]
}
]
},
{
"categoryNames": [
"** round 2, category 1 **",
"** round 2, category 2 **",
"** round 2, category 3 **",
"** round 2, category 4 **",
"** round 2, category 5 **",
"** round 2, category 6 **"
],
"categories": [
{
"name": "** round 2, category 1 **",
"clues": [
{
"clue": "** clue **",
"answer": "** answer **",
"value": 200
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 400
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 600
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 800
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 1000
}
]
},
{
"name": "** round 2, category 2 **",
"clues": [
{
"clue": "** clue **",
"answer": "** answer **",
"value": 200
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 400
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 600
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 800
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 1000
}
]
},
{
"name": "** round 2, category 3 **",
"clues": [
{
"clue": "** clue **",
"answer": "** answer **",
"value": 200
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 400
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 600
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 800,
"wagerable": true
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 1000
}
]
},
{
"name": "** round 2, category 4 **",
"clues": [
{
"clue": "** clue **",
"answer": "** answer **",
"value": 200
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 400
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 600,
"wagerable": true
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 800
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 1000
}
]
},
{
"name": "** round 2, category 5 **",
"clues": [
{
"clue": "** clue **",
"answer": "** answer **",
"value": 200
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 400
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 600
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 800
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 1000
}
]
},
{
"name": "** round 2, category 6 **",
"clues": [
{
"clue": "** clue **",
"answer": "** answer **",
"value": 200
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 400
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 600
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 800
},
{
"clue": "** clue **",
"answer": "** answer **",
"value": 1000
}
]
}
]
},
{
"categoryNames": ["** round 3, final category **"],
"categories": [
{
"name": "** round 3, final category **",
"clues": [
{
"clue": "** clue **",
"answer": "** answer **",
"value": 0,
"wagerable": true,
"longForm": true
}
]
}
]
}
]
}