
HD link
Hi, friends.
Today we will talk about AI in Soldiers: Arena. In one of the diaries there was some info about work on the behavior of bots. A lot of things have been done since then, and we decided to tell in detail how the bot is struggling to make the PVE fun, the battle competitive, and itself to look like a real person. You probably know that making a decent AI for strategic games is not an easy feat. The point is not in the reaction and the number of clicks unattainable for a person and not in analytical possibilities. The key to success is in creating interesting game situations. After all, this is a game and it should give pleasure: Including and especially so after a defeat. We are not talking about creating a super-brain with the possibility of self-learning and making its own name. At this stage, our plans are not so ambitious, but also not so resource-intensive. We are talking about creating a set of behavioral instructions, following which AI could call plays which are interesting and unpredictable.
A good bot should be able to:
- Create different game situations using the same set of tools. For example, a moving tank can be stopped by anti-tank mines, another tank, self-propelled guns, artillery, grenade launchers (and simpler tanks even with AT-rifles), an assault of paratroopers dropped on the turret, anti-tank hedgehogs and so on. So, the bot should not only be able to do it all, but also be able to choose the best of options.
- Use complex and situational mechanics such as digging trenches, capturing buildings, camouflaging positions, reconnaissance, retreat.
- To be a part of metagame systems and game mode, which means that its decks should be as logical and diverse as the player’s.
- Correctly act within a certain game mode and respond to player actions: eliminate breakouts, capture points of interest, cooperate with other bots (or players), and so on.
- Have flexible customization on the level of complexity and sometimes make mistakes, like a living person.
- Do not try to win by cheating and use only resources and units with the same limitations as the player. When AI sees through the fog of war, has more units and in general it's armor-piercing weapons are rather more armor-piercing than yours, it causes sadness, which eventually gives way to righteous anger. Yes, and fortune should be equally supportive for both the player and the bot. Who among us did not spin the roulette in the naive hope of hitting the target with an insane 95% hit chance?
HD link
A good bot allows to:
- Create tutorial and training missions in which the player could hone their skills and master even the most complex of game mechanics.
- Create interesting single and cooperative doctrines and make them as replayable as possible. Since, from the unpredictability of AI’s actions, it will directly depend on whether you want to replay the mission.
- To play against those who are interested in the game, but not PVP.
- Replace the player in a multiplayer session after the disconnection or when you just need a +1, and there is no will to wait more. Now the bot is doing quite well at the level of the average player, and the work is far from complete.
- Configure comfortable difficulty and combat conditions. To justify the bot existence, it does not necessarily have to win. The main thing is for the bot to fight like a lion, driven into a corner, which is crushed by unemployment, a generic curse, a mortgage, the loss of kittens in a plane crash and the affair of his lioness with a tigress.
HD link
How we tune up the bot.
The tuning work can be divided into three levels: creatures, commander and army. At the creature level the characteristics of the unit and its behavior are tuned, so that each of them improves its combat functions in their own way, starting with the detection of the target and ending with its neutralization. Between these two points there are many other processes: the transfer of information about the target to the allies, the selection of the right weapon for its destruction, the decision to move, the choice of route, etc. At the same level, scripts and functions are configured that allow bots to make specific decisions, such as switching to hand-to-hand combat or throwing a smoke grenade.
At the bot-commander level, the systems of managing the deck are being tuned. AI must select units with the same restrictions as the player, but with certain conditions. For example, be balanced for playing in a team and reflect the specifics of the chosen commander. Seems obvious, a heavy tank regiment, spamming machine guns, and light tanks, looks strange. At the same level, we also configure how the bot uses its troops and tracks their number in the session. Here a lot depends on the difficulty level. On a low, for example, the bot can "forget" or be "short of time" to use the entire available limit of units.
At the army level, the bots learn how to interact with each other and to make things right within the game mode. Watch that the enemy does not greatly exceed them in firepower and the presence of a certain kind of troops on the battlefield. Conduct joint operations. For example, bots can arrange a local blitzkrieg, and the infantryman-bot will try to support them by at least a few soldiers to seize the territory.
HD link
We want the bot to be as much like a living person, despite its scripted essence. Not surprisingly, sometimes this creates funny precedents. Once our game designer needed to attach the text to a certain entity. Hints like "Grab this hill" and "Win bad guys" for training missions became more informative. But along the way, he decided that it would be more convenient for the work to display information about the triggering of the condition not in the console, but directly over the unit. The work was on, the bots were learning, nothing was foreshadowing the troubles ... Until one day, in the game, you came across a cheerful but slightly creepy situation where a bot was driving to crush a cannon and a smiley appeared over the tank … The sad artilleryman in a tankmen’s world crying for his life :(
HD link
Friends, what settings would you like to see when creating a game, except for the obvious like a game nation, commander, aggressiveness? In the future, we want the choice of the bot to not only be limited to the basic settings and your wishes will be very helpful. Wish you all the best.
[ 2018-06-28 18:27:58 CET ] [ Original post ]