Apolyton Archive  |  Preserved copy of the Apolyton Civilization Site and its forums as they stood in September 2005. Read-only; nothing here can be posted to or replied to.  |  Forum index |  About this archive |  The 1998–2001 UBB forums
Today on Apolyton WARDELL INTERVIEW PROMO A.C.S. HISTORY CHAPTER 4 GET CIV4 /w FREE PLUS! A.C.S. PHOTO GALLERY GET A.O.M. V1.1
Apolyton Civilization Forums
main| civ2| civ3| civ4| smac| ctp2| ron| moo3| galciv| galciv2| alt| about|
ApolytonPLUS | register | search | faq | new posts | pm (-/-) | upload | members
hall of fame new! | civgroups | civgroups news | interviews | the column | radio | chat | directory | news | store | PLUS
Apolyton Civilization Forums : Powered by vBulletin version 2.0.3 Apolyton Civilization Forums > Civilization IV > Civ4-General > My #1 Request...
Show a Printable Version | Email This Page to Someone! | Receive updates to this thread | Report this to Apolyton news!
22.Sep: BLUE IS OCEAN, GREEN IS GRASS
22.Sep: SMAC-LIKE UN COUNCIL CONFIRMED
21.Sep: GERMAN `ANONYMOUS` LAUNCHES

bottom of page
  
Author
Thread    < Last Thread     Next Thread > Post New Thread     Post A Reply
Epistax is offline Epistax

Prince
of Bananas
May 2001
time: 00:35
  Old Post 19-08-2004 01:35
Edit/Delete Message Reply w/Quote
#1 Report this post to a moderator
My #1 Request... Browse Apolyton AD-FREE

It's hard. It's unproven. There's no simple answer. It's a complete resource hog.

I want an AI player. One that doesn't know who (if anyone) is an actual person playing. One that never gets any advantages or disadvantages depending on difficulty. One that has the same interface to the game as the player, that is, under no circumstances would know anything more about the game than a person playing.

Difficulty is a matter of the AI making poor decisions every once in a while. Giving them a personality is a matter of making the same poor decisions (Civ specific, anyone?).

Multiplayer is obviously a big part of Civilization, however I can hardly play it on my own free time, let alone having to balance with anyone else. I don't have the patience for PBEM because if I suddenly have a burst of free time, whoever else is playing will not.

Now the primary difficulty is obvious: If it's hard to make a good chess AI that doesn't take a great computer, how could you possibly do it for a game like Civilization? There are many paths to take, such as generalizing to specifics. An AI takes an overview look and puts it into a category. Looks within that category to a sub category, to a sub sub category, etc. Inside there are a list of basic instructions which would match what to do if REXing and one civilization has been met, or what to do if it is at peace with everyone and there is a weak unallied neighbor near by, etc. This is just one random example.

Well there's much more than this, such as keeping it smart & random, and I won't go into any further specifics. I just want to say this is what I'd want most. I’d love wonder movies, I’d love a great manual, I’d love animated advisors (animated as in personality, not necessarily the luxury of Civ II), I’d love voice-overs a la Alpha Centauri, I’d love altitudes, natural disasters, civil wars, a choice between political AND economic systems (how about social systems too), I’d love a lot of stuff—But most of all I want a _good_ AI.

GePap is offline GePap
King
of the Big Apple
Nov 2001
time: 23:35
  Old Post 19-08-2004 02:01
Edit/Delete Message Reply w/Quote
#2 Report this post to a moderator
Support Apolyton buy from Amazon

Well, obvously this would be the holy grain of one person game design-simulte playing a human being.

Ain't going to happen with this game.

Epistax is offline Epistax

Prince
of Bananas
May 2001
time: 00:35
  Old Post 19-08-2004 02:05
Edit/Delete Message Reply w/Quote
#3 Report this post to a moderator
Help yourself to an AD-FREE life

However my most minimal part: no AI is allowed to know who is an AI and who is a player, is entirely possible. That is, it should not be beyond the ability of the computer to play without a human player. RTS games have long had AI that are like this-- I'd love to see Civ adopt the same.

