identify toxic behavior[Lin 2015].
As presented, MOBA community its not very friendly [Blackburn
and Kwak 2014], and that could imply in players feeling frustrated
more often. Some online games have similar behavior amongst
their players, and try to solve the problem by encouraging expe-
rienced players to help newcomers. In these games, to avoid the ex-
perience level gap, developers or even the community implements
an ”adopt a newbie” program, where an experienced player is en-
couraged to help a newcomer finishing quests, gathering items and
getting levels. When the newcomer becomes experienced both, the
godfather and the newcomer, can be gifted in game with special
items, gold or titles in the community.
Csikszentmihalyi presents a model for identifying if players are in
flow [Csikszentmihalyi 1991]. Being in flow state means that play-
ers must not feel frustrated or bored, following in a way that the en-
tertainment is reached, having a good game environment and com-
munity can help players to be in flow state. However MOBA games
involves much more than just the difficulty presented by game me-
chanics. Some human factors, like toxic behavior, can drive players
to frustration. Playing in team requires cooperation and patience,
and that is what the matchmaking system from MOBA games tries
to obtain [Mylak and Deja 2014]. Matching players of similar skills
could provide a friendly environment, where players could grow to-
gether, in skills and knowledge, but that hardly happens if there is
no one that can teach. It is not difficult to find players appealing to
video tutorials or pro player guides trying to learn game features.
Also it is hard to reach flow state if players need to leave game
environment to watch or read tips. It is even harder to reach flow
when there is another player flaming at you by your mistakes or
inexperience.
3 Related Work
Tutorials are the main tool to interactively teach game features to
players in modern games. Normally, these teaching approaches are
simpler to apply since the game provides an environment for prac-
ticing what the player has learned [Silva and Nascimento 2012].
Although most game tutorials are successful to show simple game
features, it is not hard to find players that claim to have learned
less than necessary or did not understand the features at all. This
can be justified by the complex gameplay and the broad range of
mechanics found in modern games.
MOBAs also have joined the tutorial phenomena, as they are gen-
erally harder to learn than simple games. In Dota 2, for example,
there is a tutorial in which the player has a tutor hero that guides
him/her through the main game features and mechanics such as tur-
rets, creep farming and denying. Strife and Heroes of Newerth both
offer similar environments of learning main gameplay. By defeat-
ing a boss, that is a champion, the player completes the dungeon
like tutorials. League of Legends offers the player a tutorial that
shows the game features in an single lane dungeon. All tutorials
cited above require and/or invite the player to join a set of matches
against AI in order to improve his/her skills and be able to play
against other players. There is also some academic research on
how to use AI mechanisms to help players to learn complex games.
For example, in Cunha et. al. [Cunha et al. 2015], authors im-
plemented an advisory system that gives hints based on the current
status of the game and the performance of the player. They tested
their approach in Wargus, a RTS game with a complex scenario.
On a more broad sense, a general survey on the use of real time AI
based teammates in several games genres can be found in [McGee
and Abraham 2010]. AI teammates can be used with different pur-
poses, including to helping the players to learn a game, as we do in
this paper.
The basics of game features must be presented to players in every
MOBA game, and some of these games only show the mechanics
in a very high level. Thereby, most players claim that the tutori-
als are not sufficient to teach the basics of the game. Moreover, it
normally takes time to initially start playing a tutorial, then playing
with bots and finally Player versus Player (PvP). So, players gen-
erally become impatient and go straight to the PvP game. And it
is not difficult to find player that gets frustrated by meeting expe-
rienced players playing in low level accounts, called “smurfs”. So
most players tend to search for partners who can teach them the
game properly, others does not even keep trying, just stop playing.
Instead of just giving a set of instructions to the player, our ap-
proach introduces an AI agent that plays alongside him/her. The
agent aims to teach the player the general game features giving in-
structions while he/she plays the game. At first that may just seems
like a regular game tutorial but, in our approach, the agent analyses
the player skills and teaches him/her specific features verifying the
player performance. Furthermore, the agent is capable of helping
the player to improve his/her skills in game using a game character.
This approach reduces the player frustration by ensuring that he/she
is playing with a reliable, non-toxic partner.
4 Implementing a Tutor Bot for MOBA
Games
The first step in our implementation was to find a suitable MOBA
platform. Most of them are commercial games and do not provide
tools that allow developers to implement novel game features or
mods. After doing a broad research we found that the best option
was to implement our system in a game that is popular and stable, so
we chose League of Legends (LoL) as our main platform. We then
chose to use third party tools to develop the tutor system. Thereby
we develop our approach using Bot of Legends (BoL) a third party
tool that injects scripts written in Lua in the game. BoL is main-
tained by an open developers community, and only has access to
the information the players have. (cheating isn’t allowed).
In MOBA there are different roles the heroes can assume, each one
aiming to fulfill some needs of the team, given a strategy. We identi-
fied that the best role to help players improve their skills is support.
This role is characterized by the presence of utility spells, such as
cure, shields or disables, that can improve the ally hero survival
potential. The support is normally responsible for helping a carry
(champion that does a great amount of damage) in the bottom lane,
in the current strategy of LoL. After the lane phase, it is respon-
sible by helping all players in team fights and lane pushing. We
chose Soraka, a LoL support champion that easily fills the needs of
a novice player, providing support and healing while he/she learns
how to play the game. Soraka is focused in high crowd control,
having spells that slow, root and silence enemies in area-of-effect.
She also has spells that can cure close allies and, lastly, her ultimate
spell can cure the entire team. Soraka passive spell allows her to
run faster towards injured allies, making her helpful not just for one
player, but for the entire team.
We then developed a script that selects the bottom lane player, as
supporters normally go in the bottom lane, and follows the player
from an adjustable distance, avoiding collisions with him/her. This
system uses a two layered architecture: the first layer is responsi-
ble for driving the agent to follow the player while the second layer
controls the use of skills to support the player. The support system
only helps the player, supporting him during the entire game. How-
ever the support system does not give tips to player about mechanics
and techniques. The tutor system tracks the player mechanics and
gives tips to improve it. We should stress that our goal is to develop
an agent capable of helping players to develop their skills, thereby
is not our current goal to develop an agent that is Turing accept-
able. We developed a message system that is integrated with LoL
smart ping system. It emits messages and smart signals warning the
player when he/she has low health or bad positioning. A rule based
system is used to evaluate the data collected, getting the tips from a
lookup table. The table tip was developed based on the video guides
from Riot Games and also on texts from LoL champion pages. For
positioning, we give tips to the player when he/she is going to be fo-
cused by towers, enemies or minions. These specific tips are given
to all players in the team.
For developing the agent we extracted domain knowledge from ex-
pert players, in-game tutorials, videos and streaming from expert
players. We then divided this information in tactical and position-
ing, attributing them to movement and mechanism layer respec-
tively. The movement system was developed using the knowledge
SBC – Proceedings of SBGames 2015 | ISSN: 2179-2259
Computing Track – Short Papers
XIV SBGames – Teresina – PI – Brazil, November 11th - 13th, 2015