A neat game engine.
A cross-platform game engine written in Java.
- About
- Disclaimer
- How to Use
- Getting Started
- Installation
- Building
- Documentation
- Technologies
- License
The tokTales Engine is a personal project of mine that I've been working on in my free time for the past couple of years.
It's goal is to provide a framework for creating games and other graphical applications.
Feel free to check out the samples and start working with the code, but keep in mind the following.
This project is currently in alpha.
It will contain bugs and all APIs are subject to change.
It is not feature complete.
The core structure has been implemented but a lot of functionality is still missing.
It is untested.
None of it has been tested in the wild.
The documentation needs additional work.
Not everything has Javadoc attached and the Wiki and Readme need to be expanded.
This project is meant to be used as a framework that provides the structure for an application.
In addition, it handles common tasks and provides tools that assist in implementing functionality.
Finally, it fully supports extensibility by allowing you to hook into any part of it.
- Demos - Demo applications
- Samples - Sample code
- Templates - Template projects
- How to Use - Instructions for installing, building and running
- Release API - Javadoc for the latest release
- Resource Hub - All resources on one page
Add the package repository to your root project build.gradle.
allprojects {
repositories {
jcenter()
}
}
Add the respective dependency to your subproject build.gradle.
dependencies {
implementation 'com.tokelon.toktales:tokTales-core-library:0.1.0'
}
dependencies {
implementation 'com.tokelon.toktales:tokTales-desktop-library:0.1.0'
}
dependencies {
implementation 'com.tokelon.toktales:tokTales-android-library:0.1.0'
}
The engine is divided into modules: Core, Desktop, Android, etc.
Each module contains one or more libraries: core-library
and core-test
in Core, desktop-library
and desktop-test
in Desktop, and so on.
The modules are built as a hierarchical structure in which platform libraries have dependencies on Core libraries, but never one platform on another. Meaning that, for example, you can use the Desktop libraries without ever getting involved with Android. But you can also develop for both and put the shared code into a core library.
There are also mixed modules like Tools, that contain libraries for more than one platform.
The full list of modules can be found here.
The build system used is Gradle.
- An internet connection for downloading Gradle and project dependencies
- Java Development Kit version 8 or higher for running Gradle
- Android SDK when building Android projects
To build a project, navigate into the project directory and use the Gradle Wrapper to execute the build
task.
For example, to download and build the master project, run the following in a shell (Windows).
git clone https://github.com/Tokelon/tokTales.git
cd tokTales-master
.\gradlew build
Each of the engine modules is configured as a Gradle root project and contains one or more subprojects (libraries).
In addition there is the master project, which includes all projects, and is used for developing and publishing, as well as other tooling purposes.
- Wiki - User Guide and information hub
- API Reference - Javadoc for all libraries
Below listed are some of the technologies used in this project.
- Java - The programming language
- Gradle - The build system
- LWJGL (Desktop) - Bindings to native libraries
- Android SDK (Android) - Android API and toolchain
- OpenGL - The default graphics API
- JOML - OpenGL math
- Guice - Dependency injection
- SLF4J - Logging
- Tiled Map Editor (Optional) - Level design
An extensive list of technologies can be found here.
- MIT License
- Copyright 2020 © Elias Paralikes