IA on AI

Posts Tagged ‘Soren Johnson’

Soren Johnson: 7 Deadly Sins for Strategy Games

Wednesday, October 1st, 2008

I am a big fan of Soren Johnson’s work. That being said, I keep an eye on his blog, Designer Notes. In a recent post, he listed what he felt were the “seven deadly sins” of strategy game design. Most of them were dead on for whatever reason. I thought that his first one was particularly interesting specifically because it surprised me with its presence.

He talked about how some strategy games had “too much scripting”. Some of his points included:

The AI takes action depending not on its own development rate or strategic priorities but on whether the human has hit certain triggers. In many scenarios, in fact, the human cannot even lose because – when defeat approaches – the script will freeze the AI and starting pumping in free units for the player. Further, these scenarios are often built around specific “objectives” to achieve, such as destroying a specific structure or capturing a single point. This artificial environment takes decision-making away from the player. Not only is there only one path to victory, but the player’s performance along that path may not even matter. Games without interesting decisions get boring quickly.

The reason that jumped out at me was that scripting just hasn’t seemed to have been a big deal to me in strategy games. I always thing of scripting in the genres of RPGs and lately a lot of FPSs as well. Not that I haven’t encountered them in RTSs of the past. I used to play some of the single-player campaigns in the early RTS games like Warcraft and Starcraft. I vaguely remember the one in Empire Earth – which was one of my favorite RTS games for a long time. I have to admit that, despite my being aware that there is a campaign mode available in Civ 4, I haven’t even opened it up. I don’t even play a lot of the scenarios in Civ 4… just hand me a random map and let me roll.

Still, campaigns just don’t do it for me. They just didn’t hold me. It seemed to me to be an attempt to “personalize” the experience a la RPGs. That’s not why I was playing an RTS, however. I suppose if it was done better, I may be more interested. I like the latest blending of the RPG genre with the the FPS one that seems to have been en vogue of late (e.g. Bioshock). That was a kinda cool… but for some reason, RTS + RPG doesn’t quite cut it.

In the end, I suppose I agree with Soren’s premise then… it is a sin to put scripted events into an RTS. It’s just not what it is meant for.

Interviews with Soren Johnson about Spore

Sunday, July 27th, 2008

If you are a devotee of the Civilization franchise or if you are interested in where the upcoming game Spore is headed, there were recently two interviews with Soren Johnson.

The first was at 1up.com. The second was at Gamasutra. In both, he talks about how his experiences with (and distinct interests in) strategy and simulation AI translated over to the world of Spore.

AIGameDev Column: Good AI vs. Fun AI

Tuesday, March 11th, 2008

Well, I’m settling into my role as a staff writer at AIGameDev.com. I just posted my 2nd column in the weekly Discussion series over there.

This installment, “Good AI vs. Fun AI“, is spun off of a concept that Soren Johnson presented in his GDC lecture, “Playing to Lose: Civilization and AI“. In my column, I ask the question…

Is it possible for an AI to be both “good” and “fun”?

Take the time to jump on over and read it… and then comment either here or in the excellent AI forums there. (Forum registration may be required to comment… but then if you are an AI programmer, you need to be involved over there anyway!)

GDC 2008: Soren Johnson’s lecture on the Civ 4 AI

Monday, February 25th, 2008

One of the more intruiging lectures of the 2008 GDC was given by Soren Johnson (MobyGames info) ex- of Firaxis and now with Maxis on the “Spore” team. He was talking about how Civ 4 fit in the spectrum of game AI between two extremes… “Good AI” and “Fun AI”. Here’s some selections from my notes on the lecture. (Forgive the seeming lack of lucidity – I was typing like a madman!)

Also, this is a direct link to Soren’s Slides (.zip) on his blog – which is where the images in this post came from (click to enlarge).

“Good” AI (Play to win)
Beat player at their own game
Essentially a human substitute

“Fun” AI (Play to lose)
Algorithms are the content
Focus on the Player’s Experience

For example, Aggro in an MMO is fun AI.

With tanks, healers, DPS (damage per second) there is a formula for handling it… Trivial AI problem to “solve” by the players.
Aggro determines who AI attacks, let enemy attack the tank, you heal the tank… DPS the mob…
Everyone knows how it works… very predictable. Almost become commoditized with agro tools. Blizzard isn’t trying to be clever – they like that it is simple.

The question with AI design is, where are you trying to fit? Across the spectrum.

  • Chess is “good”
  • Starcraft is more towards “good” (no real diplomacy – assumption is that they want to kill you.)
  • Civ IV split the gap. Deep diplomacy but very symmetrical game design.
  • Heroes of Might and Magic is more towards “fun”. Not as focused on the excellence.
  • Desktop tower defense if pure “fun” AI.

Rule sets?
Good side tends towards fixed rule sets. (e.g. Chess)
Fun side tends towards evolving rule sets.

What are the best environments?
Good AI tends towards Multi-player
Fun AI tends towards Single-player

Tactics available to AI?
Good AI will do everything available.
Fun AI will do limited tactics.

Measuring performance?
Good AI has objective measurements
Fun is subjective – e.g. difficulty over performance

Turing test?
Good AI passes
Fun AI… this question is irrelevant.

The question is: “Play to win or Play to lose?”

With Civ IV, the AI does have limited options. There are a lot of options that they do not put on the table for the AI. Esp. with diplomacy. E.g. fighting a war… as a player, you can ask them for stuff if you promsie to quit war, then attack them over again. AI doesn’t do that.

