Hello, this is Team Samoyed! Teamfight Manager 2 will be sharing consistent development updates every 2–3 weeks through development logs. We appreciate your interest and support.
New Champion Added, AI Improvements
https://www.youtube.com/watch/QCtlTh13-ik
https://www.youtube.com/watch/6w5DCRbOPeI
We were a bit hesitant to reveal full match simulations, given that the match engine is still lacking in many areas. However, we felt it would be better to transparently share our progress and show how we improve going forward, so we decided to release full match videos.
Let’s briefly touch on the technical side. The match engine in Teamfight Manager 2 has three core development goals:
Speed: Simulations need to run as quickly as possible. As mentioned in a previous devlog, Teamfight Manager 2 requires frequent match simulations for many different purposes. If simulations are slow, it results in long wait times during gameplay.
Scalability: The match engine’s structure must allow for easy AI updates and modifications. This is critical for productivity, especially given our small development team, and it also helps prepare for future mod support.
Performance: Matches should be enjoyable and immersive to watch, and the players should feel like they’re performing at a high level.
It’s nearly impossible to fully satisfy all three goals at once. There are clear trade-offs—enhancing performance often comes at the cost of speed and scalability. And with many other parts of the game needing development, we have limited time to spend exclusively on the match engine. So, we’ve taken an approach that builds a scalable and reasonably fast engine structure, then works to maximize performance within those constraints.
Through multiple rounds of testing and redesigns, we’ve finally established a scalable structure that allows for incremental improvements to the match engine.
Here’s a simple breakdown of how the player AI framework currently works: each player’s behavior is divided into three stages—Tactical Decision, Micro Decision, and Actual Execution.
Tactical Decision: High-level decisions about what the player believes they should be doing strategically—such as pushing the bottom lane, preparing for the Morgard objective, or attempting a gank.
Micro Decision: Based on the tactical decision, this determines what the player should do in the short term—like chasing a nearby enemy, backing off slightly, attacking, or dodging.
Actual Execution: Inputs that carry out the micro decision—such as issuing a move command to specific coordinates or using a skill to close distance quickly.
To simplify: each player evaluates potential tactical decisions by calculating a score for how beneficial they’d be in the current situation, and selects the one with the highest score. Then, they generate micro decision candidates to carry out the chosen tactic, evaluate their scores, and perform the most optimal one.
This structure makes it relatively easy to add and refine new behaviors. For example, if we want players to invade the enemy jungle as a group early in the game, we can add that behavior as a separate tactical decision and assign an appropriate score—allowing it to be adopted without major structural changes.
At this stage, we’ve established the match engine’s core framework and implemented the fundamental behaviors. Some aspects, like late-game operations or teamfights, are still lacking and can lead to awkward behavior—but these are exactly the parts we plan to focus on next, to enhance the overall AI.
That’s it for this development log. Thanks for reading this long post!
