1 / 16

microcomputer systems 1: ECE 3553

Okalo Daniel Ikhena Dr. V. Z. Këpuska December 13, 2007. microcomputer systems 1: ECE 3553. Introduction: what is microHero ? Problem Statement Proposed Solution Development: Preliminary preparations Implementation Stages Final Outcome Potential Future Improvements Conclusion

chaka
Download Presentation

microcomputer systems 1: ECE 3553

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. Okalo Daniel Ikhena Dr. V. Z. Këpuska December 13, 2007 microcomputer systems 1: ECE 3553

  2. Introduction: what is microHero? • Problem Statement • Proposed Solution • Development: • Preliminary preparations • Implementation Stages • Final Outcome • Potential Future Improvements • Conclusion • Questions? AGENDA

  3. Problem Statement • Guitar Hero is one of the most popular games of this century. For this project I decided to delve into what development considerations were put into making the game the behemoth that it is today. • Proposed Solution • microHero…which simulates the game of Guitar Hero where a user needs to click on an LED while it’s being displayed on the PIC. This represents playing the guitar as you see the color on the screen. INTRODUCTION: WHAT IS microHero?

  4. Preliminary preparations • Deciding the level of functionality • I decided to work on implementation in stages that could be purely completed with tight-ended functionality. • what functionality does microHero have? • microHerowill generate random integers between 1 and 4, and translate that into an LED being displayed. In response, if the player gets more than 6 of the 8 buttons in the sequence, the player makes it to the next level. If the player does not input up to 6 of the 8 buttons in the sequence correctly, the player is dropped by one level (or if on the minimum level, remains on the minimum level). Two LEDs are delegated to represent what level the user is on. Based on the level the player is on, the output will be directed to certain speakers and the volume increased automaticaly to serve as encouragement whilst masking as a distraction. DEVELOPMENT

  5. Random Generation • Bringin’ the Lights • Flag Interrupts (buttons being pressed) • Levels • Volume • Sound Inputs/Outputs IMPLEMENTATION STAGES – OVERVIEW

  6. Random Generation is handled using a ‘rand’ function. • int trigger = rand() % 4 + 1; • A check is also made to guarantee that the same LED isn’t lit up twice in a row as this may be hard to detect and would adversely affect gameplay. while (temp == trigger) { trigger = rand() % 4 + 1; } temp = trigger; • As can be seen from the code above, when it has been determined that the random number selected was not the same as previous number, it is assigned to the ‘temp’ . This ‘temp’ variable enables the program to make the verification in the next iteration of the code. IMPLEMENTATION STAGES – RANDOM GENERATION

  7. Based on the random number that was selected, an assignment is made to the ucActive_LED variable. • A check is then made to find out what level the player is on, and this check enables the PIC to display lighting for BOTH the LED to be pressed, AND the level the player is at. • The value of ucActive_LED is also assigned to a variable called ‘levelLight’. This variable is used in the FlagA_ISR interrupt method to check if the right button was pressed for that portion of the sequence. IMPLEMENTATION STAGES – BRINGIN’ THE LIGHTS

  8. IMPLEMENTATION STAGES – BRINGIN’ THE LIGHTS

  9. When the player clicks a button, a check is made to see if the play was correct. • If it was a correct play, a point is added to the player’s score • Players are not penalized for clicking the wrong button • Since a count is incremented for each light being displayed, if the player does not click the right button during the timeframe, their chance for that play is lost and the player gets no points. • The check is done using the ‘levelLight’ variable we defined in previous slides. IMPLEMENTATION STAGES – FLAG INTERRUPTS

  10. IMPLEMENTATION STAGES – FLAG INTERRUPTS

  11. Moving through the levels is done after every sequence • A sequence is 8 LEDs • If the player scores 6 or more of the 8 LEDs: • The level is increased • The LEDs which indicate what level you are on change. • The game gets harder as the LEDs change faster • The encouragement/distraction factor increases: Moving through the level increases the number of speakers the sound comes out from, and also increases the volume at which the sound is propagated. • If a player scores less than 6 on a sequence of 8 LEDs: • The reverse of all the benefit above ensue; the game gets easier, level is decreased, and the LEDs indicate you have gone lower by a level. Also there is sound from less speakers at a lower volume IMPLEMENTATION STAGES – LEVELS IMPLEMENTATION STAGES – VOLUME • Volume was simply an integer that was used as a multiplier against the output variables which increased the gain.

  12. IMPLEMENTATION STAGES – LEVELS count code: determines what level to proceed to Level code: responsible for LED display indicating what level the player is on

  13. Sound input and outputs are manipulated using the Tx and Rx buffers. • There is always input and output on all buffers, however the level the player is on represents the how many output variables are assigned to the input from the buffer. IMPLEMENTATION STAGES – INPUTS & OUTPUTS

  14. FINAL OUTCOME Random Generation: Completed Bringin’ the Lights: Completed Flag Interrupts: Completed Levels: Completed Sound Inputs/Outputs: Completed Volume: Completed

  15. POTENTIAL FUTURE IMPROVEMENTS Fairly advanced, but I think processing of the sound inputs to process, analyze, and assign certain sound inputs to a certain LED in a sense that would represent ‘music notes’ being put in as per Guitar Hero. The tough part here would be fine tuning the algorithm to the stage where it processes the data in time for the interaction to seem as if it is taking place in real time OR Processing the data at a constant steady rate, and playing the data after it’s been processed to ensure that real-time experience.

  16. CONCLUSION REWARDING PROJECT. ENLIGHTENED ME TO THE IDEOLOGY THAT THE MOST USEFUL APPLICATIONS ARE NOT NECESSARILY COMPLEX IN ARCHITECTURE, BUT MORE IMPORTANTLY, EFFECTIVE IN PURPOSE. QUESTIONS?

More Related