1 / 41

SE Team 9 GlobalFlyer

SE Team 9 GlobalFlyer. Cole Hoosier Ryan Hannebaum Leanne Gray Alex Stampbach. Project Statement. GlobalFlyer allows a player to fly a Wright brothers-style airplane in 3D space using the OGRE graphic rendering engine and the FMOD sound system. Iteration Plans. Fixup

maren
Download Presentation

SE Team 9 GlobalFlyer

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SE Team 9GlobalFlyer Cole HoosierRyan HannebaumLeanne GrayAlex Stampbach

  2. Project Statement • GlobalFlyer allows a player to fly a Wright brothers-style airplane in 3D space using the OGRE graphic rendering engine and the FMOD sound system.

  3. Iteration Plans • Fixup • 1: Get music and sound effects working again • 2: Get collision detection with buildings working • 3: Get the propellor showing up again • Visual Environment • 1: Add hovering objects to the world • 2: Add proximity detection to hovering objects • 3: Modify texture of hovering objects based on proximity • Icing: Create multiple levels, progressing in difficulty • User Interface • 1: Add mouse control of camera • 2: Add visually-appealing digital readouts of data the user might want • 3: Add the ability to toggle sound, gui, etc.

  4. OCL plan • Areas that lend themselves well to OCL specifications • Collision detection of plane with ground/objects • No re-initialization of sound system • Placement of bubbles/buildings on terrain (must be within the boundaries of the world) • Checking win-condition for a level (must have “touched” all bubbles)

  5. GlobalFlyer Web Site • http://seteam9.cis.ksu.edu/

  6. UML Models

  7. FrameStarted Sequence Diag

  8. Class Diagram Overview

  9. The FrameListener

  10. The Camera

  11. The Plane

  12. The Physics

  13. The Sound Old New

  14. Source Code

  15. Floating Bubbles!

  16. Lots and lots of bubbles…

  17. Bubbly Source ballNode = mSceneMgr->getRootSceneNode ()->createChildSceneNode ( StringConverter::toString (i), Vector3 ( Math::RangeRandom (1000, 14000), Math::RangeRandom(500,1000), Math::RangeRandom (1000, 14000))); ballEntity = mSceneMgr->createEntity (StringConverter::toString (i), "sphere.mesh"); //ballEntity->setMaterialName("GlobalFlyer/YellowSphere"); ballEntity->setMaterialName("GlobalFlyer/RedSphere"); //ballEntity->setMaterialName("GlobalFlyer/BlueSphere"); ballEntity->setCastShadows(true); ballNode->attachObject(ballEntity); sample_application.cpp

  18. Bubbly Source FileSystem=../../new_media/materials/scripts FileSystem=../../new_media/materials/textures resources.cfg

  19. Bubbly Source Texture_spheremap.png

  20. Bubbly Source material GlobalFlyer/RedSphere { technique { pass { ambient 0.5 0 0 diffuse 1 0 0 texture_unit { texture spheremap.png env_map spherical rotate_anim 0.1 }}}} gf.material

  21. Sound, glorious sound

  22. Sound Source bool CFmod::initialized = false; bool CFmod::InitSoundSystem() { if (!initialized) { if (!FSOUND_Init(44100, 32, FSOUND_INIT_GLOBALFOCUS)) { DisplayError(); return false; } initialized = true; } return true; } fmod.cpp

  23. Sound Source void CFmod::FreeSoundSystem() { FSOUND_Close(); initialized = false; } fmod.cpp

  24. Sound Source void CFmod::SetLoop(bool loop, int start, int end) { if (m_pSound != NULL) { if (loop) { FSOUND_Sample_SetMode ( m_pSound, FSOUND_LOOP_NORMAL ); if( start >= 0 && end >= 0) { FSOUND_Sample_SetLoopPoints( m_pSound, start, end); } } else { FSOUND_Sample_SetMode ( m_pSound, FSOUND_LOOP_OFF ); } } } fmod.cpp

  25. Sound Source // in constructor CFmod::InitSoundSystem(); musicSound.Load("../../new_media/audio/GlobalFlyer.mp3"); musicSound.SetLoop(true, -1, -1); musicSound.Play(); engineSound.Load("../../new_media/audio/engine.wav"); engineSound.SetLoop(true, 5000, 70000); engineSound.Play(); crashSound.Load("../../new_media/audio/crash.wav"); … // at crash // at restart engineSound.Pause(); crashSound.Stop(); crashSoundStarted = true; crashSoundStarted = false; crashSound.Play(); engineSound.Pause(); ogre_character.cpp

  26. MouseLook • MouseListener, MouseMotionListener • void mouseDragged(MouseEvent* e) • mEventProcessor?!

  27. EventProcessor • ExampleFrameListener.h • mEventProcessor always instantiates • SampleListener.cpp • Initialize mEventProcessor • Add mouse-related event listeners • Start processing events

  28. mouseDragged() void SampleListener::mouseDragged(MouseEvent* e) { //mChar->getCameraNode()->setAutoTracking(false); //mChar->getSightNode()->yaw(Degree(-e->getX()*mRotate)); //mChar->getSightNode()->pitch(Degree(-e->getY()*mRotate)); if (mExCamera) { mExCamera->instantUpdate(mChar->getCameraNode()->getWorldPosition(), mChar->getCameraNode()->getWorldPosition() + (100*(Vector3(-e->getX(), -e->getY(), e->getZ())))); // mExCamera->mouseLook(-e->getRelX(), -e->getRelY(), mRotate); } }

  29. Analysis of Iteration 1

  30. Table of Measurements

  31. Earned Value • The sum of the planned values for all completed tasks • Shows that tasks were completed at regular intervals up until the 27th when Iteration 1 was schedule to be completed

  32. Schedule Performance Index • Budgeted Cost of Work Performed over Budgeted Cost of Work Scheduled

  33. Schedule Variance • Budgeted Cost of Work Performed less the Budgeted Cost of work Scheduled

  34. Cost Performance Index • Budgeted Cost of Work Performed over Actual Cost of Work Performed • For the first 2 weeks, over estimated • For the last 2 week, under estimated

  35. Cost Variance • Budgeted Cost of Work Performed over Actual Cost of Work Performed • Same as Cost Performance Index

  36. Members Comparison

  37. Plan for Iteration 2

  38. Who has Questions? -Images from texasbestgrok.mu.nu/images/GF2.jpg

More Related