-
Notifications
You must be signed in to change notification settings - Fork 0
TDR planned features
Tae Lim Kook edited this page May 1, 2016
·
5 revisions
- Must obviously sync
- Support user virtual keys
- Operate on a per-stage basis - each stage index has:
- random seed for gameplay
- random seed for graphical effects
- stats
- stream of key info
- Store random seeds
- Give function to distinguish live runs from replays
So maybe we can have
each field being
[object ID, position, direction, speed, acceleration, S/T's or ID, radius, whether it's marked for deletion]
Except that if we manage the shots in a big array collision detection is going to be slow
Of course, we can maintain the shot IDs in a qtree, then we can binary search to look the IDs up in the shot array
And the other way around: we can use a shot's X/Y to determine where it is in the qtree
Anyway, how do you do it?
So points:
- Bullet size is tied to individual bullets, not bullet graphics as in Danmakufu
- Ultima found it helpful to recalculate X / Y speeds only when the radius or angle changes
- Use instancing to speed up rendering
- Use qtrees to speed up collision detection
- Collision classes
- Hitbox radius vs. visual radius
- Don't forget lasers! (Perhaps render and manage them separately?)
- Don't forget graze info! (time to next graze; frequency of graze)
- Create light emitter objects as well as others