VonSharma is offline VonSharma
Settler

Aug 2004
time: 05:35
  Old Post 19-08-2004 02:21
Edit/Delete Message Reply w/Quote
#4 Report this post to a moderator
Lose 30 kilos (of popups)

A big game of emperor is too easy to get ahead, and demigod is too hard to keep up. If the good people at Firaxis could come up with a way to keep the AI competitive without starting it out with a complete army or absurd tech trade rates, I could play the game as it is until I'm old and gray (or until I actually one day start my own civilization), although it would be nice to get some proper free trade pacts and the like.


- Varun

Trifna is offline Trifna
King
of anchovies
Jul 2001
time: 13:35
  Old Post 19-08-2004 02:42
Edit/Delete Message Reply w/Quote
#5 Report this post to a moderator
Lose 30 kilos (of popups)

Praise your hardware, since it seems that multi-threaded AIs are becoming a trend (and a bless) for turn-based strategy games. The first game that did that is Galactic Civilizations I think, and its AI was praised. CiV is coming a few years after so...

Praise the New Age

Cmonkey is offline Cmonkey
Chieftain

Apr 2003
time: 05:35
  Old Post 19-08-2004 07:56
Edit/Delete Message Reply w/Quote
#6 Report this post to a moderator
Support Apolyton buy from Amazon



It pisses me off to see people with no game programming experience say how difficult it would be to write a good AI for a civ-like game....it pisses me off even more when people with game programming experience say it's difficult. Writing a good AI for a civ-like game is easy, if you follow these simple steps:

1. Design/code the game to be multiplayer to start.
2. Get it 100% "finished" minus the AI.
3. Play the game. Know it and it's rules well.
4. Design/Code the AI utilizing your knowledge of the game and it's rules using FSMs (Finite State Machines).

FSMs are by far the most powerful AI tool in a game programmer's arsenal. You could concievably code every possible scenario/action combination that the AI could take; designed correctly, this could eat up only milliseconds of time. This, of course assumes you follow the 4 steps.

Take note!!! Firaxis!!!

punkbass2000 is offline punkbass2000
King
Waterloo, ON, Canada
Feb 2002
time: 00:35
  Old Post 19-08-2004 08:02
Edit/Delete Message Reply w/Quote
#7 Report this post to a moderator
Support Apolyton buy from Amazon

quote:
Originally posted by Cmonkey


It pisses me off to see people with no game programming experience say how difficult it would be to write a good AI for a civ-like game....it pisses me off even more when people with game programming experience say it's difficult. Writing a good AI for a civ-like game is easy, if you follow these simple steps:

1. Design/code the game to be multiplayer to start.
2. Get it 100% "finished" minus the AI.
3. Play the game. Know it and it's rules well.
4. Design/Code the AI utilizing your knowledge of the game and it's rules using FSMs (Finite State Machines).

FSMs are by far the most powerful AI tool in a game programmer's arsenal. You could concievably code every possible scenario/action combination that the AI could take; designed correctly, this could eat up only milliseconds of time. This, of course assumes you follow the 4 steps.

Take note!!! Firaxis!!!


I will thus be expecting your perfected AI mod days after cIV's release, then.

Cmonkey is offline Cmonkey
Chieftain

Apr 2003
time: 05:35
  Old Post 19-08-2004 08:24
Edit/Delete Message Reply w/Quote
#8 Report this post to a moderator
Support Apolyton, buy Alpha Centauri

quote:
Originally posted by punkbass2000
I will thus be expecting your perfected AI mod days after cIV's release, then.




Can you not read? Rule #1:

Design/code the game to be multiplayer to start.

Key words there DESIGN/CODE & START. If I'm not making the game from the start, how the hell am I supposed to fix what Firaxis screws up?

Epistax is offline Epistax

Prince
of Bananas
May 2001
time: 00:35
  Old Post 19-08-2004 08:56
Edit/Delete Message Reply w/Quote
#9 Report this post to a moderator
Support Apolyton buy from Amazon

