A Lesson for Matrixgames. ;)

Gamers can also use this forum to chat about any game related subject, news, rumours etc.

Moderator: maddog986

User avatar
Erik Rutins
Posts: 39759
Joined: Tue Mar 28, 2000 4:00 pm
Location: Vermont, USA
Contact:

RE: A Lesson for Matrixgames. ;)

Post by Erik Rutins »

Ravinhood,

That's no secret and there's nothing to fess up. Your earlier post made it seem as if all but one of our titles had bad AI and that one was only "decent". That's false and we happen to publish Spartan, which is apparently on your "all time great AI" list. We are not the exclusive or original publisher - that's Slitherine and that's clear from our forums, our game page and in this very thread. The fact remains that we sought out Slitherine to be able to add this to our line to make more wargamers aware of it as we felt it (and Gates of Troy) are great games. If you're going to discuss the games we publish, you have to include all of them - and yes, there were some that I'm not that proud of, but the vast majority are great titles.

Regards,

- Erik
Erik Rutins
CEO, Matrix Games LLC


Image

For official support, please use our Help Desk: http://www.matrixgames.com/helpdesk/

Freedom is not Free.
User avatar
ravinhood
Posts: 3829
Joined: Thu Oct 23, 2003 4:26 am

RE: A Lesson for Matrixgames. ;)

Post by ravinhood »

that I personally can't see the satisfaction in playing against the lump of metal that is a computer, however good or bad it is.

That's quite alright as a personal opinion. But, poll after poll after poll has shown, this is what people want a competant, competitive, challenging computer opponent, first and foremost.

It's not to say there aren't gamers out there who want to play against other gamers, it's just saying the high majority want that "lump of metal that is a computer" to be their most common opponent.

Thus, it's why I've never understood a more direct approach to creating the competant, competivie, challenging AI ENGINE and then licensing that engine for everyone else to use.

You think I wouldn't jump at the chanse to play RTW with Slitherines Spartan (strategic) AI or Mad Minutes competant, competitive and challenging (tactical) AI? I'd break my back getting to the store. lol

It just seems no one has broken the barrier and put great AI's on both sides of the game, both strategic and tactical. And it's certainly true that most just don't have very challeging or competitive or competant AI's at all. I have to agree HPS AI's just don't cut it. But, then again, I'm so experienced playing wargames, it's probably just me, I'm just too good for them. ;) (Yet, MM's AI stomps my butt and Spartan's AI will too if I make just a tiny mistake). ;)
WE/I WANT 1:1 or something even 1:2 death animations in the KOIOS PANZER COMMAND SERIES don't forget Erik! ;) and Floating Paratroopers We grew up with Minor, Marginal and Decisive victories why rock the boat with Marginal, Decisive and Legendary?


User avatar
ravinhood
Posts: 3829
Joined: Thu Oct 23, 2003 4:26 am

RE: A Lesson for Matrixgames. ;)

Post by ravinhood »

ORIGINAL: Erik Rutins

Ravinhood,

That's no secret and there's nothing to fess up. Your earlier post made it seem as if all but one of our titles had bad AI and that one was only "decent". That's false and we happen to publish Spartan, which is apparently on your "all time great AI" list. We are not the exclusive or original publisher - that's Slitherine and that's clear from our forums, our game page and in this very thread. The fact remains that we sought out Slitherine to be able to add this to our line to make more wargamers aware of it as we felt it (and Gates of Troy) are great games. If you're going to discuss the games we publish, you have to include all of them - and yes, there were some that I'm not that proud of, but the vast majority are great titles.

Regards,

- Erik

But, you see Erik it's not YOU the AI's have to apease. It's ME, the consumer. Or did you forget that? I pay your bills. ;) Apease ME! And I'm using that singularly, but, you know I mean every consumer out there.

And it's great that you saw Slitherine was a great game maker. But, you didn't answer my question, are you publishing "Legion Arena"? and "Legion II"? ;)

And by the same token while you are saying "The fact remains that we sought out Slitherine to be able to add this to our line to make more wargamers aware of it " you also wanted to make wargamers more aware of "yourselves" as well didn't you Erik? ;)
WE/I WANT 1:1 or something even 1:2 death animations in the KOIOS PANZER COMMAND SERIES don't forget Erik! ;) and Floating Paratroopers We grew up with Minor, Marginal and Decisive victories why rock the boat with Marginal, Decisive and Legendary?


