I couldn’t really settle on an idea that I was super enthusiastic about. But I ended up landing on some kind of game that will let me explore some of the capabilities of what extensions can do. I like the idea of a game driven by Omnibox input, so I’ll start there. The user will be able to input commands into the Omnibox and the game will progress based on what they type.
I’m thinking it’ll be a Lifeline-esque game. Entirely text driven. The idea is the game will prompt the user for some information, and the user will have to do some research to find the answer, then report back by typing the answer into the Omnibox. If the answer is correct, they’ll progress to the next “level”. Technically speaking it means I’ll just redirect them to a new page, with new instructions.
An open question is how many ways can I let users provide information to the game extension? Some thoughts:
1. Omnibox input, obviously
2. Page selection (highlighted text) – probably need a content script
3. Browser action click
4. Change tabs / windows
Nothing too technically difficult here, but the steps I need complete are:
1. Capture input from the Omnibox
2. Parse text against acceptable answers for each level
3. Structure an HTML page for each level (with gibberish URLs, so the user can’t cheat)
4. Structure game outline (i.e. “levels”, questions, acceptable answers, just general game flow)
5. Explore API’s to get data into extension
This isn’t so much a technical challenge as a design challenge. Getting input, and providing information to the user is relatively straightforward. The tough part will be figuring out the best way to keep it engaging. I don’t plan on making a full, long game, but something that might take 20 minutes to complete and that leverages as many of the chrome apis that make sense in the context of the game. It’s really more an exploration of the browser as a tool for something different. Text based adventure games have been around forever, and web games as well, but not many that make use of the browser itself as an interface.