Shotcaller – MOBA game

Shotcaller is an RTS / MOBA game with multiple frontends: ASCII-rendered or sprites-rendered. See the design document for much more. It is not made with the Amethyst Engine, just specs, bracket-lib and a minimal engine called minigene.

Playable in the browser:


In the way "MOBA" games such as DOTA2 or LoL are usually played, the captain of the team is the default shotcaller .

The shotcaller needs to be unbiased and not have tunnel vision. You need to be able to think in the future and tell what would happen if you did this or that. This becomes crucial when deciding to base-race or teleport back to defend. ~reddit-user

Everyone on the team can play the part of Shotcaller on occasion. The act of shotcalling is not typically the most prevalent activity of any player, even for a captain β€” after all, they also need to play their hero.

But in this game, all you do is shotcalling and big-picture strategizing. The game plays as if you were controlling the 6th-person-in-the-booth β€œcoach” player, and your team (of AI-played bots) actually follows your instructions to the letter, within their designed constraints.

Latest release


  • drawing a background map with ASCII or sprites
  • spawning creeps
  • moving creeps around the map with a* pathing
  • collisions with the map
  • stats system for health, mana, attack and defense
  • game speed control
  • general purpose renderer
  • Leaders (heroes/champions)
  • creeps
  • towers
  • core
  • barracks
  • request teleportation
  • basic fighting algorithm
  • Fully functional web version

:construction: Up next:

  • UI & input
  • Networking


We want the game to be very contribution-friendly. Our recommended starter tasks are to create a new :supervillain: Leader or :package: Item. If you're new to Rust gamedev and the ECS paradigm we highly recommend checking out the Rust Roguelike Tutorial.


Got our first PR, serving as a simple example of how to add a new item:

Plus some useful feedback we'll try to address:

Only one thing though, I would suggest to start to split code from because with many items / skills / defs it will start to be hard to see where goes everything.

Added first iteration of UI. We can actually interact with the game now! :mechanical_arm:

And BotAI coders can have a look at our first PR for an AI profile:

1 Like

We now have nine PR examples of how to add a new Leader to Shotcaller.

This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.