quote:
Originally posted by Cmonkey




Can you not read? Rule #1:

Design/code the game to be multiplayer to start.

Key words there DESIGN/CODE & START. If I'm not making the game from the start, how the hell am I supposed to fix what Firaxis screws up?


Well yes actually I was trying to help people out with a clone of Transport Tycoon. My suggested model was one where the difference between an AI and a player was a drop-in class. That is, one class would handle for local players, one for remote players, one for local AI, one for remote AI. Of course this is slightly over simplifying but that's exactly how it should be done.

The hard part is getting the AI to run well, making it hard, yet not having it cheat. My point about them not making the AI so it can't tell the difference between a player and an AI (and apparently your point) is that it isn't much work to do so. I think we're agreeing. Just in case we aren't I think I'm supposed to insult your mother or something.

Cmonkey is offline Cmonkey
Chieftain

Apr 2003
time: 05:35
  Old Post 19-08-2004 09:18
Edit/Delete Message Reply w/Quote
#10 Report this post to a moderator
Full PM-box? Change here!

Certainly having a single variable in the civilization class which delineates player type (AI or Human - it could simply be: "bool humanPlayer") is easy and would be vastly simpler than having a seperate class for each type.

quote:
The hard part is getting the AI to run well, making it hard, yet not having it cheat.


None of the above are hard....that was the point of my origional post. Making the AI do the above is as easy as knowing the rules WELL and designing the AI to USE them the way a good human player would through the use of FSMs.

Sn00py is offline Sn00py
King
From New Zealand
Aug 2001
time: 13:35
  Old Post 19-08-2004 16:25 Visit Sn00py's homepage!
Edit/Delete Message Reply w/Quote
#11 Report this post to a moderator
Support Apolyton or Terrorists Win

Can you elaborate on what Finite State Machines are?

Epistax is offline Epistax

Prince
of Bananas
May 2001
time: 00:35
  Old Post 19-08-2004 16:37
Edit/Delete Message Reply w/Quote
#12 Report this post to a moderator
Enter the AD-FREE zone

The state machines I deal with are in digital systems.

Google is your friend here. The first result gives a fairly good definition. Just think of anything you do, and break it into several pieces. Then thing of what it is that causes you to go from one of those pieces to the next. You can now develop a state transistion table (and even draw a picture of you feel inclined) of the state machine that is, say, doing laundry or walking the dog.

He might have a more specific definition he was going towards. While this is a great aid to AI, I don't think it solves the fundamental problem: Figuring out how to do what they need to do in a situation (not what to do).

Max Sinister is offline Max Sinister
Warlord

Nov 2003
time: 05:35
  Old Post 19-08-2004 17:50 Visit Max Sinister's homepage!
Edit/Delete Message Reply w/Quote
#13 Report this post to a moderator
Suffering from ads?

quote:
Originally posted by Cmonkey
Can you not read? Rule #1:

Design/code the game to be multiplayer to start.

Key words there DESIGN/CODE & START. If I'm not making the game from the start, how the hell am I supposed to fix what Firaxis screws up?


If you think you're able to build a better AI than Firaxis, you can try it yourself with the Python engine.
BTW, I'm into AI myself and FSMs are NOT the non-plus-ultra of AI. That's because they're essentially nothing but scripts. Once you knew how they work you could try to find loopholes and win by that way.

Ah, and you will need more differences between player civ and non-player civ than a boolean. That's because the player will make his inputs with mouse & keyboard, while the AI had to do it different.

Epistax is offline Epistax

Prince
of Bananas
May 2001
time: 00:35
  Old Post 19-08-2004 19:09
Edit/Delete Message Reply w/Quote
#14 Report this post to a moderator
Support Apolyton, buy Galactic Civilizations

quote:
Originally posted by Max Sinister
Ah, and you will need more differences between player civ and non-player civ than a boolean. That's because the player will make his inputs with mouse & keyboard, while the AI had to do it different.


Human Player -> Interface Devices -> OS -> IO Handler -> Facade -> Engine
AI Player -> Facade -> Engine

