-
Notifications
You must be signed in to change notification settings - Fork 3
/
notes.txt
89 lines (66 loc) · 2.68 KB
/
notes.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
TODOs:
======
MVP:
* code
** can some of the more complex logic be extracted into a library and tested?
* test in -firefox-, safari, and IE
* add boilerplate deployment stuff back in
later:
* make a list of common scenarios where developers use regexps, and update/add puzzles to match this list
* add analytics, to see which patterns people are actually trying
* Add fog effect to map
* Add levels inside the houses
* add more levels
* add mutants
Narrative Ideas:
===============
(spoilers ahead :))
end of level 1:
you meet yvonne, and she tells you a bit more about the sickness
she thinks she can cure it... she just needs to find some Ancient Scrolls or whatever... but these have been obfuscated
at this point, she asks if you can decode one of them
it's a find and replace puzzle, where there are many sequential steps to de-obfuscate it
once you get that one, she says there are N more scattered around the kingdom
if you can find them all... you can cure everyone!
after she reveals this, there's a crash and then some henchmen come in and kidnap yvonne
you (milo) run after, but they get away....
(in future: learn that these are the henchmen of Dr. M, and he started the virus on purpose, to create an army of zombies to do his bidding)
to win the game, you find all the scrolls and rescue yvonne
(ugh... hate the gender stereotypes here... maybe can have something other than a damsel in distress?)
Thoughts/Ideas:
===============
Types of puzzles:
zombie:
- has a bunch of text, with "infectious" text interspersed
- to "cure" a zombie, remove the infected text
- teaches basics of matching, since you don't have to replace
mutant:
- similar to zombie, but you need to replace infectious text with something else, instead of just "removing" (matching) it
- teaches backreferences
- expands the possible developer scenarios
healing scroll (working name):
- multiple find replaces over a multi-line document
- basically, these are bosses at the end of the level
- quizzes knowledge learned throughout the level
- closest of all to developer regex task
bonus games:
- timed stuff
- opposite game: baddies have regexps, you need to write text
Developer use cases:
Level One:
- simple text matching
Level Two:
- match and replace
Level Three:
- bash-style regexes
Level Four:
- regexes over XML
Level Five:
- ???
???
Other use cases to cover:
Newline, tab, start of line, end of line
Issues:
Is there some way to encourage the "optimal" regex?
For example, to match "cat" and "hat", the user could choose /\wat/ or /(cat|hat)/ -- the former is better
Maybe award a bonus of some kind of using the minimal number of characters for a puzzle? (similar to World of Goo)