Skip to content

thatalloguy/Catos

Repository files navigation

Catos Engine

Language Language

modern lightweight cpp game engine

Check out the Documentation

ToDo


  • Reflection system
    • Methods
    • Properties
    • Automatic pkpy binding generation.

  • Custom STL (standard Library)
    • String
    • Vector
    • HashMap

  • Entity Model
    • Worlds.
    • Entities.

  • Scripting.
    • Loading python scripting.
    • exposing cpp api to python.

  • Renderer (Low level).
    • Ability to create new RenderPasses.
    • Ability to create new pipelines.
    • Ability to bind objects to pipelines / passes.
    • More general control over the entire render pipeline.
    • Loading GLTF files.

  • Renderer (High level):
    • Defered rendering.
    • GLTF loader.
    • Shadows (Either cascaded or new special technique).
    • PBR render pipeline.
    • SSAO.
    • Bloom.
    • (Skeleton) Animations.

  • Solid Serialization System.
    • Saving most objects to json or binary.
    • Loading most objects from json or binary.
    • Support for (custom) STL objects (string, vector, etc..)

  • Resource manager
    • Finding files only by Name not a path.
    • Moving and copying files / folders to projects.
    • Baking Assets for faster loading (Models, textures, sounds).
    • Automatically passing along the asset to their corresponding manager.

  • Sound Engine
    • Copy from Quack engine.
    • Better audio settings.
    • Better steam audio integration.
    • Effects such as fall-off.

  • Good Input System
    • Ability to define actions.
    • Binding both controller input and keyboard / mouse input to actions.

  • A tweening API.

  • Utils
    • Commands.

  • UI system.
    • Kinda like HTML.

  • Editor
    • ECS manipulation.
    • Project management.
    • World View tab
    • Asset browser.

Dependencies

- doctest

- fastgltf [ V0.7.2 ]

- glfw

- glm

- imgui

- pocketpy / gsoc24 (Experimental)

- spdlog

- stb_image

- tinystl ( REMOVED SOON )

- GLAD (gl 4.2)