AI Behaviour Roadmap
Last year, on the 9th of December we reached a new milestone that we’ve been pretty low-key about. Actually, you might have noticed that lately, we have been very low-key in general. Fret not, we’re still working on Ganbatte every day, but we’ve been finding difficult to keep a good balance between developing and documenting the journey!
We’re at @GDGCoimbra #devfestcbr showcasing #Ganbatte featuring v0.01 of our brand new galactic cat AI! ?? pic.twitter.com/bddzropiED
— Mimicry (@MimicryGames) December 9, 2017
That’s right, we’ve been implementing bots in our game, to allow players to train and enjoy the game offline or if there aren’t enough online players available. And by now, we have some pretty cool Dexter AI bots that can play against you (and win ?).
AI bots in Ganbatte serve the purpose of creating a replacement for human presence during the game. Ganbatte is a competitive social game. Because of that, the AI must be able to play the game in a similar fashion to a human opponent and be able to interact with human players and other AIs. In the next sections, we describe the target behaviours and states for the AI bots.
Given the fact that Ganbatte is heading towards an early-access release (https://ganbattegame.com/2017/12/03/leaderboards-are-live-ganbatte-release-postponed/) the behaviours we describe are a roadmap of what’s to come in terms of basic AI behaviour.
AI Behaviour Roadmap
Eating
- Objective: eating with both hands
- States:
- Selecting plate
- Objective: select a plate based on the predefined heuristic:
- Random plate; (DONE)
- Highest plate using plates in range; (DONE)
- Highest score (takes into account all the plates, if they’re reachable at the moment, how much time it would require waiting for one that is not reachable at the moment…).
- Objective: select a plate based on the predefined heuristic:
- Grabbing
- Objective: hand goes from the AI to the plate. (DONE)
- Pulling
- Objective: hand go from the plate to the AI’s mouth. (DONE)
- Eating
- Objective: simulates eat press to eat the sushi. (DONE)
- Selecting plate
Looking at objects
- Objective: AI looks at certain actors depending on certain conditions.
- Conditions:
- Current game state
- Stage running:
- Nearest grabbed plate; (DONE)
- Random plate until the selected plate is in reach. (DONE)
- In between stages:
- Randomly choose a forward point and look at it. (DONE)
- Randomly iterate through all the AIs/Player;
- Stage running:
- Current game state
High fiving player
- Objective: AI high fives the player.
- Conditions:
- Player looks at AI for 0.4 seconds; (DONE)
- Player stays with his hand extended like he’s going to do a high five for 0.4 seconds; (DONE)
- AI moves its head with its hand to high five the player. (DONE)
- If the player doesn’t wait for the AI’s high-five, the bot goes to its default location and expresses anger or sadness (DONE)
Expressing emotions
- Objective: AI expresses emotions depending on its level of satisfaction when each round ends.
- Conditions:
- Expresses Happy emotion when first on the scoreboard; (DONE)
- Expresses Angry emotion when a plate was thrown at him; (DONE)
- Expresses Sad emotion when on the last position of the scoreboard; (DONE)
- Expresses Wink emotion at random;
Waving at Player
- Objective: React to the presence of the player when he/she’s looking directly into the AI’s face.
- Conditions:
- Find human player who’s looking directly at the AI head;
- Rotate head to look at player;
- Play hand wave animation;
- Optional/Stochastic: Play one of the following face expressions: Happy, Wink.
Expressing hand choreography
- Objective: In between stages, the AI moves its hands to the music. This is a behaviour that we have observed in human players that can enhance the sense of presence in the environment.
- Conditions:
- During social time:
- Display one of various hand animation choreographies.
- During social time:
Taunting
- Objective: AIs use interjections like “ah-ah!” during the gameplay whenever they do something remarkable.
- Conditions:
- During gameplay:
- Play taunting sound when AI eats a high-value plate.
- Play taunting sound if the AI hand is close to the player’s hand.
- During gameplay:
We used this behaviour structure as a starting point in order to plan and improve on the AI bots of Ganbatte.
At the moment, our bots are not only able to play according to a specific strategy (a heuristic function for the AI enthusiasts out there) but also able to perform and mimic different types of social interactions with more to come. Our objective is to get a solid AI base that we can improve on, and I think we’re almost there.
Between us, I’m especially excited about high fiving in VR. It lifts up the interaction with the world to a level where you want to probe the AI bot more and more, both testing its limits and feeling the magic of pretending it’s a real human player.
- What do you think about our AI Behaviour Roadmap?
- Do you have any behaviour suggestion you would like to see?
Leave a comment below ?
If you’re interested in following the latest news about Ganbatte (there are big ones coming!), you can keep an eye on our social media channels and subscribe to our newsletter. You can also wishlist Ganbatte on Steam (http://store.steampowered.com/app/691680/Ganbatte/).
Thank you,
Daniela