User avatar
Captain Cruft
Posts: 3741
Joined: Wed Mar 17, 2004 12:49 pm
Location: England

RE: A Lesson for Matrixgames. ;)

Post by Captain Cruft »

ORIGINAL: Erik Rutins
ORIGINAL: Captain Cruft
Most wargame developers seem to be amateur and/or self-taught programmers and do not have the computer science background to even attempt to do the job properly. Not that there is anything wrong with that.

I can say that at least where our developers are concerned, this could hardly be further from the truth. Did you have any basis for this?

None beyond looking at the quality of some of the games. I am not lumping everyone in together but would not like to name names ...

The standard use of hard-coding numeric parameters and fixed size limits speaks for itself though. Not to mention unmodifiable user interfaces, usage of proprietary undocumented database formats, general lack of documentation, lack of APIs, lack of key bindings, lack of integration with the O/S environment etc etc etc. It may well be that many of the developers know better but why don't they do things properly? See my second point about incentive. Also, introduce another point about the target audience not knowing that they should expect any better.

Sorry to be critical but I do find it all a bit frustrating sometimes.
User avatar
sterckxe
Posts: 1897
Joined: Tue Mar 30, 2004 8:09 am
Location: Flanders
Contact:

RE: A Lesson for Matrixgames. ;)

Post by sterckxe »

ORIGINAL: Captain Cruft
The problem with most wargame "AIs" is that they're not, as far as I can tell. Generally you just have a bunch of code cobbled together to produce some hopefully relevant activity. Most wargame developers seem to be amateur and/or self-taught programmers and do not have the computer science background to even attempt to do the job properly. Not that there is anything wrong with that.

<boggle> - as every programmer can tell you : a computer science background is no guarantee - I've worked with code-wizzards without any degree and absolutely dreadfull coders with prestigious degrees. Computer programming is more an art than a science.
ORIGINAL: Captain Cruft
Even where the programmer(s) may have the background and skills necessary to attempt a real AI, it generally isn't going to happen for a consumer game. Reward < Effort required. This is a very small market with virtually no competition, where is the incentive?

To be the best ? to prove the world you can do it - you know, the thing that drives most good programmers.

Do yourself a favour and visit the Conquest of the Aegean forum and read a review or 2 of Highway to the Reich if you want to know what the best AI in the business looks like.

Greetz,

Eddy Sterckx
[computer science background & degree, 2 decades of coding experience and genuinly astounded as to what the COTA AI *can* do]
User avatar
Erik Rutins
Posts: 39759
Joined: Tue Mar 28, 2000 4:00 pm
Location: Vermont, USA
Contact:

RE: A Lesson for Matrixgames. ;)

Post by Erik Rutins »

ORIGINAL: ravinhood
But, you see Erik it's not YOU the AI's have to apease. It's ME, the consumer. Or did you forget that? I pay your bills. ;) Apease ME! And I'm using that singularly, but, you know I mean every consumer out there.

Right, I haven't forgotten that but you are not our only customer. The vast majority of our customers are praising the AI in many of our titles. I responded because you were making a statement I felt (and feedback from other customers indicated) to be incorrect.
And it's great that you saw Slitherine was a great game maker. But, you didn't answer my question, are you publishing "Legion Arena"? and "Legion II"? ;)

No, we are not. I believe that's public knowledge as well.
And by the same token while you are saying "The fact remains that we sought out Slitherine to be able to add this to our line to make more wargamers aware of it " you also wanted to make wargamers more aware of "yourselves" as well didn't you Erik? ;)

Um... do you think this is some kind of secret? Forgive me for being blunt, but your last two comments really force me to ask: What's your point? Yes, each title we publish raises awareness of us as well. It tends to work that way for most publishers. That doesn't change the fact that what I said was true, nor does it change the fact that those are great games and that was why we picked them up. There is a long list of games we've turned down that would also have raised awareness of Matrix. The main thing about our games is that every one is a game we enjoy playing and that we sought out for that reason, primarily. We listen to our customers but we also trust our instincts as life-long war and strategy gamers.

Regards,

- Erik
Erik Rutins
CEO, Matrix Games LLC


Image

For official support, please use our Help Desk: http://www.matrixgames.com/helpdesk/

Freedom is not Free.
User avatar
Erik Rutins
Posts: 39759
Joined: Tue Mar 28, 2000 4:00 pm
Location: Vermont, USA
Contact:

