Saturday, March 8, 2014

Design: Functional Modules

Functional Modules

Explorer
Knows about: Player, input manager, move manager, query manager
→ Receives sanitized, platform-agnostic input from input manager
→ Makes appropriate calls to query/move manager


Movement Manager
Knows about: Player, Room
→ Collisions/Bounds
→ Movement w/ wall-following (auto-correction)
→ Turning
→ Forward movement
→ Makes calls to produce footsteps & collision noises
→ Handles exceptional movement (e.g. steps, elevators, room-to-room via doors)

QueryManager
Knows about: Player, room
→Makes call for Sonar
→ Makes calls for Reverb
→ “nearby” queries (left/right/front) (also as TTS)
→ Semantic info (TTS)
→ Later: makes calls to routing

SoundManager
Knows about: OpenAL
  • OpenAL info (Listener position)
→ Sets and updates OpenAL info
→ Produces 3D sound
→ Produces “Sonar”
→ Produces Reverb


No comments:

Post a Comment