All you need is one level of communication (a facade) to make them equal.

Trip is offline Trip
Firaxis Games
Hunt Valley
Apr 2002
time: 00:35
  Old Post 19-08-2004 22:15 Visit Trip's homepage!
Edit/Delete Message Reply w/Quote
#15 Report this post to a moderator
Support Apolyton buy from Amazon

Soren has a masters in Comp Sci. I trust him to do whatever he needs to make a great AI, and I trust that he knows how to.

Kuciwalker is offline Kuciwalker
Emperor
of Schmooism
Feb 2001
time: 00:35
  Old Post 19-08-2004 23:09
Edit/Delete Message Reply w/Quote
#16 Report this post to a moderator
Support Apolyton buy from Amazon

My #1 Request...

BRING BACK EVENTS!!!!

I would buy it if it were just C3 with events.

Ijuin is offline Ijuin
Warlord
Tokyo, Japan
May 2002
time: 14:35
  Old Post 20-08-2004 20:29
Edit/Delete Message Reply w/Quote
#17 Report this post to a moderator
Increase Your PM Length

quote:
Originally posted by Sn00py
Can you elaborate on what Finite State Machines are?


A finite state machine is any machine in which you can define in advance EVERY possible valid input and output. In other words, there are a finite number of states that the machine can be in, and you can conceivably program the machine's response to each one of them. The problem with a finite state machine is that it can not handle any input that is not on "the list" of accepted inputs, but the advantage is that you can cover all possible responses to inputs that ARE on "the list".

A good example of a finite state machine would be one that plays tic-tac-toe (noughts and crosses to you British Commonwealth people). There are only so many ways that such a game can go--and it is possible to program a computer for all of them.

On the other hand, a game like Civilization has many hundreds of different things that could happen each turn, so by the fiftieth turn or so there are more possible scenarios than their are atoms in the universe. This makes it impossible to program for every single possibility.

The alternative, then, is to use an "open state machine". Open state machines are meant to "learn" and "think" after a fashion inasmuch as they don't have rigidly predetermined responses to every input. The disadvantage is that nobody has yet brought open state machines to the level where they can outcompete a human opponent without using massive processing power (such as Deep Blue) to consider thousands of possible moves at a time.

joncnunn is offline joncnunn
Emperor
Maryland Heights, MO
Sep 2002
time: 23:35
  Old Post 20-08-2004 22:17 Visit joncnunn's homepage!
Edit/Delete Message Reply w/Quote
#18 Report this post to a moderator
Put an end to popups!

I'm a programmer by trade, AI is the toughest field in computer science. Yes, I agree that that making it multiplayer first before coding the AI is the way to go though.

Each game in the Civ series has seen progressly less cheating by the AI combined with more intelgent play, but there's still some obvious improvements that could be made.

The most obvious is the AI doesn't know how to tweak the science bar to minimize wasted beakers, but I would much prefer simply allowing the excess beakers to count toward the next tech for everybody like Civ II & SMAC. This would necesatate elimation of the can't get the tech until the 4th turn no matter how much you reserach and the granted the tech for free if you've been put at least 1 beaker towards it for 50 turns, but I don't like those features either. I do like different techs costing different amounts and also the reducation in beakers needed when you know others have it.

The AI has complete knowelge of all tiles it's previously explored should be elimenated simply because the AI can't even cheat intelgently with this.

Firaxis should consult with ET for the AI portions of should I change my government now & Forbiden Palace placement.

Rather than teach the AI to abandon my capital to get a new one for free (either with the abandon button or the building of settler/workers), I'd prefer disallowing that entirely.

The bigest overall section that the AI needs improvement is seeing the big picture. Currently the trade minister rountine does not talk to the military minister routine or vice versa. Perhaps making trade deals that expired early due to war simply be suspended with interest accuring like SMAC would help some, but really the trade minister has no business granting a tech for 50 GPT when it's military minister already has the sneak attack force in route against that player.

