From: Lawrence J. L. <lj...@ec...> - 2003-01-19 16:01:54
|
Jan; Glad you are interested. In response to some of your questions.... > May I ask if it is for military research or general behavior research? The research is for the military. The issue is creating realistic behavior in synthetic forces. An excellent overview of the problems and issues can be found in "Modeling Human and Organizational Behavior: Applications to Military Simulations", by R. W Pew and A. S. Mavor. This is published by the National Academy Press and the full text is available online at: http://books.nap.edu/books/0309060966/html/index.html Chapter 2 has an excellent introduction to the issues, including a scenario based on platoon-level operations. The specific problem I want to focus on is realistic behavior by commanders. For example, it would not address the "fine grain" behavior that would lead to realistic visual images of infantry company moving through a village or woods, stopping to shoot, or take cover. It would, however, lead to realistic tactical behavior by the platoon and company commanders as to where to position squads, when to attack or retreat, etc. One aspect of all this that is worth noting, especially in the context of a game focused on historically accurate recreation (like CIVIL) is the full meaning of the phrase "realistic tactical behavior". This includes "realism" at 3 levels: 1) something a sane and rational person would be expected to do under the same circumstances, 2) something consistent with the doctrine, training, and tactics of the force being simulated (e.g., Soviet-style armored tactics are not the same as US tactics), and 3) something a specific individual would be expected to do under the same circumstances. The last item deals with the issue of "behavior modifiers". Partially the goal is to be able to have synthetic commanders that show some variation in individual "personality" (e.g., aggressiveness, willingness to inflict civilian casualties, etc.). The long-term goal is to be able to model the personality of a specific opponent and then simulate what they might do in a given situation. IF (and that is a big IF) this works, you might be able to re-fight Gettysburg with Grant in charge of the Union forces. For that matter, why not pit Napoleon against Lee? I should point out a couple of things up-front. One is that this is *proposed* research and it may get turned down (I won't know for sure for several months). On the other hand, I am for now assuming it will get funded and am trying to get some preliminary work out of the way in terms of setting up a test environment. The second point is that this is "research" and there is every possibility that it will fail to produce useful code or algorithms. Hopefully of course it will get funded and will work. But ya never know till you try :) > I think Civil could be a pretty good testbed for your application. Right > not it focuses on the American Civil War, but once we reach a stable > version 1.0 I'd like to adapt it to simulate the Napoleonic battles. > That's mainly an issue of adapting the weapons, some strings and > optionally some graphics as well as build the new scenarios. > From my point of view, there is really no significant difference between the two. Ultimately I have to address all types of conflicts and weapons from small unit urban ops to major regional conflicts using chem-bio, space-based directed energy weapons, and info warfare. The ultimate target environment is the Joint Synthetic Battlefield (JSB) and simulation environments like MODSAF/OneSAF (see http://www.onesaf.org/onesaf.html). For a variety of reasons, however, I want to start out using something smaller, simpler, and easier to control and work with (e.g., CIVIL?). > I'm interested in what you're doing and would like to do with Civil. I > also think that for an AI client Civil has pretty good facilities to > access all the needed internal info. > > Good luck with your project and let us know what you decide on! If you > have more questions don't hesitate to ask us. OK, since you have taken the bait (so to speak) here are some of the issues and questions... 1) Civil is written in python. We work mostly in C/C++ and Java and have no experience in Python (not because we think there is something wrong with it but just because there is a limit to how many languages you can learn). For a number of reasons, we want to stick to this. Hence one question is how hard it is to link Java and Python. I have heard about "Jython" but don't know anything other then it has something to do with providing python-like capabilities in a Java context). 2) The key issue will be the ability of the Synthetic Commander (call it the "SynC" for short (which is a pun on CinC which stands for Commander in Chief)) to get the info it needs via your API. The SynC needs info about anything relevant to tactics, including terrain, infrastructure (e.g. roads, bridges) *presumed* location of both friendly and enemy forces, and their strengths. The reason I say "presumed" is that I need to account for the "fog of war". Not only does the commander not always know the location of the enemy but sometimes he is in the dark about some of his subordinates (e.g., Lee wondering where the hell Stuart was at Gettysburg). The gods-eye view of the board that most RTS games offer is a no-no if you want realistic behavior by synthetic actors. This leads to the next question: 3) is Civil 2-player or multiplayer? The only description I have is that it is 2-player and that one of these players acts as the server. That makes me wonder what prevents it from being multi-player. Can one person be Lee, another Longstreet, another Pickett, etc.? I can do the basic work I need to do in a 2-player context but eventually I need to get to an environment with a chain of command with SynCs at every level from commanding general down to company & platoon level.Note that I do not expect CIVIL to provide the communcations channel the SynCs use to pass orders and reports back and forth. Last is a mundane question: where can I get a copy of "python-xml"? The install notes for Civil says it is needed but I can not find anything by that name (do you mean "PyXML"?) Thanks Larry |