Origin Engine
- 3 Devlogs
- 27 Total hours
Project update: continuing to develop my own 3d pixel art game engine!
Project update: continuing to develop my own 3d pixel art game engine!
I’ve been adding some quality of life changes that make working with this engine a lot easier, which means more abstraction in some cases which is not always the best but whatever. Ive also worked very hard on fixing and improving the physics (even considered porting it to now use Box3D instead of Bullet3, but that will probably happen in the far future, and Bullet3 will be kept as a fallback)
Added the ParentEntityComponent, a very simple work around for the lack of parent-child entities on my engine, this will probably be deprecated sooner or later but its a decent solution instead of doing all the work all at once
Added GetRefreshRate to window class, so for example, your game can set the target fps based on this
Fixed a super hard to find bug where models vertex and physics-engine vertex would have shifter coords and would make the objects act weird on real time, this is such a huge change, it makes physics really good to play with, see the video!!
Added functions to apply force, impulse and torque to a dynamic rigidbody
Added the teleport function for kinematic rigidbodies
Added getLinearVelocity and getAngularVelocity
Added options to freeze rotation on independent axis
HUGE: allow the engine to support different physics worlds to live in one same game in real time! this needs some work tho, not featured in the video
PD: This is getting super nice but also growing in complexity, once i finish with my game i will surely start improving the overall structure and start thinking about more serious changes, maybe another graphics api????
Yippie!
another update to the engine powering my game, i’ve added quite a lot of things but also managed to clean up some dead code in the way. The most excinting new thing is probably the new postprocessing layer system!
Postprocessing layer: you can now code different vertex & fragment shaders that drawn on top of the main buffer, you can stack as many as youd like in order to create many new cool effects
spent hours trying to fix the sandbox editor’s rendering being completely broken, took about 3-4 days lol
added new getters to camera like a directly inversed view matrix or setMat4() and setTexture() functions with shaders
add localToWorld() and worldToLocal() to the transform class
fixed specular lighting leaking to some dark areas
fix handle untextured materials in model import
added a built-in user settings save/load system based on json serialization
refactor a part of the audio system to now have built-in fade ins/out, volume control and async background music
The biggest change coming up would probably be to develop a dynamic rendering system that allows me to use different cameras rendering at the same time, as I’ll probably need it for JSP
PD: this engine is being used for my current main project (almost 100 hours!), please check it out! JSP: https://stardance.hackclub.com/projects/14066
This is my custom engine that im using for my other big project, the Janitor Space Program (go check it out!: https://stardance.hackclub.com/projects/14066), most of these changes come from having to create or update an engine feature so that the game im building is easier and faster to develop, and in the meantime im also upgrading this engine to something more powerful and mature, although i feel like im making it also a bit more complex or spaghetti, ill work on that later
over this last 2 weeks ive added so many features like:
lookAt() method to the camera componentLateLoop(), which obviously happens after Loop() and its mainly used for UI and stuffsetTargetFps() so that gpu doesnt work to 100% if vsync is disabledassets/shaders/builtin
This was fun but if they gave me an euro for every seg fault ive endured elon musk would be small next to me. i love to see how this small side project i started long ago is now something a lot bigger than i expected, this literally started as a learnopengl tutorial :))