The other area is that the AI sems to be failing to see the big picture is that it seems to be unwilling to attack a healthy defending unit when chances of the first attacking unit in a stack winning are slim but chances of the second attacking unit winning are excelent, and the rest would be in perfect health. I call this the General McC syndrome, after the General in charge of the Union Army in the first half of the US civil war.

Hasdrubal is offline Hasdrubal
Prince
Carthage.
May 2000
time: 05:35
  Old Post 20-08-2004 22:22 Visit Hasdrubal's homepage!
Edit/Delete Message Reply w/Quote
#19 Report this post to a moderator
Support Apolyton, pre-order Civilization IV

AI is everything.

All the other new features are mere cosmetical by comparison. I'd settle for a Civ I rerelease with a killer AI if that's what it takes...



And MP is not an option for those of us with real life responsibilities. I cannot possibly coordinate tens of hours of free time with seven other people, nor am I interested in strategy games that don't require that amount of time.

Cmonkey is offline Cmonkey
Chieftain

Apr 2003
time: 05:35
  Old Post 21-08-2004 02:46
Edit/Delete Message Reply w/Quote
#20 Report this post to a moderator
Support Apolyton, buy GURPS/ Alpha Centauri

quote:
Originally posted by Max Sinister
If you think you're able to build a better AI than Firaxis, you can try it yourself with the Python engine.


Most likely, I will.

quote:
Originally posted by Max Sinister
BTW, I'm into AI myself and FSMs are NOT the non-plus-ultra of AI. That's because they're essentially nothing but scripts. Once you knew how they work you could try to find loopholes and win by that way.


If you know how to use them to take advantage of their strengths, you can easily avoid the "scripted" feel of the AI.

quote:
Originally posted by Max Sinister
Ah, and you will need more differences between player civ and non-player civ than a boolean. That's because the player will make his inputs with mouse & keyboard, while the AI had to do it different.


That was merely one way of storing the difference. It all depends on how the rest of the system is designed. If designed correctly that is the only information needed in the CIVILIZATION structure to show whether the player is an AI or human. Sometimes I think you people really can't comprehend English.

quote:
Originally posted by Trip
Soren has a masters in Comp Sci. I trust him to do whatever he needs to make a great AI, and I trust that he knows how to.


I dont.

-Edit - fixed formatting error.

Last edited by Cmonkey on 21-08-2004 at 04:28

Max Sinister is offline Max Sinister
Warlord

Nov 2003
time: 05:35
  Old Post 23-08-2004 19:10 Visit Max Sinister's homepage!
Edit/Delete Message Reply w/Quote
#21 Report this post to a moderator
Remove this text

quote:
Originally posted by Cmonkey
That was merely one way of storing the difference. It all depends on how the rest of the system is designed. If designed correctly that is the only information needed in the CIVILIZATION structure to show whether the player is an AI or human. Sometimes I think you people really can't comprehend English.


Well, as a matter of fact, English isn't my native language, but I thought it's good enough to understand the people here.
Maybe it's possible to program it that way, but I doubt it's the smartest way. I wouldn't do it that way.

punkbass2000 is offline punkbass2000
King
Waterloo, ON, Canada
Feb 2002
time: 00:35
  Old Post 23-08-2004 19:55
Edit/Delete Message Reply w/Quote
#22 Report this post to a moderator
Suffering from ads?

quote:
Originally posted by Cmonkey




Can you not read? Rule #1:

Design/code the game to be multiplayer to start.

Key words there DESIGN/CODE & START. If I'm not making the game from the start, how the hell am I supposed to fix what Firaxis screws up?


Well, that's a nice copout. 'I'm going to make lavish claims and then deny their possibility because it will be screwed up by other people first before I get a chance.'

Max Sinister is offline Max Sinister
Warlord

Nov 2003
time: 05:35
  Old Post 23-08-2004 22:15 Visit Max Sinister's homepage!
Edit/Delete Message Reply w/Quote
#23 Report this post to a moderator
Remove this text

And besides, why multiplayer first? If you only can play the game if every civ is played by a human, it will be difficult to play it actually...

