OOP Final Project
1. Project Overview
This project is a capstone experience for your object-oriented programming course. Your
group will design and implement a complete game of your own choosing. The goal is to
demonstrate mastery of object-oriented principles and design patterns by creating a
robust, extensible, and well-engineered application.
A key requirement of this project is the integration of AI tools throughout the
development lifecycle. You will use AI as a collaborative partner for brainstorming,
design, implementation, and debugging. This project will assess not only your
programming skills but also your ability to effectively leverage AI to build better software.
2. Core Requirements
Since your group will choose its own game, the first step is to define its scope. Your
proposal must clearly outline the following:
Game Concept & Theme: A high-level description of the game, its setting, and the
player’s role.
Core Gameplay Loop: A summary of the primary actions and mechanics that define
the player experience.
Game Objects & Entities: An identification of the key objects and actors within your
game world.
Win/Loss Conditions: A clear definition of the objectives and what constitutes
success or failure.
3. AI-Powered Development Process
You are required to use AI tools (such as Gemini, ChatGPT, Copilot, etc.) as an integral
part of your development process. You must document this collaboration in a log.
Phase 1: Conceptualization & Architectural Design
Use AI to generate and refine game ideas, themes, and mechanics.
Collaborate with an AI to design your core class structure, including classes,
attributes, methods, and relationships.
Use AI to generate initial design artifacts, such as UML Class Diagrams, based on
your design conversations.
Consult an AI to identify potential design challenges and research appropriate
design patterns to solve them, analyzing the trade-offs of each.
Phase 2: Implementation & Iteration
Use AI to generate boilerplate code, implement complex algorithms, and explain
programming concepts.
Use AI as a debugging partner by providing it with code snippets and error
messages to get suggestions for fixes.
Leverage AI for code refactoring to improve readability, efficiency, and
adherence to your chosen design patterns.
Deliverable: The AI Collaboration Log
You must maintain a document ( AI_LOG.md ) that chronicles your interactions
with AI.
For each significant interaction, log the prompt you used, the AI’s output, and a
brief analysis of how you used (or why you rejected) the AI’s suggestion.
This log is a critical deliverable and will be a major part of your grade.
4. Technical & Design Requirements
A. Object-Oriented Principles
Your design must heavily leverage core OOP concepts: Encapsulation, Inheritance,
Polymorphism, and Abstraction. You should be prepared to justify your design
decisions in relation to these principles.
B. Design Patterns
Your project must thoughtfully implement at least three (3) software design patterns.
Instead of choosing from a predefined list, your group is responsible for researching,
selecting, and justifying the patterns that are most appropriate for solving the specific
problems in your game’s design. Your justification should explain why the chosen pattern
is a suitable solution for the problem at hand.
5. Deliverables
1. Deliverable 3: Final Submission Package
The complete, playable game source code.
A comprehensive Final Project Report that includes:
Final Code Documentation (explaining logic and design choices).
The Final UML Diagram.
A [Link] file explaining how to compile and run your project.
The complete and detailed AI Collaboration Log.
Presentation Slides.
.
└── group/
├── source-code/
│ └── ...
├── slide/
│ ├── [group]-[student-ids].pdf
│ └── [group]-[student-ids].pptx
└── report/
├── [group]-[student-ids].pdf
├── [group]-[student-ids].docx
├── [Link]
└── [Link]