SkiFreeFigure 1: Screenshot of Windows SkiFree(Retrived from http://ski.ihoc.net/)Eric Grebing and Erik StaflTA: Cassie Huang6.111 – Introductory Digital Systems LaboratoryDecember 12, 2006AbstractThe following implementation of SkiFree integrates a visual controller with a rewritten version the classic Windows PC game. Two hardware components are used in the system – a camera and the 6.111 labkit. Over 20 module blocks provide functionality, but the project can be divided two main parts – the controller and the game itself. The controller consists of a small wooden block covered with a piece of pink construction paper. The user turns the block in his hand to control the motion of the skier. A camera tracks the position and angle of the block and the image is processed using color recognition and center of mass calculation to show changes in orientation. The data from this controller is then fed into the game and changes the orientation skier sprite on-screen. This version of SkiFree has the same general gameplay of the original Windows application, including slalom mode.Grebing, StafliTable of ContentsAbstract............................................................................................................................................iTable of Contents...........................................................................................................................iiTable of Figures........................................................................................................................iiiTable of Tables......................................................................................................................... iiiProject Overview............................................................................................................................1Implementation and Modular Description..................................................................................2Displaying Graphics on Screen..................................................................................................2Timer Module...................................................................................................................... 4Skier Video Module.............................................................................................................5Distance Display Module.....................................................................................................5Landscape Video Module.................................................................................................... 6Collision Detection Module.................................................................................................8Timer Toggle Module.......................................................................................................... 8Game Video Output Module................................................................................................8Slalom Gate Detect Module.................................................................................................8Time Display Module.......................................................................................................... 9Detecting the Orientation of the Controller............................................................................. 10NTSC to ZBT Module....................................................................................................... 12Display Detect Module...................................................................................................... 12Center of Mass Module......................................................................................................13Angle Detect Module.........................................................................................................13Final Compositor Module.................................................................................................. 13Testing and Debugging................................................................................................................ 14Conclusion.................................................................................................................................... 15Acknowledgements...................................................................................................................... 16Appendix A: Sprite Converter Matlab Script...........................................................................17Appendix B: Project Verilog Source Code................................................................................ 18Grebing, StafliiTable of Figures............................................................................................................................................................Figure 1: Screenshot of Windows SkiFree...................................................................................1Figure 2: A Screenshot from our Implementation of SkiFree......................................................... 1Figure 3: High-level Block Diagram............................................................................................... 2Figure 4: Detailed Block Diagram for the Game Module............................................................... 4Figure 5: YCbCr Example.......................................................................................................... 10Figure 6: The UV Color Space...................................................................................................... 11Figure 7: Block Diagram for Video Modules................................................................................ 12Table of TablesTable 1: Landscape_object Index Values........................................................................................ 7Table 2: Digit_to_display Index Values........................................................................................ 10Grebing, StafliiiProject OverviewThe SkiFree game involves a skier in downhill motion, trying to avoid obstacles in the landscape while navigating a slalom course. In order to simulate this downhill motion, the skier image remains relatively static near the center of the screen, while the objects in the landscape move around him. The individual sprites move from the bottom to the top of the screen and then regenerate at the bottom to make a continous map. The images for our implementation of the game are taken from actual
View Full Document