Civ has:

  • Both fixed and evolving design
  • Symmetrical
  • Single Player
  • Limited Options
  • Objective Testing
  • Fails Turing test but it isn’t irrelevant.

Every player is different… some want things like challenge, sandbox, narrative.

For narrative, you want to aim for personality, for the AIs to maintain memory about you. It’s OK for them to fall for traps. They built that into the leaders in Civ 4.

With regard to the challenge, you “want player to win or at least understand WHY they lost.

Need for difficulty levels:
Lets sandbox players off easy
Gives Challenge players a goal
Increases available tactics.

Where does cheating fit?
Completely Good AI does not.
Completely Fun AI n/a There is no concept of cheating (e.g. desktop tower defense)
In the middle… yes?

The Noble level in Civ 4 is the “even level” with regard to production modifiers, etc.

But Noble has other cheats… e.g.

  • Animal/Barbarian combat bonuses
  • No Unit support
  • Better Unit upgrades
  • No Inflation
  • No War Weariness

The AI needs more help in these areas.

For example, AI does not leave cities empty like a human would… so unit support costs. Human army and AI army will never be the same size because they have to keep units in their cities… therefore cut the support costs for the AI since they need to have a larger army.

Cheats should NOT be linear… certain you want to help more or less as you progress your diff. levels.

Cheats should never feel unfair! Examples from past Civs that players hated…

Civ 1, 2
Free wonders
Gang up on human (In Civ 1: If year > 1900 and human in lead, declare war on human)

Civ 3, 4
Human-blind diplomacy (Never checks “is human?”)
Information cheats (they DO have info cheats – most of them come down to limited dev. Resources… e.g. fog of war is very expensive)

Information cheats can really backfire on you. E.g. Amphibious Assault Judo using empty port cities in Civ 3. (solved by determining random time for updating the assault target, ignore temporary data such as nearby units.)

Cheating is relative:
The Tech Trading Problem…

  • AI must trade techs
  • AI must trade fairly
  • Human can sell techs cheaply

Only two of these can be true… So… should AI sell techs cheaply? Solution? Can AI pursue altruism?

When the AIs were trading often, it made for very even technology levels between all players rather than some groups ahead and others lagging. Everyone had everything.

Solution in Civ IV

AI can undersell by 33% but…
Tries to make up difference in gold
Only trades on random turn intervals
Uses same “Refuses Trade With” logic as with human.

Arbitrary rules e.g. “I will never trade Iron Working with you.”

What is the point of cheating?
Are we trying to…

  • Write the “best” AI?
  • Beat the human?
  • Be fair?

Designing for the AI?
Can AI handle the options in the gameplay?
OTOH, make sure not designing just for AI. Legitimate reason for design decision. (e.g. closed borders, enforceable peace treaties)

Traditional testing fails
Automated testing helps greatly
Need hard-core fans to analyze
1.5 year closed beta, peaked at 100 users, bi-weekly patches.

They used soft-coded AI:
No AI scripts
No enums (No “Temple”)
Less brittle code
Less predictable AI is not always a good thing.

Probabilistic Reasoning – Weights to factors, values to situation

Data-driven Mods – AI was stand-alone so that it was compiled into dll. CvGameCoreDLL.dll was 100% independent of engine.

GDC 2008 – AI Stuff

Monday, February 25th, 2008

I’m in the process of uploading all my GDC-related things to this page. You can actually listen to my audio of the 3 AI roundtables and read my (barely comprehensible) notes that I furiously took during each. Also, it has links to the pictures that I took during the roundtables and the AI Programmers Dinner on Friday night.

On that page, I will also be posting other AI-related tidbits such as my notes from lectures such as those by Soren Johnson’s (Civ 4), Damian Isla (Halo 3), and Peter Molyneux (Fable 2). Give me a few days to get it all straightened out, though.

Also, I sat down with John Abercrombie of 2k-Boston on Sunday morning and spoke with him about the AI that he did for Bioshock. That should be posted on Wednesday. Look for it over on Post-Play’em.

(Remember to tap the RSS feed to keep up with these additions and all other AI-related things.)

One final note about GDC… it’s always an exhilarating week… but it sure does make my head hurt!

Soren Johnson – “A Farewell to Civ”

Sunday, February 10th, 2008

Soren Johnson, AI guru behind Civ 3 and Civ 4, posted an interesting tidbit on his “Designer Notes” blog entitled “A Farewell to Civ“. He mentioned that since he is no longer with Firaxis (having moved over to the Spore team), his GDC lecture next week will really be his last hurrah in speaking about his work with the Civ series.

One thing’s for sure, I will be avoiding writing about Civ 4 in Post-Play’em until after I attend this lecture. One quote caught my eye:

Essentially, I will be talking about the difference between thinking of the AI as the player’s opponent and thinking of it as simply an extension of the core game design (what one might call the difference between “good” AI and “fun” AI). There will also be a long section on AI cheating – the bane of my existence for many years – concerning which type of cheats are acceptable to players and which type are not, using Civ as an extensive case study. Further, I hope to prove that, for Civ at least, there is no such thing as – and never could be – a “fair” difficulty level where the AI is playing the same game as the human. Your mileage , of course, might vary.

I don’t want to make the mistake of assuming something he did was cheating, or something I thought was cheating was actually brilliant AI work on his part!

Cheating or not, he has done some exceptional work in making Civ 3 and Civ 4 an absolute delight to play… even as an AI guy. I’m looking forward to meeting him.

Look for updates from GDC both here and in the IA News blog.