RE: A Lesson for Matrixgames. ;)

Post by Erik Rutins »

ORIGINAL: sterckxe
<boggle> - as every programmer can tell you : a computer science background is no guarantee - I've worked with code-wizzards without any degree and absolutely dreadfull coders with prestigious degrees. Computer programming is more an art than a science.

You're definitely right about that, Eddy.
[computer science background & degree, 2 decades of coding experience and genuinly astounded as to what the COTA AI *can* do]

Agreed on that.

Regards,

- Erik
Erik Rutins
CEO, Matrix Games LLC


Image

For official support, please use our Help Desk: http://www.matrixgames.com/helpdesk/

Freedom is not Free.
User avatar
Hertston
Posts: 3317
Joined: Sat Aug 17, 2002 3:45 pm
Location: Cornwall, UK

RE: A Lesson for Matrixgames. ;)

Post by Hertston »

ORIGINAL: Captain Cruft

What it boils down to is that I personally can't see the satisfaction in playing against the lump of metal that is a computer, however good or bad it is.


I can't see that at all. Sure, nobody wants to play against bad AI, but what's wrong with AI that is a genuinely challenging opponent? You can hardly argue the social side - PBEM is hardly the same as getting a few mates round for beer, pizza and ASL. And the AI is always there, always ready to play, has no timetabling problems and won't leave in the middle of a game.

AI is actually one of the things I find most interesting about the whole hobby. Not only is it a fascinating subject in a general context, but it has so much potential in games. Imagine a computer wargame that provides the same sort of challenge as a modern chess program? Sure, nobody has done it, and the necessary algorithms are both different and would be far more complex, but theoretically it is possible.

User avatar
Captain Cruft
Posts: 3741
Joined: Wed Mar 17, 2004 12:49 pm
Location: England

RE: A Lesson for Matrixgames. ;)

Post by Captain Cruft »

Yes I know, and you guys are in the majority. I just can't see it myself. It's the same reason I don't go around talking to chairs and tables (well not very often).

Best not to worry about it all really. I am far more concerned about the other stuff I mentioned to be honest, not that anyone ever responds to it.
User avatar
ravinhood
Posts: 3829
Joined: Thu Oct 23, 2003 4:26 am

RE: A Lesson for Matrixgames. ;)

Post by ravinhood »

That's no secret and there's nothing to fess up. Your earlier post made it seem as if all but one of our titles had bad AI and that one was only "decent". That's false

That is NOT FALSE that is my belief and a fact to me as a consumer. To sit there and say my own judgements are false is rather arrogant of you.

That's like I walk into a store and tell you the milk is sour I bought and you say it's not!! Just because you like the taste of sour milk.

It's also not very good PR to tell a consumer how they should think about your products.
WE/I WANT 1:1 or something even 1:2 death animations in the KOIOS PANZER COMMAND SERIES don't forget Erik! ;) and Floating Paratroopers We grew up with Minor, Marginal and Decisive victories why rock the boat with Marginal, Decisive and Legendary?


User avatar
Veldor
Posts: 1435
Joined: Sun Dec 29, 2002 9:32 am
Location: King's Landing

RE: A Lesson for Matrixgames. ;)

Post by Veldor »

ORIGINAL: sterckxe
<boggle> - as every programmer can tell you : a computer science background is no guarantee - I've worked with code-wizzards without any degree and absolutely dreadfull coders with prestigious degrees. Computer programming is more an art than a science.

This statement really extends to all areas of Information Technology/Computing. Partly this is due to the fact that technology changes so often that much of what you'd have learned in school in no longer valid (or at least less so). This is also worsened by the fact that many universities themselves are not able to keep up, so even a recent grad may be at a disadvantage.

Concepts and skills like producing and maintaining readable and modifiable code are perhaps more portable than other things, but even then the tools and interfaces change for how you input, edit, and debug code so in essence, the same statement still applies.
Also, even such staples as C++ can die. I have, for instance, decided to switch to C# (C Sharp).

Larger development teams have the advantage of allowing for specific focus or expertise of an individual. One or more persons just for the network components, One or more for the A.I. , etc. Smaller Dev Teams, or even individual programmers, have to be much more resourceful to make up for this.

