Go to file
Speiger 3bc7dcdf44 Fixes to DataTag and small improvements to UI 2021-09-05 15:42:42 +02:00
.settings Uploaded Setting 2021-08-27 09:03:40 +02:00
gradle/wrapper Initial Commit 2021-08-27 06:07:15 +02:00
src/main Fixes to DataTag and small improvements to UI 2021-09-05 15:42:42 +02:00
.classpath Added Essential resources 2021-08-31 06:32:18 +02:00
.gitattributes Initial Commit 2021-08-27 06:07:15 +02:00
.gitignore # WARNING: head commit changed in the meantime 2021-08-30 17:41:05 +02:00
.project Project update 2021-08-30 17:38:44 +02:00
LICENSE Initial commit 2021-08-27 04:01:00 +00:00
README.md Readme 2021-08-27 12:04:53 +02:00
build.gradle Fixes to DataTag and small improvements to UI 2021-09-05 15:42:42 +02:00
gradle.properties A lot of Fixes and improvements. 2021-08-30 04:01:16 +02:00
gradlew Initial Commit 2021-08-27 06:07:15 +02:00
gradlew.bat Initial Commit 2021-08-27 06:07:15 +02:00
settings.gradle Initial Commit 2021-08-27 06:07:15 +02:00

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.