You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Speiger c95e7ce20d Optimized Model loader to no longer require vertex duplication 11 months ago
.settings Uploaded Setting 2 years ago
gradle/wrapper Initial Commit 2 years ago
resources/font ColorObject is now color Utils. no longer object wrapping. 11 months ago
src/main Optimized Model loader to no longer require vertex duplication 11 months ago
.classpath Added Essential resources 2 years ago
.gitattributes Initial Commit 2 years ago
.gitignore # WARNING: head commit changed in the meantime 2 years ago
.project Project update 2 years ago
LICENSE Initial commit 2 years ago
README.md Readme 2 years ago
build.gradle Refactored Constraints & Vector Classes creators 11 months ago
gradle.properties A lot of Fixes and improvements. 2 years ago
gradlew Initial Commit 2 years ago
gradlew.bat Initial Commit 2 years ago
settings.gradle Initial Commit 2 years ago

README.md

SimpleJavaEngine

This Engine was created for my Game Project and got adjusted to also handle my Modeling tool. The idea is to advance it further to have a engine that can handle all kinds of needs.

It is not a traditional "Editor" engine but instead a set of tools that allow you to make your own project instead. Stuff like ECS will never be present here since it is not designed to use it in all purpose projects.

The Idea

The idea behind this engine: Reinvent the wheel, not because it is a good idea but it is good for learning. If it can be done within Java Itself, write it yourself otherwise use the libraries that already exist. Also this engine is written as i needed it so it may be lacking in a lot of departments because I needed something not as much as other things.

Libraries used:

  • Gson: (I am not recreating that one because i already have in a Binary format)
  • Primitive Collections: A Recreation of FastUtil that dumped a lot of collections that have not a lot of use-cases for me and loads of fixes that FastUtil is missing.
  • LWJGL 3: Bindings to use OpenGL/OpenAL etc. Not recreated ofcourse

Features of the Engine.

  • Custom Vector Library with vec2-vec4 for byte to double. (byte,short,int,long,float,double)
  • Custom UI Library for drawing UI?
  • Event Bus for inputs and other things.
  • A Custom Implementation of Named Binary Tag that is not compatible with it.
  • Asset Management with Priority Layers (good for texture/resource packs)
  • Very Basic 2D Collision.
  • Implementation of OpenGL Features. (Basically VAO/VBO/FBO/Shader/etc) That allows for simple build models fairly simple.
  • A Lot of small Helper for OpenGL.
  • Object Pooling/Allocation Trackers/Simple Registries that allow to build future proof code.
  • Single Thread Task Manager that only runs for a Desired amount of Time and then interrupts the task.