And, oddly enough, readable code isn't really THAT important for wargaming projects because there are simply not enough coders, perhaps only one. Assuming the programmer can interpret his or her code (which I sometimes think is doubtful but some swear it does in fact all make sense to them)... Then the most important aspect is really the codes ability to be easily modified and/or debugged. Second is the ability of the program to log and or self-detect problems in its own logic. Perhaps the real problem is when you walk away from the code for awhile (due to game release, a new project or whatever) and then find yourself looking back at it now having to fix bugs and realizing.. Hmmm perhaps this wouldn't seem like such a daunting task had I actually spent a bit more time documenting my code and making it more readable, logical, and debugable.

Alright so no coder ever ACTUALLY says that to him/herself... But I think all (from the dreadful on up) could do a better job of it.

And, for the most part, these abilities come more from experience and/or resourcefulness than any kind of direct schooling.
User avatar
Veldor
Posts: 1435
Joined: Sun Dec 29, 2002 9:32 am
Location: King's Landing

RE: A Lesson for Matrixgames. ;)

Post by Veldor »

ORIGINAL: Hertston
And the AI is always there, always ready to play, has no timetabling problems and won't leave in the middle of a game.

Yes! And now you've hit on why ever single computer game ever made with any sort of multi-player capability sucks. [:D]

From Red Alert to Diplomacy to more traditional wargames this has been a long standing problem of mine.

Just when I get good at a game and start to win, the opponent (or one of the opponents) decides to drop out.

Why? Simple. Because its no fun to loose, and more importantly if they were playing against the A.I. and losing that hopelessly they'd probably have quit as well and just starting up a new game (That would be more fun as they'd have a chance of winning again).

Ladders, Forced Nicknames, all kinds of systems have been tried... But the only thing worse than a player dropping out of a game is a player who WANTS to drop out but can't. The game is ruined either way.

Just one of many many many reasons why people will always enjoy at least some interaction against a Computer Opponent.
Shannon V. OKeets
Posts: 22165
Joined: Wed May 18, 2005 11:51 pm
Location: Honolulu, Hawaii
Contact:

RE: A Lesson for Matrixgames. ;)

Post by Shannon V. OKeets »

that I personally can't see the satisfaction in playing against the lump of metal that is a computer, however good or bad it is.

Which reminds me of the quote (which I might have slightly incorrect): " 'Stone walls and iron bars do not a prison make.', but throw in steel doors, a connected series of watch towers, guards with submachine guns, patrolling German shepards, and a fine selection of concertina wire, and you'll have yourself a very nice one."

My point here is that the quality of the AI depends on the sum of its parts. If there are only two parts and they don't fit together very well, then the opponent truly is just a lump of metal. I feel this way about computers in general too. Steve Job's original plan to sell the Mac without a keyboard in the 1980's fits this description.

However, if you keep layering on good decision making capabilities, refine out the gross ineptitudes, and play test the sucker against people at a variety of skill levels, well then the AI opponent can be made to mimic a real person. The old test for AI is if sitting at a terminal you can tell whether it is a person or an AI responding to your typed queries.

I actually do not like the AI programs for chess because they have gone over to rely so heavily on simply looking ahead. With wargames that is rarely feasible because of all the probabilities, combinations, and permutations involved. The poor AIs rely on CPU speed (RTS games), cheating (increasing the materiel available to the AIO, using a different CRT, and/or seeing supposedly invisible units), and/or refusing to play both sides (because that requires both offensive and defensive abilties).

My own pet theory (no experience whatsoever to base this claim on) is that if you want to defeat RTS games, use a slower CPU - so the computer has fewer cycles to figure out what is going on.

Going back to the original quote at the top, there are a whole host of people I do not get any satisfaction playing against because of their personal attributes. My sensory system is easily offended, you see.
Steve

Perfection is an elusive goal.
Shannon V. OKeets
Posts: 22165
Joined: Wed May 18, 2005 11:51 pm
Location: Honolulu, Hawaii
Contact:

RE: A Lesson for Matrixgames. ;)

Post by Shannon V. OKeets »

ORIGINAL: ravinhood
Thus, it's why I've never understood a more direct approach to creating the competant, competivie, challenging AI ENGINE and then licensing that engine for everyone else to use.

It can be argued that that most impressive feature of the human brain is it ability to adapt to changing circumstances. Look at the wide variety of languages people speak in the world. When you ask that someone create a universal AI Engine, it is comparable to asking for someone to create a universal language, that encompasses all the other existing languages.

