This repository is home to an exciting Object-Oriented Programming (OOP) project, the classic game, Chicken Invaders, using Java.
Order | Name | ID | Github account | ||
---|---|---|---|---|---|
1 | Nguyen Hong Son | ITDSIU21117 | ITDSIU21117@student.hcmiu.edu.vn | Son-SDT | Son Son |
2 | Nguyen Nhat Khiem | ITDSIU21091 | ITDSIU21091@student.hcmiu.edu.vn | Khim3 | Khiem Nguyen |
3 | Nguyen Tri Tin | ITDSIU21123 | ITDSIU21123@student.hcmiu.edu.vn | MicroGix | Tin Nguyen |
4 | Le Thi Thuy Nga | ITDSIU21024 | ITDSIU21024@student.hcmiu.edu.vn | Schrrodinger | Thuy Nga |
Prerequisites: Make sure that the following dependencies are installed on your machine:
- Git
- Java JDK 21
- JavaFX21
Install Game: Navigate to your local game directory and add necessary packages (set up JDK and JavaFX)
We are working with this game as our project lab of Object Oriented Programming is a 4-credit course. During our investigation into how to create 2D games with Java, we remembered the Chicken Invaders game which was popular in our childhood.
Order | Task | Person | Contribution (%) |
---|---|---|---|
1 | Set up controllers, set up SFX, tester, prepare presentation slide | Hong Son | 25 |
2 | Develop first version, build entities, create UML, prepare report | Nhat Khiem | 25 |
3 | GitHub repository host, design UI, design game mechanic, prepare report | Tri Tin | 25 |
4 | Develop first version, design UI, create UML, prepare report | Thuy Nga | 25 |
- JDK 21
- Javafx
- Scene Builder
- Aesprite
- Apache Maven
-
Tutorials:
- Try to survive as long as you can and eliminate chickens to get the highest score
- You only have 3 lives to sustain throughout the entirety of the game
- For each chicken get destroyed you will earn 2 points, however, if one of them get passed, you will lose 4 points. You lose the game when either your score is 0 or you lost all 3 lives
- When reaching to certain points, your bullet will level up with bigger and faster bullet
- Use mouse to move; A, S or Mouse click to shoot
-
General:
- START: start the game
- TUTORIAL: introduce instructions on how to play the game
- CREDITS: introduce the authors and developers who made this game
- EXIT: exit the game
- Working with Existing Code: It was difficult to understand and develop for the existing codebase, sometimes it was hard to develop new features as all classes and packages are fixed
- Balancing Difficulty: Finding the right balance to make the game challenging but not too hard for gamers was a tough task.
- Using JavaFX Framework: As we were not familiar with the JavaFX framework, it was challenging to use it effectively.
- We would like to extend our heartfelt gratitude to everyone who contributed to the success of our OOP game project. This journey has been incredibly rewarding, and it wouldn’t have been possible without the contribution of each member.
- We’re grateful for the feedback and suggestions from our friends. Their insights have significantly improved the game experience. Thank you to our beta testers who volunteered their time to help us refine our game.
Important
This project utilizes several open-source tools, OpenAI, and libraries, and we extend our gratitude to the developers and maintainers of these resources. Your work has been vital in bringing our game to life.