Note
This README.md is a Work in Progress.
You will find places containing TODOs. This means that this part is not yet completed and may get updated in a future commit.
This is the source of the Chaos League Game.
Chaos League is a Streaming-based Multiplayer Game created by the YouTuber DoodleChaos.
The project is split up into 3 folders:
Assetswhich contains assets such as plugins, extensions and more.Packagescontaining themanifest.jsonandpackages-lock.jsonfiles.ProjectSettingscontaining configuration (JSON) files and asset files.
Generic live chat integration lives under Assets/Scripts/LiveChat. It exposes
platform-neutral message/event models and Twitch implementations:
LiveChat.Twitch.TwitchLiveChatClientfor chat messagesLiveChat.Twitch.TwitchPubSubClientfor bits, redemptions, and subsLiveChat.YouTube.YouTubeLiveChatClientis a stub you can wire to YouTube Data API
For building chat-driven game ideas, there is a command routing layer in
Assets/Scripts/LiveChat under the LiveChat.Commands namespace:
ChatCommandRouterlistens toLiveChatClientBasemessages and dispatches commandsChatCommandHandleris the base class for new commandsChatCommandHelp,ChatCommandPing, andChatCommandEchoare example handlers
Quick setup:
- Add
TwitchLiveChatClient(or anotherLiveChatClientBase) to a GameObject. - Add
ChatCommandRouterto the same object and set the command prefix (default!). - Add one or more
ChatCommandHandlercomponents as children of the router. - Create new commands by deriving from
ChatCommandHandlerand overridingExecute(ChatCommandContext context).
The parser supports quoted arguments, for example: !spawn "big boss" 3.
Please read the CONTRIBUTING.md file (TODO) for how you can contribute to this project and what is important.
To Stream Chaos League yourself, you need to meet certain prerequisites and also have to build the game yourself.
- Windows operating system. Linux Distros and Mac are currently not supported.
- Twitch affiliate status. The game requires channel points which are only available for affiliates on Twitch.
TODO: Add instructions for building the game.
This project is available under the GNU General Public License v3.0.
