Installed #gram (https://gram.liten.app/) by @krig, an AI and telemetry free fork of the code editor zed, and started feeling my way back into the engine project :)
Doing some janitorial work first, setting up a repo for the sample game now so that there's something for people to actually run. Faced with the eternal question, where do I put game assets? I don't mind just checking them into git but I don't want to overwhelm Codeberg's servers with large files.
The database backend for scene representation is finally falling into place :D Integrated it into the actual engine and updated the editor application. You can load a scene, move nodes around or hide them, save, and the changes are reflected on the next launch. Previously scenes were defined in handwritten YAML files that could be loaded from but not saved to.
There's a million issues still under the hood but debugging will be easier (and more fun) with 3D scenes to look at.
Can't wait to post screenshots / clips again soon. Been over half a year (?!) since I had any visual progress - the SQLite backend is essential but not really exciting to look at.
Still not doing any new rendering stuff in the near future probably, but editor workflow stuff mainly.
successfully did a math. years of education with vectors have not been in vain
turns out in the end I don't actually like what the algorithm does but at least it did the bad thing correctly
It's funny how some things in gamedev you never ever think about as a user are actually non-trivial problems. Like say you have a transform gizmo in a 3D editor. You click one of the arrows and drag the mouse somewhere to move it.
When the mouse remains on the axis of movement it's clear where it should end up. But what if the mouse is not exactly on the axis? You still want to move the gizmo in the general direction but confined to the axis. Where to exactly? There is no right answer
@tracefree Yeah it's an interesting problem and hadn't I made Marble Game from a FPS-VR idea I would have encountered it myself by now.
I remember in my first game I had a laser beam I wanted to emit a sound along its entire length. But sound emitter in Unity is spherical. There was a simple formula that mapped the emitter on the position of the beam closest to the player. Assuming the beam is the gizmo vector and the player the mouse cursor position mapped to 3D space - that would work.
@memoriesin8bit Yes that's what I mean. The proof doesn't fit on the margins of this toot but basically you derive it by realizing the shortest line connecting the two lines must be at a right angle to both of them. You express this relationship with dot products being zero, writing all the equations and solving for the unknown parameter.
It works well enough but doesn't _feel_ quite like I want it to, can ket you know once I have the next iteration