The first (stable, significant) build of the game engine I've been working on recently: version 0.0d1. The name comes from the fact that I have a very vague idea of what I'm doing, but so far it's working out, and the name is subject to change.
There's nothing too special going on here, it's just a demonstration of the rendering engine (using DirectX API). There is no texture support implemented yet, which is why everything is different shades of gray.
I'm planning on doing a video for each major build, AKA whenever I add significant new features.
This video is a demo of the rendering engine and modular scene structure. The engine revolves around a class called the StageManager, which is the root node of a tree which can hold an arbitrary number of Stages. Each Stage instance has a matrix which defines its position and rotation in the world. Stages can hold an arbitrary number of Actors, which can have geometry (meshes) or other actors (currently, this will be expanded) attached to them.
Each node in the tree, whether it be a Stage/Actor/Mesh, has a matrix defining its location and rotation relative to the parent node. What is occurring in this video is the Stage (not rendered, it's just a concept) contains an Actor for the Axes, and that Actor has a child Actor for the ship. While the Axes stay still, the ship can orbit around its local center. If the Axes were to move and rotate, the ship would continue to move in a circle around that point, keeping itself relative to its parent, the Axes.
IN THIS BUILD:
-Implementation of the Direct3D rendering pipeline
-Hierarchical scene structures, "Stages", using n-ary trees
-Support for multiple simultaneous Stages (not demonstrated here)
-Mesh loading support for .x files
-Real-time creation and destruction of entities (not demonstrated here)
-Elementary player movement (arcade flight style)
PLANNED FOR NEXT BUILD:
-Expansion of scene structures to allow cameras and lights to be attached to Actors
-Physics Integrator (NOT collisions yet, that shit is hard and I'd like to put it off)
-Improve input routines for flexibility in the future