SEMINAR PROJECT HUB
The project for this seminar is the culmination of your work in the topic of Game Design and Development and a way to practice all your Computer Science skills. Over the next several weeks, you will move from conceptualization to deployment, applying the theories, design principles, and technical skills explored in class to create a fully playable game. This project is your opportunity to demonstrate mastery of the complete development cycle: conceiving a compelling game idea, documenting it in a Game Design Document (GDD), building core mechanics, testing and iterating on feedback (Agile methodologies), and delivering a game that will be shared and played by others on the last week of class.
Learning Outcomes:
By the end of this term, each team will design, develop, test, and deploy a fully playable game that demonstrates your understanding of game mechanics, design principles, coding skills, and user experience.
Week 2 Tasks
Game Design Document & Technical Setup
- Polish your Game Design Document (GDD): Due Wednesday of Week 4.
- Choose development platform/engine: Godot (4) • Java (1) • RPGMaker (~1) • Unity (1).
- Plan to start testing the core mechanics of your game: For your chosen platform/engine, investigate how to program/implement your game mechanics: player movement, interactions, main objective, enemies/villains, and such.
TIP: Set up version control (GitHub/GitLab) and your project repository. This Version Control Practicum from "COMP305 - Software Development", is very helpful to learn or refresh Git concepts.
Week 3 Tasks:
Core Mechanics & Story
- Work on the overall story that will drive your game: Even if your game is not story-driven, having a interesting premise for your players is always an add-on.
- Continue your investigation/testing of how to implement your gameplay mechanics: player movement, interactions, and main objectives.
- Continue your practice: Godot Tutorial • RPGMaker Tutorial • Unity • Java.
- Start preparing a development plan: Start designing your team's working schedule. What will happen every week? What kind of elements will be implemented with high/medium/low priority? Which team member will do what? Remember to use Agile software development techniques.
NOTE: You should have a very solid GDD, if not, continue working on it, focusing on the mechanics, main game loop, main objective and the story of your game.
TIP: Prepapre a GitHub Project page and connect it to your repository (the repository for your game codebase). In there, you can create and manage a Kanban board and plan sprints.
Week 4 Tasks:
Level Design & UI
- Start gathering assets: sprites, maps, background layouts, audio (loop, feedback sounds) and so on.
- Design/Build user interface (UI) for menus, HUD, and feedback. Start thinking about other functionalities like pause, save/load menu (if applicable to your game).
- Start implementing: player movement, interactions, and main objectives.
- Update GDD with a section that contains your group's work plan for weeks 5 through 9.
Weeks 5-9 Tasks:
Implementation Phase
Your team should follow the work plan you agreed upon in your GDD. In general terms, your team should:
- Program basic gameplay mechanics: player movement, interaction, and main objectives.
- Test mechanics to ensure they are responsive.
Project Check-Ins
During weeks 5 through 9, I will be going to your groups to check on your progress towards the tasks you have in your work plan. The goal is to identify bottlenecks in your workflow (getting unstuck, decisions that need action), provide you with feedback early to guide your creative and development process. In these check-ins we will:
- Talk about how your game concept is being realized in your coding.
- Check the core loop and its implementation.
- Check your game mechanics and the scope of your game (to verify if the time constraints will make completion possible or if you need to adjust/change course).
I will also check how much you are advancing in the development part:
- Prototype: is there a working prototype or partially playable level? What can you show-off from your game?
- Style and design: do the assets (or placeholders) communicate a consistent aesthetic? This will include: concept art, UI mockups, character or environment models, sound effects, background music.
Here are some questions for your team that are useful for your development process:
- What part of your game feels most complete? Least complete?
- What's the biggest unknown right now? What's something you're not sure how to fix/design/implement?
- How are you validating that your game is fun or engaging?
- What's your next immediate task you want to complete?