You can sit down with a rule book and learn a new war game after studying the map and pushing around the pieces. Playing it well might take a few tries, until you get a good understanding of the play mechanics and how things interact. Of course that will be faster if it is similar to something you have seen before. Nonetheless, you are learning at an extraordinary rate. Indeed, if you are not forced to learn something new to play a game well, you will be sadly disappointed with the game because it is just a copy of something you have played before.

Where you are headed with the concept of a universal AI Engine, is proposing that a computer program can be written that can learn to play wargames as well as people do. Or even more unlikely, that it can be written without any learning capability. It doesn't matter which side of that argument you take, the AI community has been stuggling since it inception in the 1960's (or possibly before) to do that with understanding written language and writing 'automatic' language translators. There is a ton of money available if anyone can do that. The reward:cost ratio is fantastic. Some of the brightest people in the AI community have been working on this non-stop for decades without appreciable success. Progress is being made, but it is incremental, not revolutionary. I would argue that finding the underlying concepts for playing wargames well is comparable in difficulty to doing that for human languages.

To sum up, if you think a universal AI Engine is achievable for war games, then you think it is possible to write code that mimics how well you play all the games you have every learned (or will ever learn). Money is not the problem; the problem is much larger than that.
Steve

Perfection is an elusive goal.
User avatar
Erik Rutins
Posts: 39759
Joined: Tue Mar 28, 2000 4:00 pm
Location: Vermont, USA
Contact:

RE: A Lesson for Matrixgames. ;)

Post by Erik Rutins »

Ravinhood,
ORIGINAL: ravinhood
That's no secret and there's nothing to fess up. Your earlier post made it seem as if all but one of our titles had bad AI and that one was only "decent". That's false

That is NOT FALSE that is my belief and a fact to me as a consumer. To sit there and say my own judgements are false is rather arrogant of you.

That's like I walk into a store and tell you the milk is sour I bought and you say it's not!! Just because you like the taste of sour milk.

It's also not very good PR to tell a consumer how they should think about your products.

I'm sorry I upset you, but frankly you got under my skin a bit. It's your opinion and you're right that as such, it can neither be said to be true or false. However, this isn't really a fresh milk/sour milk situation - we're discussing the quality of AI for our line of games. I don't know how many you've played, but I strongly disagreed with the statement you posted. As far as opinions go, there are a lot more that disagree with you than agree and that's the main thing I'm pointing out. Your original statement seemed to me to be voiced as if it were a fact.

I have no problem with opinions, but I don't want potential customers reading this to think that what you said was a fact rather than an opinion. My opinion, which is shared by many others, is that there are many games with much better than decent AI in our catalog. Anyway, I apologize if I came across as arrogant - that was not my intention. I was definitely being stubborn though. [;)]

Regards,

- Erik
Erik Rutins
CEO, Matrix Games LLC


Image

For official support, please use our Help Desk: http://www.matrixgames.com/helpdesk/

Freedom is not Free.
Shannon V. OKeets
Posts: 22165
Joined: Wed May 18, 2005 11:51 pm
Location: Honolulu, Hawaii
Contact:

RE: A Lesson for Matrixgames. ;)

Post by Shannon V. OKeets »

ORIGINAL: Captain Cruft
The standard use of hard-coding numeric parameters and fixed size limits speaks for itself though. Not to mention unmodifiable user interfaces, usage of proprietary undocumented database formats, general lack of documentation, lack of APIs, lack of key bindings, lack of integration with the O/S environment etc etc etc. It may well be that many of the developers know better but why don't they do things properly? See my second point about incentive. Also, introduce another point about the target audience not knowing that they should expect any better.

Sorry to be critical but I do find it all a bit frustrating sometimes.

So let me see if I have heard you right. A war game should provide:

(1) modifiable user interfaces,
(2) documented database formats,
(3) good documentation,
(4) APIs,
(5) key bindings,
(6) integration with the O/S environment,
(7) etc., etc.

I agree with 2 and 3, but not the others.

(1) The user interface should be good (intuitive, fast, have safety checks against mousing/typing mistakes, ...) and provide flexibility to accommodate the diversity of the needs and desires of the user community. It should not be a universal user interface designed so players can mess around modifying it to their heart's content. The idea is to hit the ball with the golf club, not retool the golf club. If we ever get around to playing tournaments with hundreds of thousands of dollars are at stake, then I will agree with you on this.

(2) Within limits. There is a desire to retain some proprietary information. Your $70 doesn't buy you the source code.

