Based on an idea by a streamer to integrate twitch integration into Space Engineers this plugin and extension were born. It was only a plugin to react to subs, follows and cheers at first, then it got pointed out that it could be made to an extension to allow for an easier overview of the actions.
What it does
This extension allows the broadcaster to set up actions that can be triggered by the viewers with bits. This allows the viewers to have an impact on the game by either helping the broadcaster out or hindering them.
How I built it
I built the Game Plugin in C# first and got actions and a system to trigger them setup. Then I worked on the backend that communicates with the broadcaster's game with socket.io. The backend uses Node.js, stores data in a MongoDB database and uses Express to route the API endpoints. For the frontend I picked Vue because I have some knowledge of how it works and with the short time span I didn't had time to learn even more new systems. I found a good bootstrap for Vue to work with twitch extension and got to work. The frontend uses a lightly customized Bootstrap for styling.
Challenges I ran into
The plugin part of Space Engineers isn't very well documented so I had to do a lot of research on how to work with it. As building an extension was completely new to me I needed to do a lot of research into it.
Accomplishments that I'm proud of
I'm proud of learning and getting a finished first version of both the plugin and the extension out in about 20 days.
What I learned
What's next for Stream Engineer
What I'm working on next is to add more actions to the Plugin, there is no need to update the Extension as it's set up to get the available actions from the backend. I'm also planning on adding some more features to the extension, both for the broadcaster and the viewer.