Skip to content

ludolpif/llss

Repository files navigation

Purpose and status

Libre Live Streaming Software (LLSS) for Streamers making live brodcasts on platforms like twitch.tv.

Design goals summary

  • Be a game by itself as many streamers enjoy spending time to not stream but prepare new stream ideas
  • Be intuitive by using Streamers known concepts: a simplified Photoshop-like composition system and UI
  • Be a Free Software that lowers the bar for Streamers to be autonomous and creative
  • Be live hackable like Hack'n'Slash game by the Streamer himself or a remote helping person
  • Be heavily moddable like Minecraft game by enthousiast communities with diverse programming skills
  • Be portable, unzip it works, software + mods + config on an USB stick for streaming on leased computers
  • Trivally have a well-tested configured version and a draft config + new version on the same computer

I also leave public an unfiltered-yet dubious goals ideas: GOALS-scratchpad.md.

How to use it

You barely can't yet.

  • Project current state: a fairly advanced "Hello World" with dynamic mod loading !
  • This software will never be production-ready while I am the (sole) developer. Jump in !
  • I want to find, reserve then change to a better project name if I feel it can really reach users one day

How to write it, mod it

Avaiable killer features for modders:

  • mod automatic hot-reloading since v0.5.0.0
    • On Windows and MacOS: just rebuild the mod project from VS2022/XCode while app is running
    • On GNU/Linux just cd llss/mods/mod-yourmod/program; make while app is running
  • web UI to inspect and live modify ECS state
    • While the app is running, follow this link: explorer
    • Or on GNU/Linux, to run app and open the webpage: cd llss/ ; make && make run-ecs-explorer

Build instructions for:

Code and other help/contribution instructions here: CONTRIBUTING.md.

Technical choices

  • Early stage, we can make huge changes now but not later, jump in !
  • Don't dive into costly complex and platform-specific short-term hopefully performant C++ code
    • Keep low gatekeeping on who can actually write code here
    • Tried Rust + Bevy, powerful, not easy, fast changing, slow compiling, no stable ABI for mods
    • Trying C + SDL3, fine and very fun to write and C is king for other languages bindings
    • Prove me Zig or other can help to have more contributors here (I can really just switch if it really happens)
  • Few but strong base libraries
    • FLECS: ECS are mind blowing building block for live-hackable data and behaviors
    • Dear ImGui + C bindings: enjoyable and simple GUI crafting/modding
    • SDL3: cross-platform development library handling platform-specific sadness for us
    • FFMPEG NUT: specific container format to pass audio+video+subtitles to a separate ffmpeg process for encoding
    • Help me choose the few next