(3) Hey, I've been on this soapbox myself! Nice view from up here!

(4) Same argument as for #2 but made more forcefully by speaking louder.

(5) Same argument as #1 plus ... You can buy other software to modify your keyboard bindings. If this is a big deal for you, I recommend it.

(6) Oh yeah, here is a great idea. I am sorry for the sarcasm but I have been programming since the 1960's and the OS's come and go. Trying to figure out the inner workings of an OS (and a compiler too by the way) is a ton of work and a constantly moving target. You do want the game to run with the next release of the OS don't you? Or do you seriously expect the developer to go back and rewrite the code internals for all of the games you have purchased every time Microsoft releases a patch to its OS?

(7) Wouldn't you rather have the time and effort go into making games that simulate history in an interesting way - that let you experience some of the same problems that the histocal personages had? That is why I work on these things.
Steve

Perfection is an elusive goal.
User avatar
Veldor
Posts: 1435
Joined: Sun Dec 29, 2002 9:32 am
Location: King's Landing

RE: A Lesson for Matrixgames. ;)

Post by Veldor »

ORIGINAL: Shannon V. OKeets
To sum up, if you think a universal AI Engine is achievable for war games, then you think it is possible to write code that mimics how well you play all the games you have every learned (or will ever learn). Money is not the problem; the problem is much larger than that.

I didn't make the statement, but isn't your answer quite possibly a little too absolute? I've seen others ask the same questions and I don't think its meant that this mythical AI engine would simply plug-in as-is and unaltered. Truthfully I'm not sure that any type of gaming engine is ever that straightforward to use anyway.

I'd imagine such an A.I. engine to be more of a middleware application, for lack of a better term. Perhaps with an enhanced or even graphical scripting language.

Put another way, in a simpler form it could just be a set of reusable C++ or Java libraries and so forth.

The whole point of Object-Oriented languages is to reutilize code. Any programmer who has not made use of that ability is not much of a programmer correct? Surely there is some pieces of this that could be packaged together and enhanced by some of the most brilliant A.I. coders out there and then put together for other developers to use. No?

Likely, it would have its limits for variance from what its original intent was without further coding, but that’s already true of any "engine" out there. And if such work provided a better foundation and starting point for many wargame developers out there, then it would in fact be a very feasible undertaking.


Shannon V. OKeets
Posts: 22165
Joined: Wed May 18, 2005 11:51 pm
Location: Honolulu, Hawaii
Contact:

RE: A Lesson for Matrixgames. ;)

Post by Shannon V. OKeets »

ORIGINAL: Veldor
And, oddly enough, readable code isn't really THAT important for wargaming projects because there are simply not enough coders, perhaps only one. Assuming the programmer can interpret his or her code (which I sometimes think is doubtful but some swear it does in fact all make sense to them)... Then the most important aspect is really the codes ability to be easily modified and/or debugged. Second is the ability of the program to log and or self-detect problems in its own logic. Perhaps the real problem is when you walk away from the code for awhile (due to game release, a new project or whatever) and then find yourself looking back at it now having to fix bugs and realizing.. Hmmm perhaps this wouldn't seem like such a daunting task had I actually spent a bit more time documenting my code and making it more readable, logical, and debugable.

Alright so no coder ever ACTUALLY says that to him/herself... But I think all (from the dreadful on up) could do a better job of it.

And, for the most part, these abilities come more from experience and/or resourcefulness than any kind of direct schooling.

Gee, you must be brilliant, I agree with almost everything you said.

I actually write the documentation before the code. I write out the calling sequence (or whatever) as comments and perhaps a few stub ends. Once I have my head around what it is I am trying to do, how it is going to hang together, and how I am going to get it done, then I can start programming without worrying about rewrites to accommodate forgotten elements. [Or to be honest, fewer rewrites to accommodate forgotten elements.] I write my in-line comments for myself to read 6 months from now, when I have forgotten the particulars. I try to maintain good documentation on variables, structures, and calling sequences in separate plain text files for easy access. What I have found from mind-numbingly servere, tramatic experience is that if you can't write the comment, then you can't write the code. If you can write the comment, then do so - it only takes a minute.

When I come back to code that I have written 6 months ago, or a year, or longer, I find I have one of three emotional responses: (1) that's bloody obvious, (2) why that's pure genius!, or (3) who was the idiot who wrote that and how did he get possession of my body (is he still around in here somewhere)?
Steve

