Bricksthetics is a captivating game that reinvents the classic brick-breaking experience with a focus on aesthetics and user engagement. It boasts a sleek, minimalist design, complemented by a range of interactive features that elevate gameplay. Enjoy dynamic levels with varying patterns and complexities, enhanced by customizable options for a personalized touch. The inclusion of intuitive controls and accessibility features ensures a seamless and inclusive gaming experience. With its combination of visual beauty and engaging gameplay, Bricksthetics is a delightful escape for gamers seeking both challenge and charm.
- Bricksthetics
This project was developed solely on JavaFX version 21 only by utilizing dependencies from the JavaFX library in Maven.
- Download and install the JDK from here or from here.
- Set the environment variable
JAVA_HOMEto the JDK installation directory. - Add the JDK
bindirectory to thePATHenvironment variable. - Verify the installation by running the following command in the terminal:
java -version
- The output should be similar to the following:
java version [java version]
Java(TM) SE Runtime Environment (build [java version])
Java HotSpot(TM) [bit]-Bit Server VM (build [java version], mixed mode, sharing)
- Download and install Maven from here.
- Set the environment variable
MAVEN_HOMEto the Maven installation directory. - Add the Maven
bindirectory to thePATHenvironment variable. - Verify the installation by running the following command in the terminal:
mvn -version
- The output should be similar to the following:
Apache Maven 3.x.x ([unique-build-id])
Maven home: [path to maven installation]
Java version: [java version], vendor: [vendor name], runtime: [path to java runtime environment]
Default locale: [locale], platform encoding: [encoding]
OS name: "[os name]", version: "[os version]", arch: "[os architecture]", family: "[os family]"
To run this project form the command line, follow these steps:
- Clone the repository using the following command:
git clone
- Open your command line terminal.
- Navigate to the root directory of the project where the
pom.xmlfile is located. - Then, execute the following Maven command:
mvn clean
- This command cleans the
targetdirectory, removing all previously compiled Java classes and resources.
- Next, execute the following Maven command:
mvn install
- This command compiles the source code of the project.
- Alternatively, you can execute the following combined command:
mvn clean install
- Now to start the application, run:
mvn javafx:run
or alternatively:
java -jar target/bricksthetics-1.0-SNAPSHOT.jar
To run this project from Intellij, follow these steps:
- Open Intellij IDEA.
- Choose 'Open form the welcome screen or File > Open' from the menu.
- Navigate to and select the root directory of the project where the
pom.xmlfile is located. - In the 'Maven' tool window, which is usually on the right tab sections side, expand the 'Lifecycle' section.
- Double-click on the 'clean' to execute the cleaning process.
- Then double-click on 'install' to build the project and install the dependencies.
- After the build completes, you can then run the
Main.javafile located in thesrc/main/java/breakoutdirectory.
This project is mainly divided into parts of two major packages. One which is the core and the other the overall external framework that heavily depends on the core package.
The core package can be assigned with a group and artifact ID and be used as a Maven dependency. However for better readability for this project, it was left within the same directory as the main project. The core folder is created to account for the separation of concerns and to ensure that the core functionalities of the game can be reused in other projects.
Any package then which employs the core directory will be able to implement and further enhance its functionality.
For instance: the entities folder in the core package contains Player and Enemy actors, and a Projectile entity.
Their broad terms and surface functionalities serves the purpose of being reused in multiple projects.
In the case of this project, the players are further specialized to Paddle and Cannon, while the enemies are further specialized to Brick classes.
projectiles are then specialized to Orb class.
If you made any changes to the pom.xml file, run this command after the changes:
mvn clean package
before starting the application again.
--
We enthusiastically welcome and appreciate contributions from the community. To ensure smooth collaboration and maintain the quality of the project, please follow these guidelines:
-
Fork & Clone
- Begin by forking the repository to your GitHub account.
- Once done, clone the forked repo to your local machine.
-
Set Up & Install
- Follow the Installation Setup to get the development environment ready.
-
Create a New Branch
- For every new feature or bugfix, create a separate branch.
- Use a descriptive name for the branch, such as
feature/new-feature-nameorbugfix/issue-number.
-
Write Quality Code
- Ensure your code adheres to the existing coding standards and conventions of the project.
- Properly comment your code and keep functions and classes modular.
-
Test Thoroughly
- Before submitting a pull request, ensure that your code changes do not break any existing functionality.
- Write tests if applicable.
-
Commit and Push
- Commit your changes with meaningful commit messages.
- Once satisfied, push the branch to your fork on GitHub.
-
Submit a Pull Request (PR)
- Go to the main repo on GitHub and click on the “New pull request” button.
- Choose the branch you just pushed from the dropdown and submit the PR with a comprehensive description of the changes.
-
PR Review
- Maintainers will review your PR. Address any comments or requested changes.
- Once approved, your PR will be merged into the main branch.
In order to ensure that the Bricksthetics community is welcoming to all, please review and abide by the [Code of Conduct](
This project would not have been possible without the contributions, feedback, and expertise of the following individuals:
Detailed changes for each release are documented in the release notes.
For more detailed changelog entries and version histories, see our changelog.
MIT License
Copyright (c) 2023-present Bricksthetics Developers
For more details, please refer to the license.
If you discover any security vulnerability within Bricksthetics, please send Joseph Chay an email.
Should you have any questions or detailed discussions requirements, please use the project's Issues section.

