What is BlushyAvatars?
BlushyAvatars is a game where viewers on Twitch are represented as an avatar. Viewer can catch multiple avatars and switch them to show off on the stream or level up / upgrade / trade / battle other avatars etc. I got the idea by watching various channels that had avatars walking around and I thought it was pretty interesting (I believe they used Stream Avatars) so I decided to write my own version to use in my Twitch channel with features I think is fun to have.
How does it work
Viewers are represented by an avatar and receive a random avatar when joining the channel for the first time. To collect more they can capture them and put it in their inventory. Each avatar also has it’s own stats such as HP / actions (what the avatar can do like move / run / stalk other avatars / give presents / show an emoticon next to your another avatar / hit them etc) and can be leveled up. The easiest way to level up is to set the avatar you want to level and join the stream to gain EXP, being active in chat will gain additional unused bonus EXP that can be freely distributed among their avatar collection.
There are also events where random avatars spawn that do not belong to any viewers. To capture these avatars it requires a capture item and be the first to type !capture in chat to attempt to capture the avatar. Capture rate varies and depends on the item used (when having multiple capture items the highest capture chance is used before lower capture chance items). When captured it is added to the collection and other viewers missed the chance to capture it. Wild avatars have their own stats and if you are lucky you gained a rare avatar with higher levels and unlocked actions for you to use immediately!
Features
- each viewer is represented as an avatar in the overlay
- each avatar can have their own unique animations / actions
- lurker mode, every avatar name is shown as ??? by default but revealed when chatting
- catch wild avatars and add it to your collection
- subscribers have their own unique Blushy avatar that does not drop to anyone else in chat
- control an avatar manually using a chat command
- users that are chatting will be shown as if the avatar is talking with text to speech (supports various voices)
- text to speech voices can be changed or turned off
- support for broadcaster / moderator permission such as add / remove or ban avatars
- support for unique avatars (for example only usable by subs / VIPs or user only)
- comprehensive customization options such as background / avatar settings
- configuration options such as default currency gain and addition for sub / VIPs etc. Item costs / discount etc
- web based configuration page and setting up on a per channel basis
- channel currency for users to buy items such as accessories, effects and / or avatars to change between them
- support for Twitch emotes / badges
- random avatars that pop up and say something or perform an action(s) etc
- show additional avatar info such as a health indicator?
- Blushy Avatars supports multi channel so users can see their collected avatars across different channels and use items in their inventory etc
- support for 3rd party API such as Streamlabs for donations & trigger avatar actions
- support for additional mini games like throwing a snowball etc
- ..and more features as I keep working on it!
Note: Images are taken from pokemon as placeholders and to show how it works but will be replaced with original art when I have time to draw them.
Work in Progress / screenshots
Updated BlushyAvatars to use time based movement instead of per pixel.
10 fps vs 60 fps to show difference in FPS but same speed between avatars.
Pixel (FPS) based (notice faster movement with higher FPS)
Every avatar jumps when someone cheers / subs / follows (can be configured)