You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
FastJ 1.6.0
Highlights
- [SLF4J](https://www.slf4j.org/) integration (currently `2.0.0-alpha-5)` in #127
- Fixed dozens of concurrency "random crashes and errors" in #161
- Added custom input event system for keyboard and mouse usage
- Added `origin`, `unit`, and directional vectors for `Point/Pointf` in #155
- added substantial logging to the engine
- added `EngineConfig` for easier engine configuration
- revamped Display system, added simple dialog system in #124
- added Drawable `lookAt` functionality
- added simple sprites and textures support in #117
- added resource management system in #117
- added support for textures in `.psdf` in #117
- added `.obj` and `.mtl` support in #117
- removed game crashing errors in the audio engine
Breaking Changes
- Deprecated `Point/Pointf.Origin`
- Deprecated `FastJEngine#init(gameTitle, gameManager, fps, ups, windowResolution, canvasResolution, hardwareAcceleration, exceptionAction)`
- original display system is no longer supported
Other Changes
- Added [Spotless](https://github.com/diffplug/spotless) integration for import order (and hopefully more things later)
- Added trace-level logging and date/time recording to `test` logging
- moved `src/example` to its own Gradle subproject in #127
- fixed audio example sound usage
**Full Changelog**: 1.5.1...1.6.0
Copy file name to clipboardExpand all lines: README.md
+70-47Lines changed: 70 additions & 47 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,8 +17,8 @@
17
17
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.
18
18
19
19
20
-
## Disclaimer
21
-
**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)
20
+
###Disclaimer
21
+
**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. [Feel free to help us out by contributing to the project!](#contributing-to-fastj)
22
22
23
23
24
24
## Projected Feature List
@@ -30,10 +30,13 @@ FastJ is an open-source, Java-based 2D game engine and framework. Originally nam
30
30
| Scriptable Behaviors | Control GameObject state | ✅ |
31
31
| Desktop Support | Full Compatibility on Windows, Linux, and macOS | ✅ |
[FastJ provides article tutorials on its website][FastJ-Tutorials] 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!
69
+
70
+
71
+
### Code Examples
72
+
[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.
73
+
74
+
75
+
### API Documentation
76
+
[Check out FastJ's documentation][Javadoc] to get a better understanding of the code FastJ provides to improve your game-making experience.
77
+
78
+
79
+
### I'll add the dependency myself!
80
+
Ok, ok, I hear ya. Just follow through with these instructions below.
81
+
82
+
83
+
#### Dependency Management
50
84
This library can be found in the following places:
51
85
-[jitpack.io][Jitpack.IO], as a dependency.
52
86
-[Maven Central][Maven-Central], as a dependency or as a jarfile.
53
87
- The [Releases][Releases] section of this repository.
54
88
55
-
56
-
### Adding the Dependency
57
-
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.1**.
89
+
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.6.0**.
58
90
59
91
A few common dependencies are provided below:
60
92
61
-
-**Gradle**
93
+
-**Gradle Build Script**
62
94
- Groovy:
63
95
```groovy
64
96
repositories.maven {
@@ -75,7 +107,7 @@ A few common dependencies are provided below:
75
107
76
108
dependencies.implementation("com.github.fastjengine:FastJ:[latest version here]")
77
109
```
78
-
- **Maven**
110
+
- **Maven POM**
79
111
```xml
80
112
<repository>
81
113
<id>jitpack.io</id>
@@ -89,53 +121,41 @@ A few common dependencies are provided below:
89
121
</dependency>
90
122
```
91
123
124
+
You'll also want to make sure you add a dependency for a logging framework from [SLF4J][SLF4J], since FastJ uses it for all its logging purposes. Take your pick!
92
125
93
-
## Learning FastJ
94
-
There are many different ways to learn FastJ -- namely the API documentation, the examples, and the tutorials on the main website.
95
-
96
-
97
-
### Template Projects
98
-
Check out these template projects for FastJ! They're the fastest way to jump right into using FastJ.
[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!
129
+
```java
130
+
importtech.fastj.engine.FastJEngine;
131
+
importtech.fastj.graphics.display.FastJCanvas;
132
+
importtech.fastj.systems.control.SimpleManager;
107
133
134
+
publicclassHelloFastJextendsSimpleManager {
108
135
109
-
### Code Examples
110
-
[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.
136
+
@Override
137
+
publicvoidinit(FastJCanvascanvas) {}
111
138
139
+
@Override
140
+
publicvoidupdate(FastJCanvascanvas) {}
112
141
113
-
### API Documentation
114
-
[Check out FastJ's documentation][Javadoc] to get a better understanding of the code FastJ provides to improve your game-making experience.
142
+
publicstaticvoidmain(String[] args) {
143
+
// Creates an empty window titled "Hello, FastJ!"
144
+
FastJEngine.init("Hello, FastJ!", newMain());
145
+
FastJEngine.run();
146
+
}
147
+
}
148
+
```
115
149
116
150
117
-
## Contributing to FastJ
118
-
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.
151
+
## External Dependencies
152
+
-[SLF4J][SLF4J]
119
153
120
154
121
-
### Building FastJ
122
-
You'll need a few things in order to work on the repository:
123
-
-[Git][Git-Link]
124
-
-[Java 11][AdoptOpenJDK-Java11-Link]
125
-
- (optional, but highly recommended!) A decent understanding of how to use [Gradle][Gradle-Link].
126
-
**Installation of Gradle is not required -- the project supplies the Gradle tools already.**
127
-
- For reference, this project currently makes use of Gradle 7.1.1.
155
+
## Contributing
156
+
Plan on contributing to the repository? Awesome! We're glad to have you ❤️
128
157
129
-
Once you have what you need, follow these simple steps:
0 commit comments