Giter VIP home page Giter VIP logo

hammergenics's Introduction

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.

hammergenics's People

Contributors

nrsharip avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.