Go to file
Speiger 55957d3640 more work on fonts and a dynamic texture 2024-06-16 20:51:33 +02:00
.settings Reworked Shaders/Uniforms and started work on GuiComponents 2024-01-04 00:48:13 +01:00
gradle/wrapper Engine Upgrade 2024-01-25 18:34:58 +01:00
output Updating data 2023-12-16 16:27:27 +01:00
resources/font ColorObject is now color Utils. no longer object wrapping. 2022-04-21 15:31:54 +02:00
src/main more work on fonts and a dynamic texture 2024-06-16 20:51:33 +02:00
.classpath Engine Upgrade 2024-01-25 18:34:58 +01: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 Ported to java19 (because gradle doesn't support 20 yet) 2023-05-19 22:08:59 +02:00
LICENSE Initial commit 2021-08-27 04:01:00 +00:00
README.md Readme 2021-08-27 12:04:53 +02:00
TESTS_TO_DO.md Added Easing functions for the gui Animations 2024-06-05 22:54:37 +02:00
build.gradle More work on texture ports 2024-04-14 23:30:55 +02:00
gradle.properties Finished mapping out texture variables (int only) 2024-04-06 12:16:14 +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
test.png more work on fonts and a dynamic texture 2024-06-16 20:51:33 +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.