You are browsing as a guest. Sign up (or log in) to start making projects!

Origin Engine

  • 3 Devlogs
  • 27 Total hours

Project update: continuing to develop my own 3d pixel art game engine!

Open comments for this post

8h 7m 7s logged

ORIGIN 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)

What have i been working on i see you ask?

  • 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

Changes to physics system (Bullet3)

  • 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????

0
0
5
Open comments for this post

9h 17m 56s logged

ORIGIN ENGINE

Yippie! :yay: 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!

this is what ive added in the past 3 weeks:

  • 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

0
0
6
Open comments for this post

9h 26m 50s logged

ORIGIN ENGINE

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:

  • improved logging library, allows you to use formatting directly
  • support for embedded textures in .fbx models
  • added a lookAt() method to the camera component
  • fixed web support for the audio system
  • added more features and functions to the in-house math library, like the cross and dot products, a 4x4 Matrix and other small stuff
  • scenes now can be either “.json” or “.scene”
  • sandbox: shortcut to align an entity to the sandbox scene view camera
  • added color tint to the skybox component
  • added quick line rendering for fast debugging, probably needs refactoring tho
  • added LateLoop(), which obviously happens after Loop() and its mainly used for UI and stuff
  • added setTargetFps() so that gpu doesnt work to 100% if vsync is disabled
  • changed the builtin shaders path to assets/shaders/builtin
  • wip: added imgui support to the web builds

Most relevant new features:

  • added instanced rendering! still sort of a WIP
  • added real-time texture editing, allows the cpu to have ownership of a texture instead of the gpu and do whatever it wants with it, currently just paint it
  • wip: huge refactoring of the render class to allow for different postprocessing layers to render on top of each other with custom shaders, this allows for any kind of postprocessing effect to be made without much issue, i managed to get a simple vignette shader working quickly! the render class still needs some cleanup tho

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 :))

0
0
36

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…