32 lines
1.8 KiB
Markdown
32 lines
1.8 KiB
Markdown
# 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. |