← BACK TO PROJECTS

PYXIS ENGINE

Picture of basic engine editor
[EARLY_ENGINE]
  • C++
  • Engine Programming
  • Graphics Programming
  • OpenGL
  • Box2D
  • GitHub
    Game
    > 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

    CORE_LIBS
    UTILS

    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