Tales Framework for XNA: Tech Preview 1 Limitations

Posted 10/26/2008 @ 06:00:00 PM by Joseph Molnar
Filed under: Programming , Tales Framework , Xbox 360 , XNA

I'll be releasing the framework soon so I wanted to share the preview's limitations. The items outlined below are essentially items on my improvement/to-do list. The high/med/low indicator is a priority rating; things marked high will be worked on first.

  • Layout and Rendering
    • (high) Poor use/sharing of SpriteBatches in controls .
    • (med) Use of Vector2d for size and position information. Vector2d uses floats so coordinate calculations that result in non-integer values can cause fonts to look blurred.
    • (low) No support for clipping.
    • (low) Labels do not support wrapping or multiple font types (developers can use the framework to create this ability).
    • (low) None of the layout handlers support control wrapping (developers can use the framework to create this ability).
    • (low) No support for table layout (developers can use the framework to create this ability).
  • Events, Callbacks and Input:
    • (high) Consistency between event types, delegates and input handling needs improvement.
    • (high) Spinners do not report the direction of a value change. Without this, sophisticated data validation isn’t possible.
    • (med) Only InputBinding events report the player that caused the event. Indirect events, such as MenuItem.Selected, do not report who caused the event.
    • (low) Keyboard input is currently bound to player 1 because in XNA 2.0 the USB keyboard reports its key presses across all gamepad keyboards.
    • (low) If a child is in focus, the parent isn’t considered in focus.
  • SystemDefaults:
    • (high) VisualDefaults presumes there are fonts called “Fonts/title”, “Fonts/normal”, “Fonts/small”, “Fonts/menu”.
    • (high) No support for overriding the various defaults.
  • Screen support:
    • (high) No generic support for a Screen with focusable elements; current implementation forces the use of Menus and MenuItems.
    • (high) The ScreenManager uses a push/pop mechanism for active Screens. I want to have better support for closing and not favouring pre-created Screens.
    • (med) Need additional Screen types (e.g. full-screen screens, dialogs/pop-ups).
    • (med) ScreenManager only supports a single Screen across all gamepads, instead of allowing one active Screen per gamepad.
  • Networking
    • (high) GameSession is largely a wrapper around NetworkSession and is missing some of the later's abilities. Need to reconsider what to do with this class.

Comments

Post a comment