-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathTODO
145 lines (86 loc) · 4.05 KB
/
TODO
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
High priority
-------------
[ ] Have blur turn off after blurEndTime to consume no resources.
[ ] Find out why glBindBuffer gl_ARRAY_BUFFER 0 is so important on iOS
[ ] For profiling have the tick happen *before* the swap in order to
determine true frame rate.
[ ] Try to get blur running on Android faster than 52 fps.
[ ] Create a profiling harness to test the GLSL shaders. These *must* be fast.
Write a tutorial about how you do it on the game blog.
[ ] Add main menu. Allow control of things like SFX volume and music volume.
[ ] Bug: Show all the new germs before you show game over screen.
I'm pretty sure this is not working.
[ ] Create a small chance that mutated germs lose their immunity.
[ ] Add blobs to centres of germs.
[ ] Centre the level finished text?
[ ] Fix the memory leak
[ ] Only draw what is absolutely necessary on the non-playing state screens.
Try to keep gsRenderDirty False as much as possible.
[ ] Cache the antibiotic graphic so it's not redrawn every time.
[ ] Look at the battery usage of the game on Android.
[ ] Add liquid from bottle sound effect for antibiotics
[ ] Change the z-index on the germ being dragged!
------------
Low priority
------------
[ ] Refactor the setup-ios-*-wrapper.sh scripts and the .rc files.
Basic idea is that to use any of these scripts a special
"ghc-ios.rc" file must exist which sets a whole bunch of environment
variables that are required. Things such as:
- $HOME
- path LLVM 3.0
- path to LLVM 3.6
- paths to sysroots
[ ] Refactor the GameState to be opaque so that you can hide annoying
stuff like the gsRenderDirty/gsRender pair behind one concept.
[ ] Android: Rethink using external storage to decompress assets. It requires
a permission.
[ ] add an effect where the screen cracks when you get infected.
[ ] Create a script to do what GHC flag -staticlib does on Mac OS X.
See Ivan Perez's email.
[ ] Art: Make it looks like we're looking through a microscope.
[ ] Start using lenses. e.g. for enabling antibiotics
[ ] Art: Add a "dirty screen" effect via a shader
[ ] Rename Physics event to Idle event.
[ ] Turn GLScript into a free monad too.
[ ] Speed up the algorithm to search and kill germs
[ ] Blur effect: I'd like to add a blur effect to the game to make it truly look like
a petrie dish. It's going to be hard to get the performance acceptable.
After just a little preliminary reading I don't think I just want to do
a Guassian blur but rather to use a more sophisticated depth of field
effect or "bokeh" effect.
----
DONE
----
[X] Remove the status bar on iOS version
[X] Remove modelView matrix from from blur Program
[X] Focussing microscope effect. Blur to different extent finally coming into
focus.
[X] Game does not save state when you hit home button to pause. Reported
by Andy. Check.
[X] Start respecting AppDidEnterBackground events and put the game in a
quiescent state.
[X] Increase the doubling speed so you can't just stay in level 1
[X] Make sure germ being dragged stays in bounds!
[X] BUG: Solve the problem of the "action bar" showing on the game.
[X] Only kill germs affected by antibiotic
[X] Figure out loading of assets on Android. Unzip and load.
[X] Put a delay in when it's running at 60fps. Don't want to consume too
much power.
[X] Add Score field
[X] Keep antibiotics showing when you've finished the level
[X] Get iOS build going. Update for TestFlight
[X] Fix GLFun type to use pre-defined attribute locations instead of
re-calculating each time. (See GraphicsGL.hs)
[X] When handling multiple events Step as far as FSM state change and then
wipe the rest.
[X] Make the type Either Quit [Event] not Maybe [Event]
[X] Refactor runPhysicsHandler. Was previously updating state with
old state. Pattern
bes <- readIORef besRef
writeIORef $ ...
is inherently dangerous
[X] Don't cache the germ's position
[X] Build and deploy to Android. Have a look at this:
https://github.com/neurocyte/ghc-android
(Took approximately a week of hell. Perhaps 70+ hours)