Kronos is a open source, cross-platform game development library with a robust ecosystem. Listed below are current features:
- Highly customaizable logging framework
- Math library (JOML)
- File system/tree
- Resource manager (local and web)
- JSON parsing (GSON)
- XML parsing (VTD-XML)
- Numerical parsing
- Entity Component System
- Lua Scripting
- Input polling & event dispatch
- Action system
- Robust jobs system
- Toolkit API included
- ImGui integration
install.bat
will setup environmental variables needed for future features of Kronos. Currently, this is not a requirement, but soon will be.
Upon first download and run, a kronos.xml
file will be generated in the working directory data folder. By default, this is %appdata%/Kronos/data
. Inside, you will need to specify your license key acquired from kronosengine.com.
The only required implementations are a Main
class, and a one which extends the Application
base class.
import com.starworks.kronos.core.EntryPoint;
public class Main {
public static void main(String[] args) {
new EntryPoint();
}
}
public class MyApplication extends Application {
public MyApplication() {
}
@Override
public void initialize() {
}
@Override
public void update(TimeStep timestep) {
}
@Override
public void fixedUpdate(TimeStep timestep) {
}
@Override
public void render() {
}
}
Go ahead and run the main class, which will result in a crash. Thereafter, two files, configuration.xml
and configuration.xsd
, will be generated in the classpath data folder. Inside of configuration.xml
there is an attribute of the root element which specifies the target implementation of Application
; left blank by default. Go ahead and fill in the FQN (fully-qualified name) of your Application
implementation and run the project again.