Skip to content

TDR planned features

Tae Lim Kook edited this page May 1, 2016 · 5 revisions

Replays

  • 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

Bullets

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)

Background scenes

  • Create light emitter objects as well as others
Clone this wiki locally