Friday 30 January 2009

What about the AI?

So, let’s briefly discuss the AI which will be available in the program.

In the first blog, I spoke about the approach we took for the initial design, focusing on replicating the tabletop experience. That remains our priority.

It soon became obvious that an in-game AI would be pretty easy to develop to deal with all the chart book decisions. So that is available – with the option to either have the AI automatically decide and roll its dice, or have the AI suggest a decision and you accept or change that choice.

The AI has also been programmed to make strategic decisions – use of H&R, bunting, field positioning etc. For version one, these will be stats driven – obviously based on the game situation, so that players who bunted a lot in real life will be used by the AI in the same(ish) frequency. There will not be any AI profiles which can be changed.

The AI will also make in-game substitution decisions, with a reasonable logic for ensuring players are used in a similar ratio to real life.

The above is an example of how the decisions can be enabled or disabled.

So that covers actual game play.

There are two additional AI routines which are required if any auto-play is to be achieved (unless using real lineups). They are starting pitcher rotation and lineup selection.

We provide basic routines for both of these. The objectives are to have a sensible batting lineup, a pitching rotation based on the Replay optional pitcher’s rest chart balanced against the need to use players in the same frequency that they were used in real life.

All this therefore means that games can be auto-played alongside manually played games.

No AI will ever be perfect since people have different views on how a manager should manage. Our goal for version 1 is to make the AI sensible – i.e. not to do anything which is plainly wrong. It is certainly a challenge even to get to that stage.

Following on from the AI, we wanted to simplify the usage management of players. So we took what is probably a unique approach to this.

The screenshot (please note this is still very much in-development) above shows a graphical display of the pitching roster. It clearly shows:

Available players
Upcoming starters
Previous game usage
Replay vs Actual stats

You can actually set availability and starters from this screen as well. So it clearly shows the state of the roster and allows you control over how you want players to be used. There is a similar screen for batters showing at bats.

Hopefully this will answer some of the questions regarding this aspect of the program.

Not sure at this moment what the next blog will cover.

Richard.

8 comments:

  1. Sounds well thought out. A solid AI will bring in several more PC players than a game without one. I know that programming one is very difficult, and basically for the reason you noted. Everyone has their own idea on how to manage a team. What you've presented here looks good, and simple enough to control. An AI that's difficult to understand will turn off some gamers. This certainly is a lot more than I expected in version 1. Excellent work! I can hardly wait.
    Will the AI work well in non-DH games? I'd think that the added strategy of double-switches, or whether or not to try and finish an inning with a 'weak' pitcher who's due up in the next inning have got to be difficult to program for. In the ActionPC game the gamer can decline the strategy of the AI. Maybe something like that in Replay's PC game would be of benefit.

    ReplyDelete
  2. Looks fabulous, Richard! Like the guy before me said, this is far more than I thought would be possible for v1. One area I haven't seen addressed, though, is support for Draft Leagues. In general, the Replay community *seems* more interested in..uh..'replays' of stock teams, but I know there's so much potential for this game to be used for draft leagues. I, for one, am a draft league junkie, not just playing in multi-player leagues but in running solo draft league projects with different scenarios, so I'm curious as to what's in store for that type of play.

    PC Replay seems to be coming along great, though!!! Two more months, maybe??? Keep up the great work! And thanks for sharing these updates, Richard (and Pete).

    ReplyDelete
  3. I will have a routine in for managing a pitcher if he is next up to bat. It will be dependent on the game situation whether he continues to pitch on his B grades or not.

    The draft side of the program will probably have to be developed further in V2, but I *hope* to have something at least for V1.

    ReplyDelete
  4. Richard, this looks great. I enjoy Replay but have to travel alot and lugging around the cards and dice with the boards is not convenient. I am looking forward to continuing my single team replays using my laptop while on the road. This will probably prompt me to purchase more of the historical sets...

    ReplyDelete
  5. Richard, I would like to know how schedules will be built into the game. I create short season replays and would need an easy-straight-forward method of entering a schedule, whether league-wide or simply for one team (without having to import, convert, twirl around and export). Any info you can provide on this aspect as you move forward would be great!

    ReplyDelete
  6. Hi Richard,
    Will the AI use the pitching chart, as shown in your screen shot, to decide that a pitcher who is going to start in the next few days should not be used in relief? This would probably only apply to pitchers who had starts and relief appearances.
    Thanks,
    Greg

    ReplyDelete
  7. The AI does know who is scheduled to start and will only use them in emergency situations.

    ReplyDelete
  8. That is excellent, Richard. It may seem like a small thing, but it is a HUGE deal to me. You have sold me on this product - can't wait for its release!

    Greg

    ReplyDelete