Documentation guidelines: Section 1: Introduction 1.1 Description: Quick description of your program and if it's a game, the objective of the game. For example: "A fun golf game that allows the player to customize a variety of aspects, including the course, golf clubs, clothing, etc... The objective is to get the lowest score." We will use this description section in any correspondence of your program. 1.2 Features: List any specific features you want us to notice. This could include things like: nice graphics, shadows, particle systems, collision detection, intro screens, game play, etc., basically anything you want us to specifically notice. Section 2: User's Manual 2.1 Building and starting: Describe everything we need to do to build your program and everything needed to run it. If there are any special details we should be aware of in building or starting, please list them here. 2.2 Interaction/UI: This section will describe how to interact with your program. For example, there should be a clear mapping of which keys control which actions. If you have multiple UI screens, or multiple states of your application, each with different control keys, please list them all. This section is the only way we will know how to interact and use your program so please make it clear. Screenshots could be useful for this section. For non-interactive projects, just list that it's a non-interactive project. Section 3: Implementation In this section we would like to hear about specifics of your program. 3.1 Code Map Here we would like a list of your source files with the function that each performs. For example: -particle.cpp: Particle System manager -control.cpp: The UI control code -etc. This section will help us in debugging your program if there are any problems with running your code on target. 3.2 Resources Here we'd like a list of the resources you're using and how they were generated. If there's special instructions we need to build your resources please list them here. 3.3 Important Modules/Functions Here we'd like a description of the essential classes or functions. For example, the function that sets up your application, your graphics loops, the main functions that execute your features, etc. You don't need to describe every function in your program. We just need something to point us in the right direction when we're debugging your code. 3.4 Code In this section we'd like a brief description (code or pseudocode) of how the main code in your program works. For example: fucntion main_graphics_loop: -if collision(ball,wall) -> ball drops -if collision(ball,ground) -> particles fly up You can go into as much detail as you like, but as long as we have an idea of how the main aspects of your program work it's good enough.