HammerGenics is a simple, extensible (with Groovy - under development) 3D sanbox game engine built on top of the LibGDX ecosystem and Bullet3 physics engine. It has been designed with an idea that the game development could be as simple, seamless and joyful as playing with Lego.
Major features introduced in current version are:
- Material Attributes editor: the UI and underlying structures to edit colors, textures and lights
- Mesh editor: including node transforms and render, vertex analysis for primitive shapes (used for tiles in map/terrain generation)
- Animation editor: allows to create the keyframes and edit the bones affected with the timeline frame slider
- Map Generator: with the help of noise4j allows to generate the terrain chunk grids and apply the tiles, which are primitive terrain parts in the form of a squerish mesh
- Physics: currently all the models that are being added to the project have rigid body created and being added to the Dynamics World (Bullet3) engine
- AI Algorithms: currently implemented the following features from gdx-ai library: Steering, Formations and Pathfinding Algorithms
CREDITS: assets by Kenney (Animated Characters 1, Car Kit, Weapon Pack etc.)
Material Attributes | Mesh Editor |
Animations | Map Generation |
Physics | AI Algorithms |
HammerGenics is released under the Apache License Version 2.0.
As an example of another well-known projects under the very same license think of Android OS, Spring Framework, Gradle or Apache HTTP Server (or any of these projects) which are installed and used by the majority of people and organizations accross the globe.
Address any licensing concerns or considerations regarding the use of HammerGenics as you were dealing with any of these projects.
Choose one of the available distributors and download JDK 8:
- Adoptium.net (former AdoptOpenJdk)
- Amazon Corretto
Do one of the following:
git clone https://github.com/nrsharip/hammergenics.git
OR
Download the ZIP archive with the source code of this repo.
Run the following command to see the list of the projects in the build: .\gradlew.bat projects
.
The output should look like this:
------------------------------------------------------------
Root project
------------------------------------------------------------
Root project 'hammergenics'
+--- Project ':android'
+--- Project ':core'
+--- Project ':desktop'
+--- Project ':html'
\--- Project ':ios'
Other useful commands:
.\gradlew.bat model
(also for project specific info, e.g..\gradlew.bat core:model
).\gradlew.bat properties
(also for project specific info, e.g..\gradlew.bat core:properties
).\gradlew.bat tasks -all
(also for project specific info, e.g..\gradlew.bat core:tasks
)
The following is a high-level component diagram to show the folder/package structure of the :core
Project and the dependencies these packages have on the external libraries
Dependency | Authors | License |
---|---|---|
com.badlogicgames.gdx:gdx:1.10.0 | authors file | license |
com.badlogicgames.gdx:gdx-ai:1.8.2 | davebaol | license |
com.badlogicgames.gdx:gdx-bullet:1.10.0 | authors file | license |
com.github.czyzby:noise4j:0.1.0 | czyzby | license |
com.kotcrab.vis:vis-ui:1.5.0 | Pawel Pastuszak | license |
com.github.mgsx-dev.gdx-gltf:gltf:1.0.0 | mgsx-dev | license |
com.github.Anuken:GdxGifRecorder:1.4 | Anuken | license |
com.strongjoshua:libgdx-inGameConsole:1.0.0 | StrongJoshua | license |
com.github.MarcinSc:libgdx-graph:9f6c886795ad1a201e3140fef262ee5a86f0cac1 | Marcin Sciesinski | license |
org.codehaus.groovy:groovy-all:3.0.8 | see wiki |
.\gradlew.bat desktop:run
see also Command Line Interface from LibGDX.