Skip to content

A 3D game engine built on top of LibGDX and Bullet3 physics engine.

License

Apache-2.0, Unknown licenses found

Licenses found

Apache-2.0
LICENSE
Unknown
LICENSE.rtf
Notifications You must be signed in to change notification settings

nrsharip/hammergenics

Repository files navigation

Overview

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

Presentations

CREDITS: assets by Kenney (Animated Characters 1, Car Kit, Weapon Pack etc.)

Material Attributes Mesh Editor
Animations Map Generation
Physics AI Algorithms

License

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.

Development

  1. Prerequisites
    1. Download Java Development Kit 8
    2. git clone or download the sources
  2. Project Structure
    1. :core Project structure
    2. Credits for libraries
  3. Running HammerGenics
    1. Running :desktop Project

Prerequisites

Download Java Development Kit 8

Choose one of the available distributors and download JDK 8:

  1. Adoptium.net (former AdoptOpenJdk)
  2. Amazon Corretto

git clone or download the sources

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.

Project Structure

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:

  1. .\gradlew.bat model (also for project specific info, e.g. .\gradlew.bat core:model)
  2. .\gradlew.bat properties (also for project specific info, e.g. .\gradlew.bat core:properties)
  3. .\gradlew.bat tasks -all (also for project specific info, e.g. .\gradlew.bat core:tasks)

:core Project structure

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

Credits for 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

Running HammerGenics

Running :desktop Project

.\gradlew.bat desktop:run

see also Command Line Interface from LibGDX.