-
Notifications
You must be signed in to change notification settings - Fork 0
/
ideas.notes
200 lines (170 loc) · 5.75 KB
/
ideas.notes
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
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
#------#
# Core #
#------#
[ ] Don't assume all monitors are 60fps
Improve Resources:
[ ] Create api to load resources that can be used outside of `core`
IO Improvements:
[ ] Keep track of *when* a key was pressed/released for more precise timings
Custom events:
[ ] Better typing
[ ] Better inheritence
Child Entities:
[ ] Allow child entitie's Mesh to be added to parent's mesh
#-------------#
# Performance #
#-------------#
From profiling the app, it seems like 80% of the time is spent in phyics.
Some ideas for speeding up physics:
[√] Raise CCD threshold. It seems like this is currently about 30% of time spend.
- This was big. Removed about 30% of the calculations being done
[√] Make multiwalls be one body. It seems like there's probably a slowdown due to iterating through so many bodies
- This was even bigger. Further reduced more than 50% of calculations. Possibly as great as 75%.
[√] See if we can lower the number of iterations per tick and still have acceptable accuracy.
- It definitely starts getting bad quickly. The high iteration count is what's giving us such good physics. I'll have to keep looking.
[√] Write a custom broadphase implementation
- I could implement this with spatial hashing.
- Keep track of dynamic bodies and only check them
- We should be able to avoid ever having to iterate through all bodies, which should mean we can have as many static bodies as we want. This might require some updates in world.js too
- At some point, I might want to fork p2
[ ] Write a custom narrowphase implementation that does better than what it does now.
- This probably isn't actually necessary if I split everything up into a lot of bodies again
[x] Do some splitting of huge walls that span the whole table so that only the nearby parts are checked. It seems like what I really want would be some custom quadtree sorting or something
#---------#
# Pinball #
#---------#
Misc:
[ ] Display controls
Game Feel:
[ ] Better flipper shape
[ ] More accurate flipper timing by using sub-frame timing
[ ] More nudge options
[√] Ball rolling sound
Controls
[ ] Keyboard control configuration
[ ] Gamepad Control
Other Features
[ ] Tilt sensor
[ ] Multiple z-levels
Visuals:
[√] Apron of the machine
[ ] "Street lighting", i.e. lots of little LEDs in the apron of the machine to light up all the corners
UI:
[√] Incorporate UI into Table
[√] Slowmo
[√] Balls Remaining
Backglass Ideas:
[√] Show "Press S to Start" message when game hasn't started yet
[√] Show "Game Over" Message
[ ] Custom 7/14/16 segment display for text
Table Features
[√] Flipper
[√] Bumper
[√] Slingshot
[√] Plunger
[√] Multiwall
[√] Curved Wall
[√] Drain
[√] Gate
[√] Drop Targets
[√] Scoop
[√] Spinner
[ ] Ball Save
[ ] Rollover?
[√] Bowl / Magnet
[ ] Merry-go-round
[ ] Loop
[ ] Rail
[√] Lights
[ ] Kickback
Sounds
[ ] Flippers
[ ] Collisions
[ ] Bumper
[ ] Slingshot
[ ] Wall
[ ] Flipper
[ ] Events
[ ] New Game
[ ] New Ball
[ ] Drain
[ ] Game Over
[ ] Score Thresholds
[ ] Music
[ ] Menu
[ ] In Game
[ ] Rolling?
[ ] Nudge
#--------#
# Themes #
#--------#
Hockey:
- Graphics are probably pretty easy
- Defender targets that you knock down to unlock shot on Goal
- Moving goalie target in front of goal
- Backglass could look like a scoreboard
- Your drain could look like a goal
- There could be lines on the surface that look like lines on the ice
- Sounds
- GOAL buzzer
- Ref whistle
- Missions
- Score a goal
- Score a hat-trick (3 goals)
- Brawl (hit bumpers 10 times)
- Penalty box as lock for multiball
- Stanley cup — the jackpot, score enough goals to get it to tip over, then hit the ball into it
- Shootout — No defenders, make 5 goals in 60 seconds
- Pass — Tunnel/ramp to forward flipper
Ancient Egypt Themed:
- Main toy is a pyramid
- Objectives revolve around building (or digging up?) the pyramid
- Every time you complete an objective, the pyramid grows one level
- When you get the pyramid all the way up, it
-
Super clean modern spaceship interior look:
- I think assets would be relatively easy to make
- I think I could make some cool sounds
- I can imagine a mode where there's an emergency and all the lighting turns red and an alarm sounds
- Sounds:
- Beeps and boops
- alarm
- airlock opening
- blastoff when you plunge
- Visuals
- White/light gray metal textures
- Bright white lighting
- Flashing red lighting
- Lots of lamps
Soviet/Red Army Themed:
- Pretty unique I feel like
- Could be visually very bold with a lot of red and yellow
- Sounds:
- Red Army Choir music would be fun
Plumbing themed:
- Pipes that you can transport around in
- An upper playfield with a toiletbowl that makes a flushing sound when you go down it
- Generic water flowing sounds could be cool
- Models seems a lot harder to make
Portal Themed:
- Very simple textures
- When you hit different targets, it opens up portals at different places around the table. When you get an orange and a blue one open, they connect.
- I would get to do the coding for making a portal effect
- Could use portal sound effects
Steam Punk:
- Could use a lot of really cool textures
- Could probably make sound interesting sounds
MultiSport:
- Pretty complicated
- Something on the playfield that swaps to another sport
- possible sports
- Baseball
- Bats for flippers
- Targets are different things in the outfield
-
Dr. Seuss:
- Seems really harder
- Would be super unique
- Sounds
- All sorts of zany cartoony stuff
- Non-electronic. e.g. toy whistle, jaw harp,