next up previous
Next: About this document ...

Department of Computer Science, Clemson University
CpSc 372, Software Development
Assignment #2: Introduction to XNA
Brian A. Malloy, PhD
May 27, 2008



In order to receive credit for this assignment, your solution must be submitted, using the handin command, by 6PM Sunday, June 1st, 2008. I will zip your files and move them to my directory at that time. You may submit your solution before the deadline as many times as you like; only your final submission will be considered. However, for multiple submissions, it's best to use the same names for files, since only those will be overwritten by your submission.

This assignment will help you to begin to become familiar with XNA, the Game Development Framework provided by Microsoft. You will also experience development of a simple 2D game engine that will include writing text on the screen, moving sprites, a user controlled player object and collision detection.

Your assignment is to write a C# program that uses the XNA framework to animate several 2D objects moving around the screen; these objects should move independently of the user controlled object; of course, if you like, you can cause some or all of the objects to move as a reaction to the user controlled object, but this would entail some rudimentary AI, so this is certainly not a requirement of this second milestone. You should also include a player object that moves using the arrow keys on the keyboard. Your program should detect collisions and, when the player collides with another object, you should write a message to the screen.

Your may reuse any of the code that we develop during lectures, but you may not use any of the sprites or materials that we use during lectures. You can get your sprites from some location on the net, you may draw your own sprites, or you may extract some sprites from some games that you have.

Your program should be modular and should demonstrate your understanding of object technology and good OO design. Also include, as documentation, a README file that describes you and your assignment, some unique features of your assignment and any drawbacks of your assignment; i.e., what it does and what it doesn't (but perhaps should) do.

You should compress your files into a single file and, as usual, submit your program using the handin command. I will demonstrate your solution to the class on Monday, June 2nd. You should consider this demonstration a form of audition, for possible selection of team members. You may work as a team for the remaining milestones, with no team larger than 3 members. I have found that teams that work together always produce a more complete game than teams with a single member. However, be aware of the fact that even though your team consists of more than one member, this does not imply that each member of the team will receive the same grade for a milestone. Members of a team will be graded independently of other team members and you may receive an opportunity to grade your performance, as well as the performance of other team members.

To submit your assignment, use the handin command:

        handin.372.1 2 *




next up previous
Next: About this document ...
Brian Malloy 2008-05-27