Skip to content

Commit 59ab49b

Browse files
committed
(#55) add jitpack dependency get, add website tutorial content, revamp learning fastj section, update contributing section
1 parent 228e9ef commit 59ab49b

File tree

1 file changed

+63
-49
lines changed

1 file changed

+63
-49
lines changed

README.md

Lines changed: 63 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -8,25 +8,27 @@
88

99
[![Javadoc][JavaDoc-SVG]][JavaDoc]
1010
[![Maven Central][Maven-Central-SVG]][Maven-Central]
11+
[![jitpack.io][Jitpack.IO-SVG]][Jitpack.IO]
1112
[![SonarCloud Code Coverage][SonarCloud-CodeCoverage-SVG]][SonarCloud-CodeCoverage-Report]
1213
</div>
1314

1415
## What is FastJ?
1516
FastJ is an open-source, Java-based 2D game engine and framework. Originally named the FastJ Engine, it aims to provide an easy-to-use, 2D game-making library.
1617

18+
1719
## Disclaimer
1820
**This project is still under heavy development.** There is a very good chance bugs are still prevalent and untracked, as the engine is not fully covered by unit tests. Documentation is readily available, but may change over time. [If you would like to help out, all help is appreciated!](#contributing-to-fastj)
1921

2022

2123
## Projected Feature List
2224

23-
| Feature | Description | Support |
24-
| :------------------- | :---------------------------------------------------------- | :-----: |
25-
| 2D Rendering | Rendering of 2D Polygons, Models, Lighting ||
26-
| Scene System | Scene-based Rendering, Scene Switching ||
25+
| Feature | Description | Support |
26+
| :------------------- | :---------------------------------------------------------- | :-------: |
27+
| 2D Rendering | Rendering of 2D Polygons, Models, Lighting | |
28+
| Scene System | Scene-based Rendering, Scene Switching | |
2729
| Scriptable Behaviors | Control game object states through behaviors. ||
2830
| Desktop Support | Full Compatibility on Windows, Linux, and macOS. ||
29-
| Audio Engine | Play sounds of several different formats at any given time. ||
31+
| Audio Engine | Play sounds of several different formats at any given time. | |
3032
| Image Support | Image rendering, transformations, and sprite animation. ||
3133
| Animation Support | Interpolation and tweening framework. ||
3234
| UI System | Flexible UI system to replace the need for Swing UI. ||
@@ -43,77 +45,86 @@ FastJ is an open-source, Java-based 2D game engine and framework. Originally nam
4345
❌ is not yet implemented.
4446

4547

46-
## Learning FastJ
47-
48-
### Template Projects
49-
Check out these template projects for FastJ! They're the fastest way to jump right into using FastJ.
50-
51-
- Java: https://github.com/lucasstarsz/fastj-java-template
52-
- Kotlin: https://github.com/lucasstarsz/fastj-kotlin-template
53-
- Groovy: https://github.com/lucasstarsz/fastj-groovy-template
54-
55-
### Examples
56-
[The example projects][FastJ-Example] are a great way to start learning how to use FastJ.
57-
58-
### Wiki
59-
We are currently working on a [wiki][FastJ-Wiki] for the engine. It'll guide through the basics on how to start a project.
60-
61-
### Documentation
62-
From there, explore the example code, play around with it, and read the [API documentation][Javadoc] to get a better understanding of FastJ.
63-
64-
65-
## Adding FastJ to your project without a template
48+
## Adding FastJ to a Project
6649
This library can be found in the following places:
50+
- [jitpack.io][Jitpack.IO], as a dependency.
6751
- [Maven Central][Maven-Central], as a dependency or as a jarfile.
6852
- The [Releases][Releases] section of this repository.
6953

54+
7055
### Adding the Dependency
71-
When adding the dependency, **make sure to replace `[latest version here]` with the actual latest version** (you'll find this in the Maven Central link up above). **The current latest version is 1.4.0**.
56+
When adding the dependency, **make sure to replace `[latest version here]` with the actual version** (you'll find this in the jitpack.io or Maven Central link up above). **The current latest version is 1.5.0**.
7257

7358
A few common dependencies are provided below:
7459

7560
- **Gradle**
76-
- Groovy:
77-
```groovy
78-
implementation 'io.github.lucasstarsz.fastj:fastj-library:[latest version here]'
79-
```
80-
- Kotlin:
81-
```kotlin
82-
implementation("io.github.lucasstarsz.fastj:fastj-library:[latest version here]")
83-
```
61+
- Groovy:
62+
```groovy
63+
repositories.maven {
64+
url('https://jitpack.io')
65+
}
66+
67+
dependencies.implementation('com.github.fastjengine:FastJ:[latest version here]')
68+
```
69+
- Kotlin:
70+
```kotlin
71+
repositories.maven {
72+
setUrl("https://jitpack.io")
73+
}
74+
75+
dependencies.implementation("com.github.fastjengine:FastJ:[latest version here]")
76+
```
8477
- **Maven**
8578
```xml
79+
<repository>
80+
<id>jitpack.io</id>
81+
<url>https://jitpack.io</url>
82+
</repository>
83+
8684
<dependency>
87-
<groupId>io.github.lucasstarsz.fastj</groupId>
88-
<artifactId>fastj-library</artifactId>
85+
<groupId>com.github.fastjengine</groupId>
86+
<artifactId>FastJ</artifactId>
8987
<version>[latest version here]</version>
9088
</dependency>
9189
```
92-
- **Apache Ivy**
93-
```xml
94-
<dependency org="io.github.lucasstarsz.fastj" name="fastj-library" rev="[latest version here]" />
95-
```
90+
91+
92+
## Learning FastJ
93+
There are many different ways to learn FastJ -- namely the API documentation, the examples, and the tutorials on the main website.
94+
95+
96+
### Tutorials
97+
[FastJ provides article tutorials][FastJ-Tutorials] on its website to accommodate as many types of developers as possible. From beginners to experts, the website tutorials are written to give enough information to satisfy anyone willing to learn!
98+
99+
100+
### Code Examples
101+
[Explore FastJ's code examples][FastJ-Examples] to see the different ways FastJ can be used, and all of its features. These come with in-example explanations and easy plug-and-playability to give you the best chance at understanding how FastJ works.
102+
103+
104+
### API Documentation
105+
[Check out FastJ's documentation][Javadoc] to get a better understanding of the code FastJ provides to improve your game-making experience.
96106

97107

98108
## Contributing to FastJ
99-
Plan on contributing to the repository? Great! Be sure to read over the [contribution guidelines][Contributing-Guidelines].
109+
Plan on contributing to the repository? Great! Be sure to read over the [contribution guidelines][Contributing-Guidelines], and read on to discover how to get started.
110+
100111

101112
### Building FastJ
102113
You'll need a few things in order to work on the repository:
103114
- [Git][Git-Link]
104115
- [Java 11][AdoptOpenJDK-Java11-Link]
105116
- (optional, but highly recommended!) A decent understanding of how to use [Gradle][Gradle-Link].
106117
**Installation of Gradle is not required -- the project supplies the Gradle tools already.**
107-
- For reference, this project currently makes use of Gradle 7.1.1.
118+
- For reference, this project currently makes use of Gradle 7.1.1.
108119

109120
Once you have what you need, follow these simple steps:
110121
- Clone the FastJ repository.
111122
```bash
112123
git clone https://github.com/fastjengine/FastJ.git
113124
```
114-
- Build the project.
125+
- Ensure that the FastJ project works on your device.
115126
```bash
116-
./gradlew build
127+
./gradlew check
117128
```
118129
_Having trouble using `gradlew`? Read [this][Terminals Are Different]._
119130

@@ -122,7 +133,7 @@ Once you have what you need, follow these simple steps:
122133
This repository is licensed under the [MIT License][MIT-License].
123134

124135

125-
[FastJ-Logo]: media/branding/fastj_logo.png "FastJ Logo"
136+
[FastJ-Logo]: https://raw.githubusercontent.com/fastjengine/FastJ/main/media/branding/fastj_logo.png "FastJ Logo"
126137

127138
[SonarCloud-CodeCoverage-SVG]: https://img.shields.io/sonar/coverage/fastjengine_FastJ?labelColor=363e45&logo=sonarcloud&logoColor=f3702a&server=https%3A%2F%2Fsonarcloud.io&style=for-the-badge
128139
[SonarCloud-CodeCoverage-Report]: https://sonarcloud.io/dashboard?id=fastjengine_FastJ "SonarCloud Code Coverage"
@@ -136,6 +147,9 @@ This repository is licensed under the [MIT License][MIT-License].
136147
[MacOS-Build-Action]: https://github.com/fastjengine/FastJ/actions?query=workflow%3ABuild-MacOS "Mac OS Build Status"
137148
[MacOS-Build-SVG]: https://img.shields.io/github/workflow/status/fastjengine/FastJ/Build-MacOS?label=Mac%20OS%20Build&labelColor=363e45&logo=apple&logoColor=000000&style=for-the-badge
138149

150+
[Jitpack.IO]: https://jitpack.io/#fastjengine/FastJ "FastJ on jitpack.io"
151+
[Jitpack.IO-SVG]: https://img.shields.io/jitpack/v/github/fastjengine/FastJ?label=jitpack.io&style=for-the-badge&labelColor=363e45&color=blue&logo=jitpack
152+
139153
[Maven-Central]: https://maven-badges.herokuapp.com/maven-central/io.github.lucasstarsz.fastj/fastj-library "FastJ on Maven Central"
140154
[Maven-Central-SVG]: https://img.shields.io/maven-central/v/io.github.lucasstarsz.fastj/fastj-library?style=for-the-badge&color=blue&label=Maven%20Central&labelColor=363e45&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAHaklEQVR4XuVZaWwVVRT+zp23FJVFYgQN4NRSWqgUFFuEgEpAJGFxF03UxMSgwQQ1FASLFAnUFovbD+Lyw2A0BgMkCBgx7qAIKMpOW6SDETVuQaKgfTNzzL0z074HJbTMndfFl7SveZ0593zf+b5z7p1H6EQvfi2fG08CyZn1pCttbYF0JXSmOCdezmMwwDbBTQHdHzukJXctQaIGf/KVPFZrMOA6gJsiOCmgV1l4Ejo8AaryAMjPlH0CXFsSAfR6PBwJHZqAAHxAgGLCBdzABgkD9HBtKAyhbo5S+nZNATd2t5uWMATDZS9dWXlpA6mGHrO7oAJ+mZ/PzITuuY4CnBMn/Gt7bUC1At8GcRCSs8JNhA6pgJ/nDmISQLI3I97ThSEA103rA9IGKcL5CQF6sC4UhlA3R2GBH2cVMsUYIs4AAX2q6ujkq3nMLpA6LvDvMW8MSoLkh32ru5AFjs4YzCzBxwCKMxIJRsrxwLb0kuSELULoAGETCO7//p4hzHGoyksFUBzonWPgWKMNCI8EEp4q5Kt3NwPxigOh8w8dQBcBDXcXsQQdEND/5QN09OFCzgCfRkSf6vDVV+NVF4AwcepvGcrC970koFuS4DBgk+vJnwAyOOPvS54NN/+DfNudgKNTruQT5CjZq+rHGblv7qMj9xUxhA9avht+LyBGvxUHteWtLdC5KuDgDcM4kL2IA2w4iBkGOKi+732lBJ+Q/q+E936HUMB3147gRsNJa3wMoRodAb7kVeNL8/5lK/drLZrWYG1Rwbd5JRzrY0NIoHFv9BW8v4vqJherTZD0vAc8sAFwQZJw8co9WnPWGqwtBHx1eYna2ef0tRUBsgdAuBBCeOPOJyG9Ceat3qs9X+0BW0NC3cDRfNxNKaUnLnIgJ0DR59/Q/uuHc1DxdM9LMgZt2B1JrpEEPRsJOy4v9c91rOZwn0uBY7atOn3Q6AICeiUNXPLuTvphbAn327xDe77aA54NvKz+n47tP+Bg9T7iux205+qrGHLUSe/LI+8/BE4JJAwgJVxlieKvdmrPV3vAsxGwPXckk3y2JTc3AGICiLOBk/KMm/a52qXJLbFPyvA9X0eSayRBz0TCNlOCl8g86ctfJYe3047cUvVBczKeMtQlBnBhwkDu3i8jyTWSoGci4EvzGlV9SiPAYan8AG3LJEiLnE1Z5/r/yAKfmtAWcwwbcCDgNvm/tGE7SUso6QcHk2YulCWuPhwd+KwehjabY5sJACMpgOGHt5GyhQKdRkKaPc61sq29LysK+Cx3PINteArwVDDS2kZbzVEs/86svjoB4zzhNcYRh7dHmmOkwYMqfGSOV9UPCJDvkoAvzNGqJ7REgkyspCFa8FmxwCe5k9hhW1XeI8EFsQOH5DNdFwEBqjkGNiCgtGFbVooT+SKbzEncDN6T/1hrM31qXudNBF8BwbtwGRfEYvjLsVF6JHoSIiVgw4CpHBPp1XfQUwg0Io4TbuNp4NPJkBZpbSMLc12ki2wwp/qdv1n+46yP6ANzgu99qQAXQikh0w6jrK2R5haQFuki681pTaNP+r+3EPjFBuTXXGo/4AM/lYAx1pZI80pXTKQLvWPelEHARGsTbTInM+CcBj6dhGutzyLNKysEbMidzg43pnV/Bzda79FGc4qa/c3Sz1TDOOvjrIGPdAyuMe84rfs7SICV51smQH73PcH6sGsQsNq8M4OAKdZ6Wmfe3OLoC3rBROv9rIKPTAFvmXexAXnK87p/ghh/cwyxFjY+QTPMIcK4ho1dg4A1A2ewbR9vIuAWay1JRbS085MEJAiY2LA+6+AjU8Cy/Dk8IPVDEwG3WmvobXM6e50+mP3BGGRMs9a1C/jICKjOL2MzddTf6aXgIMdvfpkEyCPwrdbadgOvlYCa4uVctnu2AlM1aA7H2EH/1E+Ybr1Fb5r3KvkHCpCyv8Na1a7AI9kJLiws58UHl9LTPgEFzm/4wwEMoqadXwLA7dYbCvwLA8v4kUM17UqE1sUrCss5ISvtOpAKmFO/nF437+dGiuGBhleb1nomf7Z6DJYUCcyqrdKaQ1sPRtoXX1wwX8lf/sytX05LCuYpsMTek2CvCQIxEMrqlmlfv90JWFK4gMlNoaeI43f2Or3XbPwGyEB5XTVV5s/hJ+qf6XoELC4sZ8E2FtRWk7SEAq6+B/EqL5/3GSQw7+DSdgevdQrIYOWDF3KcHRjs4MnaKnpSqsGvfpMKGKiorewQ4CMhQHq/h0jiV9eGob7tkQogxEig4sCiDgNc6xicXbSUl+8rzwA3b8girtrf8QCf2iS1V6Ri8EJ+6sBiFXfu4EW8rANWPdIHIuWDFvDSuiXaiW3reGvt9Z0m0dYCaut1WglYcEUlL9n7hNaYbQXU1uu1Jls2ZBHXdILGF2kPaGsF2vt6bQqYP+x5fnrXo9riZYsYbQmXFddwze4ybfE6FQEzh1bxij3zOh14bVvhWcOe4xd3Pfb/JeChomX80r65/18CsuXXKNYJXbXpxZW8anfn2vxo3QfcVlzJazoxAf8BpywUbjJvd/MAAAAASUVORK5CYIIA
141155

@@ -144,12 +158,12 @@ This repository is licensed under the [MIT License][MIT-License].
144158

145159
[Releases]: https://github.com/fastjengine/FastJ/releases/ "FastJ Releases"
146160

147-
[MIT-License]: LICENSE.txt "MIT Licensing"
161+
[MIT-License]: https://github.com/fastjengine/FastJ/tree/main/LICENSE.txt "MIT Licensing"
148162

149-
[FastJ-Example]: src/example "FastJ: Example Game"
150-
[FastJ-Wiki]: https://fastj.tech/wiki/fastj-basics/setting-up-for-fastj "Wiki: Setting up for FastJ"
163+
[FastJ-Tutorials]: https://fastj.tech/wiki/fastj-basics/fastj-quick-start "FastJ Tutorials"
164+
[FastJ-Examples]: https://github.com/fastjengine/FastJ/tree/main/src/example "FastJ: Example Game"
151165

152-
[Contributing-Guidelines]: /.github/CONTRIBUTING.md "Contributing to FastJ"
166+
[Contributing-Guidelines]: https://github.com/fastjengine/FastJ/tree/main/.github/CONTRIBUTING.md "Contributing to FastJ"
153167

154168
[Terminals Are Different]: https://gist.github.com/lucasstarsz/9bbc306f8655b916367d557043e498ad "Terminals Access Files Differently"
155169

0 commit comments

Comments
 (0)