Example of how the start quest, and actions work to defeat the boss.
This is what a starting quest reward looks like. We prefix all the rewards with "Chat Quest:". Start game ones have the name of the quest.
This is the details of the starting quest. Has a short description of the quest.
The chatbot will display the full details of the quest into chat as well as the description of the boss you need to defeat.
This is what a starting quest reward looks like. We prefix all the rewards with "Chat Quest:". Action rewards have the name of the action.
The example of an action reward. Has the description of the action as well as how much damage that action does.
Laohoam used to have a boss minigame for his chat to play with while he was streaming but due to switching bots we haven't had it in a while. So when given the opportunity we decided to take that Idea and expand on it to make it more interactive and to bring some of that joy back to chat.
What it does
When someone redeems the reward a new "Quest" is created, it then deletes the quest generating reward so no one else can redeem it since it has already started. Then it generates the boss and attack redemption's puts the flavor text in chat and keeps records of everyone's attacks until the boss is defeated. After the boss is defeated it announces it and refunds the attack redemption's that went beyond killing the boss.
How we built it
After we came up with the idea Laohoam wrote out the quest, boss's, attacks, descriptions, and worked out the base design for the boss's HP. WLG3R codded everything and worked out the last format of how the boss's HP would adjust based on a win loss ratio. By working together we was able to create what I would consider a fun mini game with lots of potential.
The whole game was coded on Firebase Functions, a serverless architecture. We are able to receive webhooks to end point, and also host a login page as Firebase Functions is basically running a Node.js express app.
Challenges we ran into
The biggest challenge we ran into was deciding on what to put into this build and what to leave out. We had a huge concept at first but a short amount of time so we had to cut some of the original idea to make sure we could make a quality project in the allotted amount of time. The next challenge I would say would be getting the math and coding right for the boss's HP to adjust based on viewer count, max damage each viewer could do, and a win loss ratio. after that it went together pretty smoothly.
Accomplishments that we're proud of
We are really proud of the fact that we created a mini game that all streamers can use no matter how big or small their communities may be. We wanted something streamers can interact with their communities without a large setup process and something they could really enjoy together without it being to difficult or to easy.
What we learned
Probably the biggest thing we learned is that simple is sometimes better. Having a lot of grand ideas is great but sometimes it is just to much for the moment. We learnt to take small steps to our greater goal and even though we start with something basic we are setting the ground work for something greater.
What's next for Chat Quest
There are plenty of opportunities for chat quest to go. We built the basic concept of the boss battles with some flavor text, but the first direction we would like to go is actually adding in full quest. So the user can experience the full plot leading up to the boss battle. Dungeon adventures where the chat can decide on which rooms to go into and the possibility of defeating mini boss's which then can aid you in defeating the grand world boss's. The paths in which we can take the bot is grand so we have a lot of hope and expectations for Chat Quest.
We also want to add in some visuals, at least a visual HP bar for the boss, and possibly an extension to make it easier to see the quest that is occurring for the user.