We wont you to make the static GUI using the UML Diagrams as a reference. Game Development using Advanced Programming: Angry Birds 1. Important Instructions Stick to the deadlines for this project. No request for rescheduling the demo will be entertained. In case of any unavoidable circumstances, you must seek approval well in advance via email. Create a private Git repository on GitHub for the project. All team members should frequently check in their code. Making the repository public before the final deadline or any form of plagiarism will result in disciplinary action. Usage of ChatGPT, Claude, Gemini, and other LLMs will be treated as plagiarism. Copying code from another student or any online source without including due credit to the source in the README file will be treated as plagiarism. If any ambiguity or inconsistency arises, seek clarification from the TAs. 2. Introduction Angry Birds is a puzzle video game where birds aim to get back their eggs stolen by pigs. Players use a slingshot to launch birds at pigs standing on buildings made of different materials. The goal is to destroy all pigs on the map to unlock the next level. As part of your CSE 201 (Advanced Programming) major project, you’ll be developing this game using Java and working in teams of two. The team should remain the same across all deadlines. 3. Getting Started You’ll use libGDX, a cross-platform Java game development framework based on OpenGL. Refer to the official libGDX documentation for guidance. 4. Gameplay and Implementation You should implement the game following these rules: 4.1 Basic Features Implement the basic gameplay: use a slingshot to shoot birds at a structure containing pigs. Birds should follow a trajectory based on the angle and speed of launch. Structures may consist of blocks of various materials (wood, glass, steel), which break after a certain number of hits. Pigs will take damage if hit by a bird or if the block beneath them collapses. Pigs may take multiple hits to die, based on their size. Win by destroying all pigs, lose if you run out of birds. Different birds should have different speeds and impacts. For instance, some birds might deal more damage than others. Implement at least 3 types of birds, 3 types of pigs, and 3 types of materials. Implement at least 3 different levels, each with a different set of birds, pigs, and structures. 4.2 Serialization and Game Saves Implement a save game function to save the current state of the level, including structures collapsed, hits dealt to pigs, remaining birds, etc. Provide a restore menu to continue from saved states using serialization. 4.3 Bonus Features You can implement bonus features for extra points. Examples: Special bird abilities (e.g., black bird explodes, blue bird splits into three). Random level generator for infinite gameplay. 5. Deadlines 5.1 Deadline 1: UML Class and Use Case Diagram Due Date: 23rd September Submit: A detailed UML Class Diagram, showing all classes, interfaces, attributes, methods, and relationships. A UML Use Case Diagram, illustrating the user’s interaction with the game and class relationships. Weightage: 2.5% UML Class Diagram: 1.5% UML Use Case Diagram: 1% 5.2 Deadline 2: Static GUI Due Date: 21st October Deliver a game with a static GUI, including all the components and visual elements of the game. No event handlers are required at this stage. Include: Home Page, Menus, Game Screen, In-Game Components, Pause/Level End Screens. A README file with commands to set up, run, and test the project, including references to any online sources. Weightage: 2.5% Judged on GUI completeness, events between screens, visual quality, code quality, and adherence to conventions. 5.3 Deadline 3: Functioning Game Due Date: 25th November Deliver a completed game with: All features implemented, including serialization for game saves. A demo video showing all components of the game. JUnit tests verifying the functionality of different methods. A README file with setup, run, and test instructions, and references to any online sources. Weightage: 15% Judged on completeness, OOP concepts (Inheritance, Polymorphism, Interfaces), presence of a demo video, game serialization, JUnit testing, design patterns, code quality, and adherence to coding conventions.
2023047_2023277_UMLClass 2023047_2023277_UMLUseCase CSE201_Project_M2024