CS 324E Assignment 1


Assignment 1: Introduction to MonoGame



Project Description

You are to familiarize yourself with MonoGame by drawing a scene using several different animated textures. The goal is to gain an understanding of C# and MonoGame while generating a creative artifact.

Basic Requirements

Your project will create a lightly animated image that is at least 500x500 pixels in size. This scene will contain at minimum:
3 textures. These can be something you create or something you found online that is under Fair Use.
3 types of animated motion. The textures should move around the screen in unique ways.
3 colors. These should be applied to the textures in some way during the animation.
Looping animation. This animation should loop so that it continues to play no matter how long the animation has been running.

You will also include a short write up explaining what you are depicting and anything interesting in terms of its features. This doesn't have to be long -- it's just to help you analyze and reflect on the process.

Extra Credit

All assignments have possible extensions that you might consider adding to your scene for extra credit. Note that if the submission is well beyond the scope of the assignment, we will consider giving extra credit even if the features implemented are not ones suggested below.

Use of a Sprite class (1 point)

Create a Sprite class to organize information related to your textures. Include brief documentation on the functionality this class provides to receive extra credit.

Getting Started

In order to complete this assignment, you must install MonoGame and VSCode along with the .NET framework. Please follow the correct instructions for your computer here.

You will name your MonoGame project youreid_assignment1. The MonoGame solution itself will be named youreid_assignment1.sln within that folder.

What to turn in

You will submit the following in the folder youreid_assignment1:

  1. A MonoGame project youreid_assignment1 that generates the desired animation. This file should be executable upon clicking "Run." If we are unable to successfully run your code, points will automatically be deducted.
  2. A README text file that tells us the exact steps necessary to run your code. In this initial project, it will likely be as simple as "open the .sln file and click 'Run' to start" but as projects get more complicated, this README will become essential for timely grading.
  3. A project description text file, A1Report, that tells us what functionality you've implemented, any other interesting features of the program (e.g. why you made the design decisions you did to create interesting features/pull out relevant information), any software it relies on that you didn't write, and issues you encountered if there are unresolved problems. Again, this is trivial in this first assignment, but it will become critical for later assignments and any extra credit work.

Zip the entire folder and submit via Canvas.

Grading

You'll be graded on how well you met the requirements of the assignment according to a holistic scale. D quality work (60-69) means features are not working or only marginally working. C quality work (70-79) is implementing the features but in a way that is mostly working, but is buggy and has difficult to read code. B quality work (80-89) is implementing the features in a way that works and has no notable bugs, but may have scaling issues, or lacks consideration for tuning and iterating in terms of code implementation. A quality work (90-100) is implementing the features in robust, polished way that demonstrates consideration for tuning and scaling and has well-written code.


Last modified: 09/23/25 by Sarah Abraham theshark@cs.utexas.edu