Summary: do enough cool stuff and document it, and you’ll get a good grade.
The hard part is quantifying “enough” and “cool”. We might say “you’ll know it when you see it.” But instead, we have to try to write something…
This page may be updated with clarifications and additional examples.
The grading aspects of this assignment are what gets complicated. The assignment itself isn’t that complicated. Make a cool “town”, and you’ll get a good grade. We might just give you an A because we think what you did is particularly cool.
We reserve the right to give you an A or A+ because we think your assignment deserves it. Whether or not all the points add up.
Note: for Workbook 12, Graphics town is worth up to 70 basic points and 15 bonus points.
There are many points available. We add up the total number of points you earn for the assignment. The first 70 of them are awarded as basic points, the rest are awarded bonus points (up to a maximum of 15). So, if you earn 110 points, you get 70 basic and 15 bonus points as your grade - we don’t give more than a A++ on this assignment. However, we do really appreciate the super cool assignments. And we will know that you have done something above and beyond.
The 85 points for Graphics Town is in addition to the 15 points on page 1 of the workbook.
The Graphics Town scoring is design so that the first 60 or so points are relatively straightforward. After that, you need to do harder things. Unlike earlier assignments, you can make up for missing easier things by doing harder ones.
How the points are divided up:
- Basic Checks 16 Points
- Object Quantity and Diversity 24 Points
- Behavior Quantity and Diversity 20 Points
- Subjective Reaction, Coherence and Theme 5 (10) Points
- Specific Technical Options - also known as “Advanced Things” (up to 5 (7) points each, as many as you want to do)
Remember: you only can get points for what you describe in the textboxes of page three of the workbook. Also, remember to give proper attribution for anything you use from either someone else, or even a prior assignment. If you don’t give attribution, you may not get the points.
Basic Checks (16 pts)
These are some simple checks to make sure things are being followed correctly.
- The program runs without fixes. If your program doesn’t run, we may try to see if there is a small problem we can fix ourselves.
- The program runs at a reasonable rate. If your program is super slow, we may take away points. If it seems slow because you have lots of objects.
- The user interface still works. This includes having the world stop moving when we turn off run, and for the speed control to correctly affect all objects.
- There are an appropriate number of objects on the highlight list. Avoid duplicates,
- The program is visually distinct from the example provided. Visually, it can’t just look like you took the demo and added a few things.
- No ??? in any text box. - We want to make sure you have answered all the questions. If there is something you didn’t do, leave the question blank (remove the ???).
You get 16 points if your program passes these checks. If you fail one (or more) of these, we will take away points depending on the severity.
Coherence, Theme, Subjective (5-10 pts)
There is a requirement that your town “makes sense” - it isn’t just a bunch of objects lying around a graphics window.
This is a subjective thing - the grader will judge. Generally, you will get 5 points if what you have seems reasonable. You may explain your theme in a textbox if it isn’t self-evident.
If the grader thinks what you’ve done is particularly creative, interesting, or unique, they may award more than 5 points (up to 10). The points beyond 5 are for the subjective excellence of your project, not because you have a cool idea that you didn’t pull off.
Object Quantity and Diversity (24 pts)
These requirements are for having “enough stuff” in the world. Note that you must document most of these requirements in the textboxes. Many of these requirements need to have their objects in the highlight list.
- There are more than 10 objects in the world - this should be obvious from looking at your program.
- At least 2 of object kinds were created for this assignment by you. (one instance of each should be highlighted)
- There are at least 5 different kinds of objects in the world that you created - not including the 2 above - (one instance of each should be highlighted)
- The type “types” of objects are represented (“buildings”, “natural elements”, “vehicles”)
- There is at least one object loaded from a model file (one instance should be highlighted)
- There is at least one shader that you wrote (one instance should be highlighted)
Explanations of some these things are below. Generally, you will be given 4 points for meeting the requirement. In some cases, we might deduce 1 point if the object doesn’t “fit” in your world, and 1 point if the object is too simple. So, if you have a cube floating in space for no reason, you might lose some points if you list it for #2.
For requirement 3, you can use objects that you made for other assignments. For requirement 1, you can use objects that you didn’t make yourself.
For requirement 5 (model file), you may use a model you obtained from somewhere (with attribution). If you made the model yourself, you may use it in 2 or 3 - the textbox will ask you to explain.
See the definitions below.
- There are at least 5 objects moving
- There are at least 3 different behaviors that you made
- At least one object is rideable / followable
- At least one behavior is “not simple” (discussed below)
- Articulated figure animated (multiple parts move relative to each other) - that you created
You will get 4 points for each requirement that you fulfill. The grader may only give you partial credit if your example is too simple. For example, a swing (from graphics park) is unlikely to get the whole points for #5.
Highlight an object that fills each of requirements 2-5. These must be added to the textbox.
If you are concerned that your object won’t satisfy a requirement, you may list more than the minimum.
(5pts each, as many as you want to do)
These are specific things that you do that are technically challenging. We will give you a list of suggestions to try, but the list might actually grow - there are things we haven’t thought of, or might think of as the project progresses. Think of these as an opportunity to explore a more complex graphics topic, or try out something.
For each one that you do, you will get up to 5 points as follows:
- (1-2 pts) Something that works enough that we can tell you tried (requires the description)
- (3-4 pts) Something that works well enough that we know it works
- (5 pts) Something that makes good use of the technique in your world
There is some variability: if something is really hard, we will give you more points. In fact, we might even give you more than 5 points for something if its particularly challenging and well done. (don’t expect it)
You should only list things that work well enough to reach level 1.
You can choose the number of these that you want to attempt. Notice that there are 65 points in the other categories, so you probably want to attempt 1-2 of these if your goal is to get an AB (and you got the points for page 1), and 3-4 (at least) if you want an A.
Of course, you must list this in the type ins.
Generally, you must implement the “advanced things” yourself. However, in some cases adapting something can be an advanced thing. If you want credit for adapting something that you got from somewhere else, be sure to explain where it comes from (in both the description and ).
The list of possible advanced things is on the Graphics Town Advanced Things 2021 page. Note: there is a “none of the above” category, but if you have an idea you want to ask about, make a Piazza posting - and we might add your idea to the list.
Kinds of objects: You need to have many different kinds of objects in your town (we say “kinds” because you might have several instances of the same kind of object). In the example, the house, the helipad and the helicopter are all kinds of objects.
Object diversity: you need to have enough different types of objects. The minimum is 7 across three categories: “buildings”, “natural elements”, and “vehicles”. These categories are named for towns, so in a wilderness scene or space scene you might have different things. In a wilderness scene, the “vehicles” might be birds rather than cars and helicopters. In space, you might have asteroids or planets rather than trees.
Behaviors: behaviors are ways that objects move. Some behaviors are simple - spinning, driving in a circle, swinging back and forth. Some behaviors are complex enough to be an “advanced thing”. Other behaviors are somewhere in-between - they are “not simple”, but not good enough to qualify as an advanced thing. Examples include following along a 2D spline path (e.g., a track on the ground), or a simple state machine (e.g., going to a place, stopping, then going to the next place).
The helicopter in the example (it takes off, chooses a random helipad, flies to the helipad, and lands) could count as a complex behavior (albeit, a simpler one).
Examples of “complex” behaviors (that can count as “advanced things”) include:
- a roller coaster that correctly follows a 3D track (banking during turns, …)
- objects that move to a destination, do some secondary behavior at that destination, and then move to another. For example, your airplane can fly around, land, turn around, take off again. Your train can stop at a station and have people get on and off.
- an excavator can scoop up some dirt and dump it some place else
- your cars can stop at stop signs and wait for pedestrians
Complex Objects: The complexity must come from your graphics skill, not just because you loaded a complicated looking model. If you have a cool looking car because you found a very detailed model on the web and loaded in using the
FbxLoader, that’s not a complex thing worth points. Complexity can come from putting lots of pieces together in an interesting way.
Complex Adaptations: Finding something complex does not get you complexity points. Generally, you need to make complex things yourself. However, if you adapt something you find, and the adaptation is complex, we can give you complexity points for the adaption. Be sure to describe what you started with (attribution) and why you think the adaptation is worth complexity points. For example, if you were to take the flowing river texture and make it work on a curving river going through your town, that would probably require significant adaptation.