hibiscus/TODO.md
2023-07-30 17:38:20 +02:00

1.7 KiB

Hibis Engine - Feature TODOs

Core Module

Base

  • Base Renderer class
  • Base Physics class
  • Figure out how scenes should be handled
  • Split other sections into seperate modules (renderers, physics)
  • Application class (where the main loop is handled)

2D/3D

  • Texture loading
  • Model loading

Audio Module

Base

  • OGG and WAV support (do first)
  • Soundfont and Midi support (ideal)
  • MP3 (later, can just ignore)
  • Loop audio (with timepoints)
  • Modify sound/pitch of outputted audio

2D/3D

  • Position-based audio

Hibis UI (NEEDS A NAME)

  • GUI creation
  • Text Object (rendering via FreeType2)

Aethiopicus (Vulkan renderer, 2D and 3D)

Base

  • Window creation (via GLFW)
  • Basic deferred renderering system
  • Render present
  • Clear renderer
  • Figure out how the renderer should even work
  • (DO FOR A VERY LATE VERSION) Replace GLFW with a custom window creator to reduce bloat (I will not be using most of GLFW's shit)

2D

  • Texture drawing
  • TileMaps
  • TileMap Culling

3D

  • Model drawing
  • Model Culling (hiding what you can't see)
  • Level of Detail (3D ONLY)

Hibis Physics (NEED A NAME)

Base

  • Physics Shape creation
  • Option to allow for Physics Shapes to be able to be drawn (on by default, both compile time and run time, turn off at compile time via a flag (-DNoPhysShapeDraw=1?)) (official releases will include PhysShapeDraw capabilities)

2D/3D

  • Raycasting
  • Collision via raycasting
  • Space type-specific shapes

Examples

  • Example: UI test
  • Example Game: Megaman clone (external repo)
  • Stress test using sprites
  • Stress test using models