navi homePPSaboutscreenshotsdownloaddevelopmentforum

Opened 17 years ago

Last modified 14 years ago

#22 new defect

HUD - Heads Up Display

Reported by: patrick Owned by: nobody
Priority: minor Milestone: Old Orxonox tickets orx-v0
Component: GraphicsEngine Version:
Keywords: Cc:
Referenced By: References:


A HUD (Heads up Display) shows health, munition status to the player. There can be more things like scanner/radar, infrared camera… The HUD is one of the most important parts of our game. It should ban the player into the world of orxonox. This problem has got two sides:

  1. implementation
  2. design

It's very hard to design a fancy HUD, so before start doing it, be shure to check out everything on the inet you can find! Probably you will be wanting to co-work with a professional designer. There shall be more than one HUD with different desing, representing different ships.
The HUD consists of a core part, that can't be removed. The rest of the element on the HUD are so called HUDElements, that can be dynamicaly added/removed from the HUD. Therefore the HUD has a list of HUDElements at a given position on the HUD.

  • requirements:
    • design: very fancy :)
    • show health, shield, armor, energy, powerup status. → there has to be a discussion about this topic (what will be an attribute of the orxonox-player)
    • a console that can be plugged in or out
    • a display to monitor the energy/powerup status or whatever is been used in orxonox to level up the player.
    • BONUS: each HUD should have two modes: minimal and normal - to show all informations or just a few
    • a interface to add/remove HUD-modules on the screen via simple functions (like add(Vector location, HUDElement component))
  • implementation:
    • HUD is a class, there can be one or more derivates, that will all have their own design
    • bind(WorldEntity entity) function to bind the HUD to, from then on, it will monitor the status of this entity
    • update() function, this will trigger the HUD to refresh all attributes (health, shields…)
    • draw() function, draws the HUD in front of everything
    • setVisible(bool bVisible) sets the HUD visible or invisible
    • setHUDMode(enum modus) selects the visibility-mode (minimal/optimal) (BONUS)
    • addComponent(HUDElement* el) adds a HUDElement to the screen at a given position
    • removeComponent(HUDElement* el) removes a HUDElement from the screen
    • hideComponent(HUDElement* el) this hides the element
    • showElement(HUDElement* el) this shows the element again

Change History (5)

comment:1 Changed 16 years ago by patrick

  • Milestone changed from feature-taks to 0.3.0-pre-alpha

comment:2 Changed 16 years ago by patrick

  • Milestone changed from 0.3.0-pre-alpha to 0.3.1-pre-alpha

comment:3 Changed 16 years ago by patrick

  • Milestone changed from 0.3.9 to 0.3.6_graphics_and_performance

comment:4 Changed 15 years ago by bensch

  • Milestone changed from Graphics and Performance to GUI and Installers

comment:5 Changed 14 years ago by bknecht

  • Milestone changed from GUI and Installers to Old Orxonox tickets

Milestone GUI and Installers deleted

Note: See TracTickets for help on using tickets.