legend_master
The Art of Cricket Developer
This has always been a problem with AI in cricket games. Taking into account the match situation (i.e. time left in tests, weather conditions, and in ODI rpo required and how many wickets left etc) is essential for any AI.
Another big problem for developers is that humans always find weak spots in the AI which can result in getting easy wickets etc because the AI will always play the same shot to certain deliveries and will not adapt or adjust etc. Its very difficult and I wish Paul all the best on this
Great topic, by the way
AI cannot be understated here, as it will make or break the game, literally. I have some great ideas in mind and JK will confirm this - we have a LOT of stats for all players - which allows us to create quite a varied approach to the AI. Stats such as Morale and Mentality/Focus and Form, skills for all different kinds of shots and bowling and fielding...there's so many stats that its not funny. But the reason there are so many is that when it comes to doing the AI, the stats will be integral in determining how CPU players react. Now, mix player stats with other less tangible things such as 'Match state', Weather, 'Team mentality / Morale', milestones etc you can get some really decent AI happening.
Now, i cant really describe all my ideas for it, cos like Srinath rightly said above it would possibly ruin things if you guys knew exactly how it all works. I will mention a couple of things though.
i) The AI is going to be organic. This means it wont be perfect first time, it will be contantly improved through different versions and beta testing etc - but i hope to get it to a very good state before release
ii) The AI will adjust well and change tactics during the course of a match
iii) 'Match State' is a key factor in determining the AI actions. To elaborate a little bit, this refers to the current context of the game. The CPU needs to be aware of the following and have the players react accordingly:
- Weather changes and possible effect on the match as it progresses
- Score - are they behind or in front? By how much? What is the run rate verses the par rate and what is the run rate required if chasing? How much time is left (tests)? Should they declare? etc
These need to be considered on a team level. Then there are the things to be considered on a player level, such as
- current personal score and approaching any milestones
- current mentality - is the player aggressive or defensive usually - if they need to play more aggressively to up the run rate it may be more risky as they will be out of their normal comfort zone.
- stamina - must pace themselves
- player form and morale - was he out for a duck in the first innings? He wont want a pair!!
etc etc
So to conclude, there are tons of factors that will determine how the AI reacts and i am confident our 'quality control' team (me and JK ) will nut our most of the problems - what we dont get should get picked up by beta testers - and what they dont get will be fixed subsequently.
LM
Creating the AI to decide how aggressively to play shouldn't really be that hard to do. If you know how you would do it yourself and why, then it must be knowledge transferrable to a computer.
Compare that to something like deciding whether a picture of a face is male or female, that is much harder to do - you can do it yourself but it's not easily quantifiable. With cricket we have numbers, so it should really be easy.
It's just a case of how much time is spent on it, and I think too little time is spent on these things in all games, not just cricket games.
Good point Tom, i totally agree...it really does come down to a) how much time gets devoted to it and b) how much depth to go into
Last edited: