The idea of create a game with customizable characters always was our objective since we created the Basement Network. Imagine how cool it can be gain experience, leveling up and drop items based on chat messages.
Based on this abstacted scenario we developed the Basement Heroes application with the sprites/cosmetics from a game called MapleStory, who inspired the whole thing for being a 2D MMORPG game that essentialy have what we want to develop.
The entire project was developed in live at Twitch at channels "danielhe4rt" and "wallhe4rt". The experience of build the project from scratch with help from Twitch Chat made us understand how the community can do amazing things together.
What it does
A gamification platform for twitch that motivates user interaction. Introducing commands, channel points rewards and fun role-playing game system that help with user retention and can even drive sales in the future.
Build your character, level it up by participating in different communities, join a guild, gather points and customize your appearance - with global and/or channel-related cosmetics.
How we built it
Using PHP and Laravel, we created the entire ecossystem for the application.
At the beginning the idea was just a Bot that you connected on your channel based on a link and all the attributions was maded by chat commands, but then we saw a bigger project there and started to develop a SaaS application.
We took the GD library from a open source MapleStory repository and start to build the characters with the sprites that we could have until the moment and after that the whole idea was expanding for a Guild System and Alert System (Overlay).
With the platform and the bot running we started to write some tests to guarantee that the core of this application will be running without major errors.
Challenges we ran into
The Alert System (Overlay) was pretty rough to understand how it works, but with a few days studying sockets (Laravel Echo) and playing with Streamlabs application we figured out how things really work on this kinda of feature.
Integration with Twitch
Let any kind of integration dynamic is a challenge itself, cause you need to handle user tokens and keep it locked from everything. The structure to build the security for the integration is part of the feature.
Test coverage was always the idea but no one on the team know how to write good tests, so we have to focus alot to study and apply tests on the application.
Accomplishments that we're proud of
The overlay system with the game and twitch integrations truly deserves the highligh on this entire system.
What we learned
Tests suites satisfied quite enough on what we are proposing to learn so the of learning something new was probably there.
We can create a generic handler to handle any kinda of API Integration using one of SOLID principles (Open Closed Principle).
What's next for Basement Heroes
- Create our cosmetics guideline;
- Create our own Twitch Extension for changing the character visual;
- Create custom cosmetics for streamers who want their own brand on the game;
- Create a streamer shop with items that they want to let the players buy on the game;
- Understand how to create custom alerts (HTML/CSS/JS) to let developers do whatever they want on the alert.
Basement Heroes DISCORD