Final Project Review Document
Due: Friday, June 11 online at 2pm
Format the document as a web page, link it into your group web
site, and email us with the URL. Think in terms of roughly 4 pages,
but you can certainly write more if you would like to (and you can see
what other groups have done in the past).
The hard part of the course is over with, and now there is just
one more thing to do: Write a project review document. The purpose of
this document is to summarize the software design and implementation
process that you experienced throughout the quarter. Prepare the
final project review document as a group, but I also encourage you to
make points individually — just append it to the group response
for the question, and annotate it with your last name (e.g., [Voelker]
Blah blah blah).
For examples, you can browse through the final reports from
past years (e.g., 2014,
2015, and
2017).
At the start of the class, you wrote a game concept document, a
project design specification, and a schedule for completing the
project. These were all projections looking forward. Now that the
class is ending, you can look back and compare what actually happened
with what you planned.
A. In the project review document, start by addressing these main
questions:
- Game concept: To what extent did your game concept change from
initial concept to what you implemented? If it did change, how did it
change and why?
- Design: How does your final project design compare to the initial
design, and what are the reasons for the differences, if any?
- Schedule: How does your final schedule compare with your
projected schedule, and what are the reasons for the differences, if
any? (You should be able to glean this from your status reports.)
B. Then address these more general questions:
- What software methodology and group mechanics decisions worked
out well, and which ones did not? Why?
- Which aspects of the implementation were more difficult than you
expected, and which were easier? Why?
- Which aspects of the project are you particularly proud of? Why?
- What was the most difficult software problem you faced, and how
did you overcome it (if you did)?
- If you used an implementation language other than C++, describe
the environments, libraries, and tools you used to support development
in that language. What issues did you run into when developing in
that language? Would you recommend groups use the language in the
future? If so, how would you recommend groups best proceed to make it
as straightforward as possible to use the language? And what should
groups avoid?
- How many lines of code did you write for your project? (Do not
include code you did not write, such as library source.) Use any
convenient mechanism for counting, but state how you counted.
- In developing the media content for your project, you relied upon
a number of tools ranging from the DirectX/OpenGL libraries to
modeling software.
And you likely did some troubleshooting to make it all work. So that
students in future years can benefit from what you learned, please
detail your tool chain for modeling, exporting, and loading meshes,
textures, and animations. Be specific about the tools and versions,
any non-obvious steps you had to take to make it work (e.g., exporting
from the tool in a specific manner), and any features or operations
you specifically had to avoid — in other words, imagine that you
were tutoring someone on how to use the toolchain you used to make it
all work. Also, for the tools you did use, what is your opinion of
them? Would you use them again, or look elsewhere?
Are there any tools
that you used but, looking back, you would avoid?
- Would you have rather started with a game engine or would you
still prefer to work from scratch?
- For those who used a networking library (e.g., RakNet or Boost),
a physics library (e.g., Bullet), or a GUI library, would you use it
again if you were starting over knowing what you know now? Describe
any lessons you learned using it (problems that you had to
troubleshoot and how you addressed them) for future groups who may use
it. If you did not use a library, judging from the experiences of the
groups that did, would you have used it in retrospect?
- For your group web pages, we used wordpress. Were you satisfied
with wordpress, or would you rather have used some other system for
maintaining your group web pages? If you had a choice, what other
system would you prefer to use (or even just doing everything on
your own using HTML, CSS, and JavaScript)?
- Edward introduced using a discord server for the class. Would
you recommend that we continue using discord in the future (e.g.,
even if the next class is in person)?
- This quarter was particularly difficult having to do everything
remotely. What tools and strategies did you use to collaborate,
communicate, and work together?
- What lessons about group dynamics did you learn about working in
such a large group over an extended period of time on a challenging
project?
- Looking back over the past 10 weeks, how would you do things
differently, and what would you do again in the same situation?
- Which courses at UCSD do you think best prepared you for CSE 125?
- What were the most valuable things that you learned in the class?
- Please post four final screenshots of your game on your group
pages for posterity. I will display them on the group web page.
C. Entirely optional, I would appreciate any feedback on the
course:
- What
advice/tips/suggestions would you give students who will take the
course next year?
- How can the course be improved for next year?
- Any other comments or feedback?
And then, finally, you'll be done!