Skip to main content Link Search Menu Expand Document (external link)

Final Week Studio: Adventure Engine (continued)

We will be continuing to work on our Choose Your Own Adventure engine and story. Please keep working on it today with the same group you had on Monday.

As you work, think about the code you wrote on Monday. Does it still make sense? Is there anything you wish you had done differently so it would be easier to work with today?

Also, think about scope: how much can you get done? You worked for about 2 hours on Monday, and you’ve got another 2 hours or so to work today. How much did you get done on Monday? What do you still have left to do? Do you think you’ll reasonably be able to complete that work by the end of class today? If you don’t have much left, you might want to expand your scope and add some addtional features or story elements. If you have too much left, you’ll need to prioritize and maybe cut some of the features or story elements you were planning.

Remember if you don’t complete the project in class, you will still have time to complete it next week. The project is due at the end of the finals period for this class: 5pm on Wednesday, April 30th (a week from today).

Grading and rubric

This was also in the instructions for Monday, but here it is again.

In addition to the normal check, check plus, check minus grades for participating in class this week, this project will receive a grade as the final project for the class. This grade is based on how well the program works and how interesting / creative the program is. This class has not only taught you how to program, but also emphasized how programming is a useful tool for expressing creativity.

The grade for your final project is 10% of your overall grade for the class. Each student in the group will receive the same grade for the project. Here is a rubric will we use to determine your grade for the project:

Basic necessities (aka the “Minimum Viable Product”) (70% of grade; 10% each)

  • Program runs (with minimal effort)
  • Content exists; the program tells a story
  • Program is interactive and gives the user multiple paths to follow (those choices matter for the story)
  • Logic of program separated from content somehow
  • Option to quit the program exists
  • Code is stored in Gitlab (with run instructions in the read.me - see below)
  • Screenshots of final, working program in D2L (or in Gitlab)

The remaining 30% of the grade is for going beyond the minimum and making an interesting choose-your-own-adventure program. This can be done through creativity, through programming, or through a combination of both:

Creativity

  • Tells an interesting story
  • Story has an interesting setting / millieu
  • Turtle interface that looks interesting
  • Turtle interface that adds to the story
  • Other, unanticipated creative strengths

Programming

  • The program is well commented and easy to read
  • The code and content is well organized
  • Uses interesting programming / logic to tell the story
  • Uses complex-but-not-unnecessarily-complex code/logic (e.g. dictionaries / files)
  • Other, unanticipated programming strengths

Each of these can be awarded 0-15 percentage points based on how good / interesting it is. Maximum grade is 100%. Generally, if one of these things is there, it is worth 5%. If it is good, then 10%, and if it is really great, then 15%. Plan to incorprate at least 2 things which go beyond the minimum, and play to your group’s strengths.

You will turn your project in the same way as you have been all semester - put the code in Gitlab, and turn in screenshots on D2L. Make sure to add both Shiyu and Caitlin as maintainers on your GitLab repo, or else we won’t be able to grade your project!

IMPORTANT: Please also include instructions on how to run your program in the read.me file in your repository! Your read.me should include:

  • which file in your repository is the main program file that will run your program
  • a list of any Python libraries you’ve used that need to be installed separately
  • anything else that might be important for us to know when we run your program

Collaboration outside of class

You do not have to work outside of class. In past years, many groups have finished their final project during the normal class periods. Make sure to look through the rubric towards the end of class today to see if you have all of the requirements completed. Note that your program must be functional (we must be able to run it) in order for us to grade it.

If you were not able to finish the project in class or would like to add more to it, you are welcome to do so; you will still have a full week left to work on it after today. I encourage you to continue to use git and GitLab for your collaboration; you’ve been using it all semester, and it is specifically designed for collaboration on programming projects like this. It might be useful to create a WhatsApp group or a group text or exchange email addresses or phone numbers so you can keep in touch with your group.

You don’t have to work synchronously with your team, but it is often nice to so do. If it’s too hard to meet in person, you can create your own Zoom meetings for your team by going to https://msu.zoom.us, logging in, and scheduling a new meeting.