The Altera Centauri collection has been brought up to date by Darsnan. It comprises every decent scenario he's been able to find anywhere on the web, going back over 20 years.
25 themes/skins/styles are now available to members. Check the select drop-down at the bottom-left of each page.
Call To Power 2 Cradle 3+ mod in progress: https://apolyton.net/forum/other-games/call-to-power-2/ctp2-creation/9437883-making-cradle-3-fully-compatible-with-the-apolyton-edition
Very unfortunate. Brian is an excellent designer and added a considerable amount of intelligence and style to both SMAC and Gettysburg. But maybe he has a game he wants to do, and Firaxis won't have time to get to it? Or maybe he just got a really good offer? Or just doesn't like the hours? I doubt any answers will be forthcoming, unless Brian himself says something.
Firaxis will be left with an extremely young team. There's nothing wrong with this, I guess. But I'm afraid that it might take something away from the deeper aspects of CIV3. It will probably also result in a less sophisticated AI.
As I said, very unfortunate.
[This message has been edited by Vanguard (edited February 07, 2000).]
Vanguard: It will result in a LESS sophisticated ai-script? Is that at all possible? Maybe they could hire a lead designer that has atleast heard rumours about object oriented programming. (Almost all problems with the ai-scripts in SMAC could have been solved with an oo model for it. (Except that the scripts can't learn, but there would be vastly to much overhead for learning scripts.)
Ok, delays might get worse, but I don't think the quality in the code will go down. Maybe the fun of the games. (Neither Sid nor Brian were ever great programmers, they made fun games, that's about it. Too bad neither of em is likely to admit it.)
What about civ3? Will Brian still design it or are they changing the design teams completely?
------------------
No permanent enemies, no permanent friends.
'There is a greater darkness than the one we fight. It is the darkness of the soul that has lost its way. The war we fight is not against powers and principalities, it is against chaos and despair. Greater than the death of flesh is the death of hope, the death of dreams. Against this peril we can never surrender. The future is all around us, waiting, in moments of transition, to be born in moments of revelation. No one knows the shape of that future or where it will take us. We know only that it is always born in pain.'"
G'Kar - from Babylon 5 episode "Z'ha'dum"
Well maybe Civ II was great because new blood (Brian) was working on it. Now some new blood will be working on Civ III! I just want to know why! WHY BRIAN WHY!! Maybe there is some really cool soap operish story behind all this!
[This message has been edited by Pythagoras (edited February 08, 2000).]
"What can you say about a society that says that God is dead and Elvis is alive?" Irv Kupcinet
"It's easy to stop making mistakes. Just stop having ideas." Unknown
I do not have any kind of AI code for a game as complex as SMAC and I also do not have any learning-AI code around currently at all.
However, back in my CS student years (that was a looong time ago ), I did write some nice learning AI code in C (VC++ or even C++ for that matter didn't even exist yet...) for a 3D tic-tac-toe type game. The game is played on a 4x4x4 cube and 2 players place their stone on it one at a turn. Getting 4 of them in any 3D line wins the game. So it is a simple game and I had an extremely simple learning engine for it: the program stored the standings (eliminating duplications due to any symmetry in 3D) and then scored them according to final victory state. A standing would get the number of wins and loses it has led to. Then the program would choose the best scored standing it could reach from the current standing in each turn.
It was possible to store a standing in very small space (128 bits = 16 bytes) so the game was able to learn a lot of them...(and it could also use them in all 3D symmetry combinations). After about 50 games, the program kept beating me all the time...
This would be impossibly expensive (in terms of memory and search speed) to implement for SMAC, but some local patterns for attack/defense and terraforming could be learned from the player when they lead o victory. E.g. if the AI loses a base which was reasonably defended due to a smart human attack, then the AI could store the relative positions and types of units used for that manouver and use the same trick later...
You could use VC++ to program in C, if you really wanted to. Or you could use C legacy code with vcc. No doubt this is what is being suggested---- that Firaxis used code from Civ2 to program SMAC.
Personally I see no reason to believe that this is true. Certainly the games are similar, but this is just a function of following the game design, not the programming design. But I can't prove a negative. SMAC is certainly mainly object oriented however, whatever that indicates.
As for ai, I think it is almost certain that SMAC's scripting was done with a subset of Lisp. There are probably ai features (pathfinding, ie) that are done in C, but most of the strategic decision making is likely done by Lisp-like rules.
I could be wrong though--anybody have any better information?
[This message has been edited by Vanguard (edited February 08, 2000).]
First off it's a big shame to see BR leave, SMAC & Civ2 are my favourite versions of Civ & he was responsible for both. It would be really cool if he now went & contributed to the freeciv project (freeciv.org) in his spare time. Maybe we'll see a decent post-Civ Sid Meier game but I'm doubting it.
One the subject of AI;
OO modelling/programming will not result in a better AI. What will produce a better AI is lots of hard work trying different angles & playtesting them to death. You'll be suggesting the AI would have worked better if programmed in Java next!
Despite popular opinion it is actually very hard to develop a decent AI for games especially when they're as complex as SMAC. Perhaps the biggest problem here is that there are two distinct ways to play the game (builder or conqueror) and an AI that plays well for one will play very badly for the other & worse, neither will be any good coping with a combination of both. IMO this is where SMAC fell down it was fine for the builders but it couldn't fight a decent battle.
AI that learns tends to be bad idea as it's so damn hard to debug & is unpredictable (ref Game Developer 8/99). In fact one of the SMAC ai's weakest features is that it tries to learn & anticipate your actions. (ie. attacking with convention units for a 10+ turns then switching to psi).
Making an AI that can always beat you is no good where's the fun in always losing? What you need is an AI that is a challenging opponent for 100% of players; one that won't pummel a newbie into the ground, one that will have a veteran using every trick in the book just to stay level & one that is just as much fun for everyone else. This is a much harder task.
Well, I'm not sure about Gettysburg, but SMAC is clearly object oriented. It may not be the most extreme example of modular programming ever built, but it certainly has classes and single function code blocks.
In any event, I don't see how an object oriented coding would improve ai scripting, except inasmuch as it would improve the general code base. Smac's ai (like almost all game ai) is mainly rule based and there really are no class objects, as such, involved in it.
SMAC's ai deficiencies exist primarily because it is complex game and is therefore subject to "runaway strategy syndrome". I thought SMAC's ai was very good---the first ten games I played. But we human quickly learn what strategies work and which don't. We can also learn them from others on-line and put those tactics together with our own to make the "perfect strategy".
Rule based ai doesn't learn, so there is no "strategic dialogue". That is, the ai doesn't respond to your moves, as a human would, countering your "perfect strategy" with the "counter-perfect strategy". The ai just keeps following its rules.
So yes, I agree that the answer to the problem is an ai that learns. But there is still the Simple Matter of Programming It. This is easier said than done. If you have the solution (in nice clean VC++ code), please send it to me immediately. Please. The pointer based fuzzy logic ai engine I'm working on has thrown a rod and is spewing oil all over my debugger.
Is there any sort of AI competition out there to test different AI methods etc.? I imagine that there must be for chess. It would be interesting to see what a competition could do for more complex games like the Civ series. I saw a robot war on TV a while back. All these guys designed robots, which were thrown into an arena for sort of a demolition derby. Something like that for AI could be useful for AI development.
I think I could design a good game for humans, but just thinking about AI makes my head hurt.
He's got the Midas touch.
But he touched it too much!
Hey Goldmember, Hey Goldmember!
Sikander: If you are really interested I think you could find some opposition in the freeciv circles. (They have a civ ii clone broken up into a server and a client. A client side ai couldn't cheat at all, as it gets exactly the same info as the players at their clients. Some people have made client-side ai programs. If you want to compete with em, go ahead.
pris: In smac it is pretty obvious that several parts of the ai works on an individual unit level. Formers atleast behave as if they thought for themselves. Whereas there should be a terraform buyer in cities which placed orders for terraform improvements with the formers if the code was more oo oriented. (And an overall terraform planner for inter-city needs.)(Certainly this isn't the only way to do it. But it would rock the poor ai formers of ac atleast.) The communication between city and formers and city and military units suggest that there are serious deficiencies in the message passing if indeed an oo model has been used.
Btw, I actually like Java, I can test out my ideas in about 25% of the time it would take to do it in c++. Now, if I want a program to actually run the same day it starts I would have to switch to c++. (But with a working prototype in java I can focus on not getting the common c++ errors, like memory leaks etc.) I could just as well do it in smalltalk, but it doesn't sell as well. (Dunno about you americans, but here in europe right about every it company wants you to be able to code java...)
And I happily foresee two developments in the "ai" business for games: The use of small-scale learning algorithms, ala the one Zsozso suggested. And online databases where the local games upload their best patterns. (Where they are evaluated by first a computer, and then, likely, a human, and after eval they are put in a library from which the local games copy extra tricks. Adding to the ai after the release of the game is likely to be a trend, atleast with some companies.)
Ok, the smegheads in economics will probably continue to maintain that only substandard products are worthy of being put on the market. (Someone must be responsible for the abysmal stability of later EA releases.) And they will argue that there is no need to upgrade software once sold.
They will get their sorry asses kicked by on-line gaming, which requires a steady stream of up-dates to keep it fresh. (We're not there yet, but we're going there.)
Well, this topic has certainly gone astray. My fault. But I guess there are enough threads talking about BR's departure anyway. Might as well talk about Java.
Java is a nice idea for a language, but I just can't get to like the actual product itself. Garbage collection is great, and multi-platform use is invaluable. But even at its fastest, Java is still too slow to run anything but trivial applications.
Even if faster computers solve this problem, then there is still the problem of the fundamental ugliness of Java code. All Java programs have those huge lists of class function calls, all looking exactly alike. Reading Java code puts me to sleep after a few minutes.
Vanguard: C atleast keeps you thinking. *rotflmao*
I like neat and orderly. (Maybe that is why I micromanage everything in smac...)
Yep, it runs slow, that's for sure. But it's comparable to vb. (And considering the lower bug rate, might be better. But like vb, it should only be used for client side display, and maybe minimal work, on information gotten from a server. I would prefer to not see a civ game in it. (There is a freeciv port to java in the works though...))
Just get some third-party garbage collector to your favourite c++ compilator.
Comment