Task List and notes

- most important first
- NB: provisional!

Dan

ObjectManager
InputManager
StateManger + State
Log
FrameAnimation + ActionAnimation - we want to be able to select some frames of a texture and assign an action to it - rather than having an image for every animation.
-> Run GenerateSourceRectangles automatically? (could extend for the above)

Aaron

CollisionManager
Characterobject
DebugText
Level
LevelLoader
SoundManager
CollidableTrigger
---------------------------------

Key:
*Big re-write
-Small re-write
^Write

Others classes:
  • CollisionManager* - Caches per-pixel data. This will stored be per collidable frame and will only be done once for each texture (ie. Just once for a frame). The interface will provide an easy way to reference the data in a SceneObject. Would be ideal if the texture data could be converted to bool at compile time - fully transparent -> false, any other -> true.

The problem with this system is that there is no easy way to remove collision data when a texture is no longer used. Will add a clear() function to wipe this add the end of each level. In the future will add a flag to data indicating that the data should be kept indefinitely between levels.
  • InputManager- Gets input -> buffered or unbuffered? Simple easy to use interface. Access rumble - maybe some ramping. Maybe some action mapping.
  • ObjectManager- Loads and holds types that can be constructed at load time. These can be instanced through cloning. Should be able to request a type and it will hand back a (cloned) object.
  • Characterobject* - Handle more character specific stuff. Health, weapons etc. Could put strategies here.
  • CollidableTrigger* - Not visible but collidable via BBox.
  • DebugText* - Write debug text to the screen - handles values transparently.
  • Log* - Writes to a log file. Can attach log listeners so that output can be piped to elsewhere such as window text boxes.
  • Level^ - Possibly holds specific level information?!
  • LevelLoader^ - Loads level information from files or holds it. You can request a level to be loaded or closed from here.

Things that might be included:
  • MoveStrategy
  • FireStrategy
  • ScreenFader
  • Lua scripting helper classes
  • Actions triggering sounds - You need to tag frames, provide event that can be attached to by event listeners; AI, Logic, particles, effects
Everything (mostly) will have an ID in the systems - when each one recieves a frameTag or Action - it can match them together
  • ActionAnimatedObject et al. - more complex animations - control anims. automates animation transitions. delay, and randomize
  • Parent child relationship for multiimage sprites - could just build a new sprite - data will depend on animation co-ordination.
  • An optimal way to refer to types would be to convert Strings to ints at load time. Object Manager could load and store this table and retrieve the string values from and int (and visa versa) if needed.

Last edited Mar 21, 2008 at 2:38 PM by YourFurryFiend, version 20

Comments

No comments yet.