Press space or tap on mobile to run. OK, people. This is the start of my 3D Scratch game engine: SAGA on Scratch. I plan to make the engine revolve around "Namespaces" - Scratch sprites storing sets of custom blocks (functions). Each block is prefixed with the namespace name. For example, the blocks in this project that are related to the engine start with Matrix::. Why the ::? In another language I use, the popular C++, this is the standard syntax for accessing namespaces, so it helps me understand myself. This namespace so far can multiply between a 4x4 matrix and a vector, and generate translation and scaling matrices (see definitions in the notes). This is a common way to move 3D models around and do other stuff to them.
Credits: I learned the math from http://opengl-tutorial.org Notes: A matrix is a 2D array. I use 4x4 matrices. A vertex represents a point in space. I use Homogenous Coordinates. The W value stores if it's a position or a direction. Alot of this engine is based of OpenGL ---------------------------Change Log------------------------------ June 1, 2024: Started project.