Fall 2003

Questions for Project 3

As part of project 3, you must answer the following questions about your project. Answer them about what you actually got to work and will demo, unless you are explicitly told otherwise.

Thinking about these questions might help you with your project, so you might want to read the questions before finishing your project.

You may answer these questions in a text file (previous postings said it had to be a web page). However, please make sure that the files are named exactly as we would like:

  • the answers (in a text file) should be: p3-questions-login.txt
  • the images (as JPG) should be: p3-image-login-1.txt

You can use the print screen button in windows to make the pictures.(if you press ALT-PrintScreen, the image of the current window is placed on the clipboard. you can then paste it into an image in photoshop).

The questions file must be turned in before class on Tuesday, December 9th. The images may be turned in at the beginning of your project demo.

Note: answering the questions does not take the place of a readme file!

Question 1:

If your program is run on a slower computer, it will draw fewer images per second, and look choppier. However, if you are clever, the rate at which things move will not be affected. That is, if a car is supposed to take 2 seconds to go 1 block, it should take 2 seconds on any computer - it might look choppier on a slow computer, but it will still take 2 seconds.

How would your program behave if you run it on a slower computer? What did you do that would cause this behavior?

Question 2:

As the world gets bigger and more complicated, it gets harder to draw. You may need to use tricks to prevent things from going more slowly.

If your world did get to be too big:

At what point did you notice (how big did it have to get?) What did you do about it? How effective were they? If you could improve one piece of the computer (graphics card, CPU, memory, disk), which would have made the most improvement?

If your world did not get to be too big:

Imagine that your world did get so big that performance was a problem. How would you have determined that the bottleneck was drawing (rather than, say, simulating the objects)? What techniques might you have tried to speed things up?

Question 3:

Describe the flying interface that you provide to the user. If you started with the sample, describe how yours is better.

Question 4:

The "follow" mode in the sample solution has the annoying property that it bounces while following.

If you used the sample code: explain what you did to fix this.

If you did not use the sample code: either explain what you did to avoid the bouncing behavior, or explain why it happens.

Question 5:

What is the coolest behavior in your system? Describe it and how it works.

Question 6:

What is the most interesting object in your system. Describe how you made it.

Question 7:

Even though your program is going to be run on computers with a Z-Buffer, the order in which you draw objects might make a difference.

Explain the drawing order considerations in your program.

Question 8:

Please turn in a few pictures of your town. Please include:

  • a picture of the most interesting object (question 6)
  • a birds-eye view that gives us an idea of how big your town is
  • the most impressive view you can see while flying around your town