Game Dev Engine #14. X-Fractal Recursion.
Вставка
- Опубліковано 26 лис 2024
- 2023-11-18. Real-time generation of a recursive fractal, computed on the CPU for the fractals, colors, and 3D transforms: rotation & perspective. No GPU used here except to show the pixels.
DISCOVERY
In the middle of generating a Menger sponge fractal, using a recursive generation, I ended up making this fractal. I cannot find existing work that replicates this, so I believe I've invented a new fractal. I am calling it the "X-Fractal" due to the X pattern that it creates. Also it is fitting for the name Xona -- the name of my video game company, Xona Games, and of his engine that renders it, the Xona System 8.
VICSEK FRACTAL
The Vicsek fractal is a generalized form of this, usually being done in a 2D cross: Split the original square into 3x3, keeping the 5 squares that form a cross. You can extend this into 3D. X-Fractal is where you keep the corners, and the center of each 4-corner, to make an X.
X-FRACTAL
X-Fractal maintains the X pattern on each 3x3 face (of the 3x3x3 cube), and continues the alternate on/off pattern for the remaining inner cube, which is left "on". (Again, recursively iterate to infinity for self-similarity; thus the fractal pattern.) Another creation pattern is merely to alternate on/off patterns for each cube that touches another. That is - no two cubes touch.
COLORING
The 8 origin points have set colors, and proximity to them define the colors of the fractal's individual points. When on an origin point, the color is 100% determined by that point. If in the center (equidistant from all), then it will be mixture of all.
XONA SYSTEM 8
For what it's worth, I'm still designing and implementing the Xona System 8 engine -- which is a game development engine. I'll be creating little graphic demos like this, but it's not really showcasing the engine until I start making games. I'm currently in the middle of the following: Entity Component System, Game Object System, Object Pool System, Animation System.
All of these are tied together quite well, and are the foundation of easy-to-create, behavioural re-use, game sub-systems that allow a basic game to be created from scratch in less than a day. The plan forward is to implement my other retro engines (tile, parallax, road, voxel, shmup, ray cast) sub-engines to live in thin layer above this to allow a sub-24-hour development cycle for a core game prototype to be developed in any of them.
AUDIO
Easy Lemon 60 Second by Kevin MacLeod
Licensed under Creative Commons Attribution 4.0
Playlists:
--------------
Xona System 8: • Game Dev Engine #1. A ...
Voxel: • Voxel Engine #8 - Corr...
Ray Cast: • 3D Ray Casting Engine:...
Graph-All: • #1 Graph-All Equation ...
Scroll Shmup: • The First Pixel: Devlo...
Road: • Pseudo 3D Road #8 - in...
Arena Shmup: • Arena Shmup Demo #3 - ...
Wave Function: • A.I. Texture Generatio...
3D Polygon: • 3D Polygon Engine #9 -...
GW-BASIC: • GW-BASIC - Escape From...
Websites:
---------------
GitHub: github.com/JDo...
Blog: thefirstpixel.com
Studio: xona.com