[Freeciv-Dev] Why client-side AI could be a Bad Thing
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
Hi there!
I finally had finished read archives of freeciv-dev for 1999/2000.
I have some new ideas, which i will post in another mail, and i saw
discussion about AIs.
It seems that evverybody agreed that AI should be client-side.
This is nice idea with many pluses, but it alsow has some drawbacks, and
some of them are quite significant, i think.
1) AI should cheat. Yes, it should. Unless someone create really clever
AI, it will have no chances without cheating wwith opponents. And i think
it is really hard implement cheating AI without overhead if it will be on
client-side, without access to server data.
2) Performance. If they will be client-side and communicate via network,
it will cause some unnecessery overhead. If it will be separate process,
it will cause overhead too. The only way to efficiently implement
client-side AI will be i thinkwith using threads, but i am not sure if it
will be then easy portable to platforms without native threads .
3)I have experience with newbies to freeciv and i see that they are
sometimes terrfied when they had to type civserver and manually create AI.
Half of them resign from game, saying it is too complicated, Imagine what
will happened if they had to create AIat client side?
4) Real-time AI. Hm. If u can make ai thinking in real time, it will be
cool, but i think it could be too difficult. Lets imagine AI is coutnig
which towns are safe. Situation has changedm it starts again. Situation
has changedm it starts again. Etc Etc. I am not sure if it will cause That
AI will be able to move only when all players finish move.
5) I don't know what about you, but i hate to wait for others players,
when i finished my turn. With client-side no-real time playing through
network AI it will last even longer. Timeouts for AIs? Bue..
6) Some of the reasons for moving ai to client side can be implemented
also on server-side AI. Different algorithms for different ai? Compare old
AI with new AI? No problem. sth like void *(algorithm*)(void) and void
set_ai_alg().
I understand of course that client-side AI will had many pluses : clear
code, no redundancy of some code etc. But i think important thing is
realise that it will have drawbacks.
A.D.Danilecki "Szopen"
--
Zyjemy w parszywych czasach i jedynym pocieszeniem jest to,
ze gdybysmy sie urodzili dwadziescia lat pozniej, zylibysmy w
jeszcze badziej parszywych
--------------------------------------------------
|
|