Your will write an original video game using Pygame and Python in a student-managed team project. The theme(s) will be given during the end of the Pygame tutorials. Keep the scope of your game small.
You should decide with your group how you plan on coding. IDLE, Pyzo, Eclipse, repl.it are all valid choices. Which ones are you most comfortable with? What is the trade-off between comfort and functionality? Which are private, which are public? Which are supported in the classroom?
Here's the code that was used in 2018 to choose the themes.
import random
themes = ['earth', 'air', 'fire', 'water']
for groupNumber in range(0,4):
drawn = random.choice(themes)
print('Group # ' + str(groupNumber+1) + ', your theme is: '+ drawn)
themes.remove(drawn)
Your team will be responsible for managing the software development process effectively, through all of its stages – planning, development, production, and closing. Due Dates at the bottom of this page:
- creating a software project plan by producing a software scope document
- This is a simple Preliminary Project Scope Statement.
- developing the software product according to the project plan
- ensure that the software meets end user needs
- functions as intended
- produced within quality standards
- produced within timelines
- Your game must be developed from an OOP design perspective. Create a UML drawing.
- producing the software according to specifications:
- max window size 800 x 600
- no audio (unless you can drop the bitrate)
- keep image resolution low (150 dpi)
- do not install fonts for the user: set your copy and make it a png
- interview, code, test, deploy
- create user documentation
- use an appropriate project management tools
- Explain to me, using an example, of how you will manage version control. This was covered in Unit 0 of ICS3U
- Gantt chart - See ICS3U notes
- Google Calendar - all members will be able to edit the calendar. Link Calendar to your site
- Google Sites - one member will build and maintain a website for your game. The site will have a public site and a private side. The public side will have your dev blog, screen shots, media, press releases, news, FAQ, etc. The private side will be for devs only. Your calendar and drive should be on the private side. Page-level permissions article.
- A developer blog - all members must post daily. Blog about your progress. Do not use an external blog site.
- USE FIRST NAMES ONLY.
- The ENTIRE world can READ your posts.
- All posts will be written in standard formal English.
- THIS FORUM IS RESERVED FOR YOUR DEV JOURNAL. It is not for posting personal messages to your classmates, or for asking me questions.
- You can write blog, then send it to the web admin so that they can update that portion of the site.
- Have fun, be courteous, treat each other with respect and be honest.
- Focus on what you built.
- Focus on positivity.
- Posts that are vague, negative, or promise work, don't mean much.
- Write about what you made, fixed, invented or collaborated on.
- If you didn't blog, just leave that entry blank.
- Avoid starting your posts with salutations - just begin.
- Images in the posts are great.
- Very little of you post should be about the promise or the intention of work, write about your contribution to the project.
- Standard English needs to be consistent. Web Admins, you NEED to proofread what you post, especially if you didn't write it.
- Blogs are 150 - 200 words in length.
- Google Drive - document / source sharing. YOU NEED TO USE VERSION CONTROL. Link Drive to your site.
- Submit the game (source, sprites, backgrounds, assets, media) to me.
- What would you do to maintain or build on your code? Write a 500 word report using specific details. What would you fix in version 2.0? Compare plan to actual performance, outline successes, make recommendations for improvement. All members must contribute to the report.
- Your game credits must include where your assets (sprites, backgrounds, media) came from. Give credit to the original artists. If team members or students at our school created original sounds, music or art, please give credit.
- If you have a team member that is drawing or painting sprite sheets during this unit, remind them that:
- A) it can be done at home.
- B) you need them to contribute to the code, the Gantt, the site, the UML and 2 reports.
- A promotional / trailer / teaser / reveal video.
- Choose a spot to sit where each member of the your group has access to a classroom computer, even if they choose to bring their own machine to class. Leave that spot free for the remainder of the project.
- Exchange contact information between all members. You each need multiple reliable ways to contact each other. Trade this information on the first day. Members should provide a SMS / cell #, a valid email address (GMAIL) and a collaborative application like Discord are strong choices. If members refuse, or suggest social media DM's (direct messaging) speak to me directly ASAP. Test the contact information immediately.
- 1 minute meetings will be demonstrated. Begin each day with one. Hold each other accountable.
- Hold each other accountable. Spend your class time with coding and problem solving. Asset creation and large idea mapping should not be happening during the tutorial portion of the assignment, or the project management portion.
File Naming Convention and Project Size Limit
Please note that the Google classroom has a 20 file limit. If your project has many files, consider a zip archive that you build AT HOME. The project must be no greater than 10 MB (compressed in a zip archive, or uncompressed). For this project, use this naming convention:
- Name your files using the class naming convention:
- GameName_assignment.py
- GameName_readme.txt
- GameName_image1.jpeg
- GameName_image2.jpeg
ONLY THE PROJECT MANAGER CAN HAND IN THE ASSIGNMENTS.
Day 1 - Game name + URL (No Site content required at this point)
Day 7 - Gantt
Day 8 - Site + Drive - I already have your URL. I need you to provide SCREEN SHOTS (paste them into a Google Doc) so that I can LOOK at how you laid out your GOOGLE DRIVE. I DO NOT WANT ACCESS TO YOUR DRIVE.
Day 10 - UML
Day 10 - Preliminary Project Scope Document
Day 19 - Final Report
Day 19 - Game
A4.2 A4.3 A4.4B1.1 B1.2 B1.3 B1.4 B1.5 B1.6 B1.7B2.1 B2.2 B2.3