Perfection is an elusive goal.
Shannon V. OKeets
Posts: 22165
Joined: Wed May 18, 2005 11:51 pm
Location: Honolulu, Hawaii
Contact:

RE: A Lesson for Matrixgames. ;)

Post by Shannon V. OKeets »

ORIGINAL: Veldor
I'd imagine such an A.I. engine to be more of a middleware application, for lack of a better term. Perhaps with an enhanced or even graphical scripting language.

Put another way, in a simpler form it could just be a set of reusable C++ or Java libraries and so forth.

The whole point of Object-Oriented languages is to reutilize code. Any programmer who has not made use of that ability is not much of a programmer correct? Surely there is some pieces of this that could be packaged together and enhanced by some of the most brilliant A.I. coders out there and then put together for other developers to use. No?

Likely, it would have its limits for variance from what its original intent was without further coding, but that’s already true of any "engine" out there. And if such work provided a better foundation and starting point for many wargame developers out there, then it would in fact be a very feasible undertaking.

The reusable amount of code is very small. It really depends on the level of overlap between the 2 game designs (to restrict the discussion to just 2 games). Do they both uses hexagons? Do they both have level terrain (or gradations in elevations)? Do they match as IGOUGO or WEGO? How about stacking? ZOCs? Area based movement? Units that can fly? Unit visiblilty to the enemy? Supply lines? I could extend this list to include every rule that goes into war games. The real difficulty is not programming each aspect of the game design/simulation but all the interactions between them. And the interactions between the interactions. For example, are helicopters limited as to what level of terrain they can fly over during rain and what is the effectiveness of ground fire on them when they are forced to fly lower? When they are hit (damaged not destroyed) does their visibility at lower elevations change?

Programming the game's simulation elements is very hard, primarily because of the interactions. Programming the AI is hard for the same reason. The AI has to be very skilled at understanding the interaction between the game design elements. Change the design elements and the AI skill level drops drastically. The AI code is almost universally specific for the game design. Not very portable to other games - unless the second game is a close clone of the first. Which brings us around to why clones are so popular with developers.

AI's are not like databases because AIs are not very well understood. One of the claims of the AI community is that once things become well understood, they are no longer of interest to the AI community. AI gurus take credit for creating a lot of things that we use every day (e.g., operating systems, the Internet). Within this self-conceit, if it is called AI, then it isn't well enough understood to be written as packaged elements. Perhaps it is evolving towards that though. I don't track the AI world as closely as I did back in the 1980's.
Steve

Perfection is an elusive goal.
User avatar
Veldor
Posts: 1435
Joined: Sun Dec 29, 2002 9:32 am
Location: King's Landing

RE: A Lesson for Matrixgames. ;)

Post by Veldor »

ORIGINAL: Shannon V. OKeets
.....It really depends on the level of overlap between the 2 game designs (to restrict the discussion to just 2 games). Do they both uses hexagons? Do they both have level terrain (or gradations in elevations)? Do they match as IGOUGO or WEGO? How about stacking? ZOCs? Area based movement? Units that can fly? Unit visiblilty to the enemy? Supply lines? I could extend this list to include every rule that goes into war games. The real difficulty is not programming each aspect of the game design/simulation but all the interactions between them. And the interactions between the interactions. For example, are helicopters limited as to what level of terrain they can fly over during rain and what is the effectiveness of ground fire on them when they are forced to fly lower? When they are hit (damaged not destroyed) does their visibility at lower elevations change? .....

Yes, it could be akin in effort to developing DirectDraw, Direct3D, DirectInput, DirectPlay, etc. A "DirectAI" if you will. Yes I realize that other DirectX components are more specifically related to addressing a particular hardware element, but other middleware examples exist in the business world that are no less narrow in scope.

Also I'm sure it would be more than acceptable for such a system to incorporate certain assumptions and limitations more in-line with what defines a "traditional wargame" (that being the most common type a potential developer would be looking to create in the first place). So that means hexes and perhaps an IGOUGO architecture etc.

Easy no, Possible yes.

On a seperate, but somewhat related note, look whats been done with programs like VASSAL. In the past some might have said... "How could one program accomodate for the interface and graphical requirements for everything from card games to multi-board monster games"? Yet somehow VASSAL does just that. It covers 80%-100% of whats needed in those areas and allows you to alter/add the rest with extendable coding etc.
Post Reply

Return to “General Discussion”