Files
enduro2d/ROADMAP.md

2.7 KiB

Roadmap

Milestone I (basic math and utils)

  • basic math

    • vec2, vec3, vec4

    • mat2, mat3, mat4

    • unit<T,Tag>

    • basic math functions

      clamp, min, max, approximately etc.
      
    • basic trigonometric functions and constants

      pi, sin, cos, to_deg, to_rad etc.
      
  • basic utils

    • path

      functions to manipulating paths in a portable way
      
    • color, color32

    • basic string functions

      unicode convertions, wildcard patterns, type safe format
      
    • timer and time functions

    • image, image loaders

      basic true color formats
      internal: g8, ga8, rgb8, rgba8
      external: png, jpg, tga
      
    • streams and native file system

    • thread pool and async tasks

Milestone II (basic core)

  • basic core

    • engine

      game loop
      frame timers
      core initialization
      
    • logger

      levels, sinks
      
    • basic input system

      events, listeners, polling
      devices: mouse, keyboard
      
    • basic window system

      GLFW, Windows, Linux, Mac OS X
      windowed and fullscreen modes
      
    • basic render system

      OpenGL only
      index and vertex buffers, render state,
      textures, blends, pixel and vertex shaders
      
    • virtual file system

      path aliases, archives, async loading
      

Milestone III (basic high)

  • basic high

    • library

      resource management, abstract loaders
      groups, dependencies, async loading
      
    • resources

      meshes, shaders, textures, materials
      
    • scene graph

      nodes, scenes
      parent-child relationships
      

Milestone IV (advanced core and high)

  • advanced core

    • audio

      vorbis, streaming
      
    • network

      http/https requests
      
  • advanced high

    • sprites

      texture atlases
      quad and polygon sprites
      
    • debug

      system profilers
      hot library reloading
      resource and component inspectors
      
    • ECS

      basic entity component system
      component processing and joins
      
    • game objects

      entity prefabs
      smart entity wrapper
      
    • animations

      flipbook, tweens and embedded spine runtime
      
    • text labels

      ttf, bmfont, sdf
      
    • scripting

      lua runtime and bindings
      
    • asset bundles

      downloadable resource packs