Trip is offline Trip
Firaxis Games
Hunt Valley
Apr 2002
time: 00:35
  Old Post 23-08-2004 22:26 Visit Trip's homepage!
Edit/Delete Message Reply w/Quote
#24 Report this post to a moderator
Support Apolyton, buy Alpha Centauri

quote:
Originally posted by Cmonkey
I dont.

Well, if that's the case I don't see why you're waiting around for a game made by people who you lack confidence in their ability.

Cmonkey is offline Cmonkey
Chieftain

Apr 2003
time: 05:35
  Old Post 24-08-2004 05:34
Edit/Delete Message Reply w/Quote
#25 Report this post to a moderator
Avatar Enlargement: We've got the solution

quote:
Originally posted by punkbass2000
Well, that's a nice copout. 'I'm going to make lavish claims and then deny their possibility because it will be screwed up by other people first before I get a chance.'


It's not a copout, as I said previously...

quote:
Originally posted by Cmonkey
Most likely, I will.


Though, it all depends on how "open" the scripting language is as to whether I can attempt to do a FSM model in the manner I am thinking of. Most likely, I believe, it will not be possible. Even so, I'll almost certainly get into it and take it for a spin anyhow.

quote:
Originally posted by Max Sinister
And besides, why multiplayer first? If you only can play the game if every civ is played by a human, it will be difficult to play it actually...


The point of designing the game this way, is to learn how a human would play the game and design the State Machine to use the strategies developed by the human players. This is for the developer's benefit, because I'm almost certain that half the people, or more, who developed civ3, never played it.

quote:
Originally posted by Trip
Well, if that's the case I don't see why you're waiting around for a game made by people who you lack confidence in their ability.


I'm not waiting around for Civ4... in fact, I already know I'm not going to buy it.

Trip is offline Trip
Firaxis Games
Hunt Valley
Apr 2002
time: 00:35
  Old Post 28-08-2004 06:31 Visit Trip's homepage!
Edit/Delete Message Reply w/Quote
#26 Report this post to a moderator
Support Apolyton, pre-order Civilization IV

quote:
Originally posted by Cmonkey
I'm not waiting around for Civ4... in fact, I already know I'm not going to buy it.

Well, good for you.

But don't mind us while we're having fun.

  < Last Thread     Next Thread > Post New Thread     Post A Reply
All times are GMT. The time now is 05:35.
Apolyton Time is 00:35.
    top of page
Rate This Thread:
Forum Jump:
Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is ON
vB code is ON
Smilies are ON
[IMG] code is ON
 




Contact Us - Apolyton Civilization Site - Support Us!

Building a better Apolyton through better information. Click here and take our poll!
Non-US visitors, click here!

Powered by: vBulletin Version 2.0.3
Copyright ©2000, 2001, Jelsoft Enterprises Limited.

Page generated in 0.0602 seconds (92.06% PHP - 7.94% MySQL) with 30 queries
Page Loading Time:

Support Apolyton: Amazon USA | Amazon UK | Amazon DE | Amazon FR |
Support Apolyton and get FREE PLUS, Buy from Chips&Bits: Galactic Civilizations | Galactic Civilizations: Deluxe Edition | Call to Power 2 | Civilization: The Boardgame | GURPS/ Alpha Centauri | Alpha Centauri | Civilization IV | Civilization III: Complete |


Front Page | Civilization IV | Civilization III | Civilization II | Call to Power II | Alpha Centauri | Master of Orion III
Rise of Nations | Galactic Civilizations | Galactic Civilizations II | Misc
Alt.Civs | Civ I | C:CtP I | About | News | Directory | Apolyton Store | Forums | Chat | Columns | Interviews | Newsletter
Scenario League | CSC | Clash of Civs | Spanish Site | CtP Maps | Cradle of Civ | WesW's Ctp1/2 Site | Civ3 Haven

apolyton.net | apolyton.com | civilization2.net | civilization3.net | civilization4.net | civilizationiv.info | calltopower.net | galciv.net | galciv2.net | moo3.net