PYXIS ENGINE
[EARLY_ENGINE]
> ENGINE_INFO
C++ game engine powering a multiplayer falling sand simulation
Modular architecture with event-driven design
Inspired by TheCherno's Hazel engine
PROJECT_STRUCTURE
├── Pyxis Engine (Main)
│ └── Core game engine framework
├── Pyxis Game
│ └── Multiplayer falling sand simulation
├── Pyxis Editor [OUTDATED]
│ └── Visual editor for the engine
└── Sandbox [OUTDATED]
└── Testing environment for features
CORE_FEATURES
ARCHITECTURE
- >Event-driven design system
- >Node-based Inheritance framework
- >Abstracted rendering pipeline
RENDERING
- >OpenGL implementation with abstraction
- >Advanced shader support
- >Framebuffer post-processing
PHYSICS
- >Box2D integration
- >Wrapper 2D Nodes for B2Bodies
UI_SYSTEM
- >ImGui with experimental docking
- >Custom UI components
TECH_STACK
UTILS
-
#includespdlog; Logging -
#includestb; Utils -
#includenlohmann-json; Json -
#includePoly2Tri; Triangulation -
#includeFastNoiseLite; Noise -
#includeImGui; Debug UI -
#includeSnappy; Compression
ARCHITECTURE
CORE_SYSTEMS
// Core architecture components
- Event-driven system with custom events
- Layer-based application structure
- Resource management for assets
- Signal/slot inter-component communication
RENDERING
// Rendering pipeline
- Abstracted renderer with OpenGL implementation
- 2D and 3D rendering capabilities
- Camera systems (orthographic/perspective)
- Material and shader management
- Framebuffer for advanced techniques
NETWORKING
#include <steam/steam_api>
Originally implemented multiplayer using Asio's TCP/UDP sockets, following javidx9 (OLC) tutorials.
Later added Steamworks API for P2P connections with NAT punch-through.
Planned synchronization approach based on Factorio's multi-client simulation techniques.
SKILLS_ACQUIRED
PROJECT_MGMT
→Pre-processor definitions→Precompiled headers→Core-App linking patterns→Build system configuration
PROGRAMMING
→Linear algebra for graphics→Header-implementation separation→Type casting (static/dynamic)→Smart pointers (shared/weak)
GRAPHICS
→Rendering pipeline implementation→GLSL shader development→Lighting models (Phong)→FrameBuffer utilization
GAME_DEV
→Particle systems→Multiplayer networking→Chunk-based world management→Physics simulation
// See the engine in action in Pyxis Game
←