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.