Issues with your account? Bug us in the Discord!

B5:ITF Dynamic Campaign

2456711

Comments

  • JackNJackN <font color=#99FF99>Lightwave Alien</font>
    Inheritance for Alien controller

    Alien -> Tequila -> Margarita Mix -> Ice -> Blender -> Glass (AKA: Margarita)

    [img]http://216.15.145.59/mainforums/biggrin.gif[/img]
  • BigglesBiggles <font color=#AAFFAA>The Man Without a Face</font>
    An artists version of inheritance, huh? [img]http://216.15.145.59/mainforums/biggrin.gif[/img]

    ------------------
    [b][url="http://www.minbari.co.uk/log12.2263/"]Required reading[/url][/b]
    Never eat anything bigger than your own head.
    The Balance provides. The Balance protects.

    "Nonono...Is not [i]Great[/i] Machine. Is...[i]Not[/i]-so-Great Machine. It make good snow cone though." - Zathras
  • big B.: Well, it's just the usual C++ inheritance reasons, nothing mysterious. The controller is really just a base-class with some common data and the definition of the interface (some of it pure abstract) used by all controllers.

    The AI controller starts to add some of the shared functionality and interface the AI needs (that it has a current strategy, and the interface methods to select a strategy from a list, etc.)

    The fighter controller does the same thing (extend the AI controller) for fighters (as opposed to a cap-ship controller which has multiple strategies; one for the ship and spinal-mount/primary weapons, one for the squadrons under its command, and one for the turrets).

    The exact reasons for the specific child/parent class divisions are lost to the sands of time. Sometimes it is done to group the common code or interface before a class division, sometimes to group complexity, etc. Although the programming languages are well defined, the [i]design[/i] of software, class hierarchies, and the architecture is still very much an artform.

    Every object in the game, once it can do something has a controller. For example, an asteroid just tumbles through space so it doesn't need a controller, whereas a jumpgate doesn't "think" or "react" other than to listen for the command to cycle and then either open a vortex or send a message back saying "I can't open, I'm recharging". The jumpgate controller doesn't need to do even the most fundamental stuff of an AI controller so it would inherit from controller, not AI controller.

    Some of the base classes (controller, AI controller, etc.) are pure abstract; meaning that you can't obstantiate a ship or other space body with an actual instance of AI controller, but it will have to have some sore of controller attached which [i]is a child of[/i] AI controller (which is a child of controller).

    There you have it, clear as mud. [img]http://216.15.145.59/mainforums/vsml.gif[/img] I'm afraid that to give much more specifics, I would need to you get Sierra/Havas/Vivendi to send me a copy of the source so I could look through it to refresh my memory... [img]http://216.15.145.59/mainforums/frown.gif[/img]

    I hope that helped.... [img]http://216.15.145.59/mainforums/shad.gif[/img]
  • BigglesBiggles <font color=#AAFFAA>The Man Without a Face</font>
    That is quite a big help, actually. Thanks. [img]http://216.15.145.59/mainforums/smile.gif[/img]
    The writeup I asked for for my friend (in case you've forgotten) was on the actual AI mechanism itself, ie was it neural network or scripted, etc. Just for when you get time.

    ------------------
    [b][url="http://www.minbari.co.uk/log12.2263/"]Required reading[/url][/b]
    Never eat anything bigger than your own head.
    The Balance provides. The Balance protects.

    "Nonono...Is not [i]Great[/i] Machine. Is...[i]Not[/i]-so-Great Machine. It make good snow cone though." - Zathras

    [This message has been edited by Biggles (edited 09-30-2001).]
  • bobobobo (A monkey)
    [quote]Originally posted by John Walker:
    You have read [i]Design Patterns[/i], right? [img]http://216.15.145.59/mainforums/wink.gif[/img][/quote]

    Gang of Four, on my reading list for Christmas break.

    What you have described has been [i]immensely[/i] helpful. It makes me want to see the object layout of the entire B5:ITF game. It must have been a thing of beauty.

    The more I think about the intellect and [i]planning[/i] that went into this game, the angrier I get that it was cancelled.

    Grrr....

    On an aside, are these boards being archived in any way? Some of this information is very important for historical reasons, and for us game designer wannabe's.

    Oh, and John, when and where will you be presenting your next paper on AI? [img]http://216.15.145.59/mainforums/wink.gif[/img]

    ------------------
    bobo
    <*>
    B5:ITF
  • BigglesBiggles <font color=#AAFFAA>The Man Without a Face</font>
    To me, when he writes it. [img]http://216.15.145.59/mainforums/smile.gif[/img]

    The boards are not being archived, I suggest you do what I do and save this page every time John replies.

    ------------------
    [b][url="http://www.minbari.co.uk/log12.2263/"]Required reading[/url][/b]
    Never eat anything bigger than your own head.
    The Balance provides. The Balance protects.

    "Nonono...Is not [i]Great[/i] Machine. Is...[i]Not[/i]-so-Great Machine. It make good snow cone though." - Zathras
  • bobo: [i]Patterns[/i] is a tough read. The first time I read it, I didn't "get it". The second time, 6 months later, more of it "clicked". Now, I'll read some bit here and there in the book about this pattern or that and WHAM! That's when you finally [url="http://www.tuxedo.org/~esr/jargon/html/entry/grok.html"]grok[/url] it.

    Working with the code design, object hierarchy, and elegance of the [i]vision[/i] was one of the irreplacable experiences of the project. I learned [i]so much[/i] from them I can't describe. I was only there 13 months, and it still seems like every day when I am banging away with one of my coworkers on some code problem I hear myself saying "well, on B5 we blah blah blah and it worked great".

    I do not, however, miss the "most likely kill you in the morning" stuff. Good riddance.

    No papers for a while, I am afraid. My AI (PI) knowledge is getting dated, all my current work is graphics, architecture, and sim; and not all that original; just customized to the purpose at hand. Also, everything I'm doing now is owned by "the man" lock, stock, and barrel; and he absolutely does not want us to "share" in either an academic or collaborative spirit.

    Yeah, that attitude turns my stomach as well.

    ... but thanks for asking. It gives me a lump in my throat.


    BigB: Yes, I need to write it up. What is the best (i.e. low labor) way to make box diagrams? (boxes with text connected with lines) It is how I would outline the AI hierarchy. Does anyone have any software suggestions other than doing it manually in photoshop or something?

    The short version for the fighter (as a small down payment) is here. The fighter controller selected a strategy, which selected 'tasks' which selected 'behaviors' which is where most of the work was done to fight and/or fly the ship. The mechanism is that strategies and controllers used finite state machines (FSMs) with probabilistic state transitions or Fuzzy State Machines (FuSMs) to select strategies and tasks based upon the current order (goal) and emotional state. The task(s) were pushed onto the 'task stack' which was pretty much just a "first in, first out" stack (aka. a FIFO, or queue). The behavior (selected by the task) used modified steering behaviors (Craig Reynolds is my hero) to combine competing goals (target pursuit, collision avoidance, etc.); where the resultant "steering vector" was fed into a feedback controller (potential difference, or 'PD') to generate the input into the helm.

    This "strategy, task, behavior" arrangement was used everywhere; not just fighters. Remember; most every class was inherited from parent objects like the controller arrangement I described above. Does a squadron leader need a 'helm'? No, but it does need a way to send orders which is just another "effector" like a stick or turret control. The AI receives input and generates output. The idea is simple; the devil (daemons?) is in the details...

    There. [img]http://216.15.145.59/mainforums/shad.gif[/img] The AI in a nutshell. [img]http://216.15.145.59/mainforums/wink.gif[/img]

    So, to answer the question: no neural nets. Everything was hand-coded, human understandable code. That doesn't mean that some of the tricks I used weren't imitating things I saw when playing with ANNs, just that there wasn't a GA or backprop training or anything like that.

    Saying 'no scripts' is a tougher call since that can mean many things...
    There were scripted behaviors; not putting the ship on rails or anything, but stuff like "go inertial, slew vertical, spin around, take a shot, end." I don't know if you would call input parameters to the AI 'scripts', but those were loaded at runtime as well.

    Yes, I owe more detail. Someday I'll get some time to catch up on all the things I owe people since the arrival of the jedi...
  • BigglesBiggles <font color=#AAFFAA>The Man Without a Face</font>
    That's pretty good for now.
    It sounds like a logical way of doing it. Breaking down aims into smaller tasks to accomplish the goal, which are broken down into smaller tasks, and so on until you reach the point of "Turn left 55 degrees". That's actually how we wrote the AI for our robot in a project at Uni we are just finishing up now.
    There is much more I want to add here, but can't right now due to writing the report for the aforementioned project (10,000 words and 43 pages so far, without appendices!). Back to work...

    ------------------
    [b][url="http://www.minbari.co.uk/log12.2263/"]Required reading[/url][/b]
    Never eat anything bigger than your own head.
    The Balance provides. The Balance protects.

    "Nonono...Is not [i]Great[/i] Machine. Is...[i]Not[/i]-so-Great Machine. It make good snow cone though." - Zathras
  • bobobobo (A monkey)
    Jack:[i]Patterns[/i]Yeah, I've heard its dry, but I've seen it referenced so much that I'll finally bite the bullet and read it (if I'm not reading JRRT:LOTR again [img]http://216.15.145.59/mainforums/biggrin.gif[/img]).

    Thanks for all the insight you've provided. You're helping to remove some of the mystery behind the magic, which to me, makes it all the more magical!

    Biggles: Good luck @ uni. Enjoy these times, for once you start working for a living, the satisfaction level will drop off. There's something about working on a task just for the sake of the task, which I guess explains why the developers are still lurking around, and why there are so many mods being worked on.

    ------------------
    bobo
    <*>
    B5:ITF

    [This message has been edited by bobo (edited 10-10-2001).]
  • Note the topic: [url="http://www.tgu.org.uk/Forum/ubb/Forum46/HTML/000082.html"]http://www.tgu.org.uk/Forum/ubb/Forum46/HTML/000082.html[/url]

    ------------------
    [b]whitestar90: [/b]"it would give the computer a heartattack just looking at it" -
    [b]Sanfam: [/b]"And Drazi didn't like it one bit.-
    [b]Mr.Bungle: [/b][i]"So that's where the forum went..."[/i]-
    ---
    [b][i]ahhh, the good old days of HTML.[/i][/b]
  • Heh. [img]http://216.15.145.59/mainforums/shyshad.gif[/img]
  • BigglesBiggles <font color=#AAFFAA>The Man Without a Face</font>
    They sound against it.

    ------------------
    [b][url="http://www.minbari.co.uk/log12.2263/"]Required reading[/url][/b]
    Never eat anything bigger than your own head.
    The Balance provides. The Balance protects.

    "Nonono...Is not [i]Great[/i] Machine. Is...[i]Not[/i]-so-Great Machine. It make good snow cone though." - Zathras
  • I'm one of those people who, every so often, gets fed up with a game, or the mission, and decides to shoot all friendlies in sight (and go after friendly bases, if I'm not already dead because annoying mission designers make this impossible or the friendlies invulnerable). How would this fit into the dynamic campaign? Could I lead my battle group to destroy the EA? Would the AI let me pick off one friendly after another without any reaction at all? Or would I be hunted down? If I attacked friendlies in the middle of a battle without having taken one shot at hostiles, would the hostiles cut me some slack and let me join them?
  • RandyRandy Master Storyteller
    As the game was designed there was a differentiation between [i]un-targeted[/i] (and therefore thought to be accidental) friendly fire, and [i]targeted [/i](and therefore thought to be on purpose) friendly fire. Targeted friendly fire would cause the bias settings to be altered so that you and your forces would be considered enemy by all friendly forces. It is doubtful that you could last long. Every ally, everywhere, would attack you. There was some talk about the possibility that enemies would stop targeting you and perhaps even come to your aid against allies, but I don’t know if this was going to be implemented. If it had been, then you would essentially have joined the enemy. There would, in this case however, not be any more missions or messages coming from the EA. So you would be outside of the story game at that point, and simply “in the sim”. Untargeted friendly fired, if it happened often enough, would cause a court martial.
  • Feature creep is a trap. I hope IFH can avoid it.

    My advice (milod), for what little it is worth, is to stick to your original designs and "ship it". Dynamic campaigns sound like an excellent feature for v2.0...

    Not to in any way discourage; looking for a way to do something that isn't done yet isn't feature creep. (but beware the curse!)

    IFH Downloads: Personally, I have been staying away from the demos; not due to lack of interest, oh no! Rather because I want to see the finished product fresh. The screen shots look awesome.

    I can't say how much I admire people who are able to take on big projects like this on their own time.

    [This message has been edited by John Walker (edited 10-12-2001).]
  • re: fragging friendlies

    I don't think that the idea of "switching sides" was something that would ever have been implmented. Deciding between accidental collateral damage and open hostility was going to be hard enough.

    Think about it: if a pilot flipped out, would every enemy issue an all points bulletin that "Fighter X is now on our side, don't shoot them. They have obviously switched to our side and can be forever relied upon and trusted." You already are a traitor to you [i]own[/i] side... how reliable can you be?

    The enemy AIs would, however, be amused... (kidding) [img]http://216.15.145.59/mainforums/shyshad.gif[/img]
  • Maybe you could make/could have made it a cheat code or something. Having invincible/invisible/all-powerful ships makes as much sense in a story as "Don't shoot fighter x, It is now our ally"
  • [quote]Originally posted by John Walker:
    [b]Feature creep is a trap. I hope IFH can avoid it. My advice (milod), for what little it is worth, is to stick to your original designs and "ship it". Dynamic campaigns sound like an excellent feature for v2.0...[/b][/quote]

    Yeah. Actually, the dynamic campaign concept has been in Starshatter pretty much from the beginning. Very early on in the design stage, I decided to create a space sim that had the same kind of replayable campaign engine that I saw in F22:TAW and Falcon 4.0. It struck me as something that had never been attempted before (present company excepted). A military space simulation with missions generated on the fly, according to the logic of a real military campaign with definite objectives and win/loss conditions. Not the meaningless randomly generated missions of Privateer or the nonsensical open-endedness of BC3K, but a comprehensive, focused, and purposeful simulation of space combat. All done in a variety of political settings from cold war to a full-on interstellar war for survival.

    I put together the first proof of concept code back in late 1998 as a standalone campaign simulation. It's taken me almost three years to build a rich-enough combat simulation to support the campaign logic. So now I am re-implementing that old POC code in the context of the main simulation engine.

    Here's where I am right now: I mentioned earlier that the campaign engine maintains a persistent order of battle for each side in the conflict. This is a tree of CombatGroup objects that goes like this:

    [code]
    Force
    Star Fleet
    Carrier Group (carrier, destroyers, etc.)
    Fighter Squadron (20x fighter)
    Attack Squadron (20x fighter)
    Destroyer Squadron (4x destroyer)
    [/code]

    and so on (and on and on). Each group is in a given location and has a certain strategic point value at any given time. The idea is to rely on natural military organizational structures to mass firepower for mutual defense and force projection.

    The campaign algorithms then go to work on the order of battle trees (one per side) like this:

    [b]1. Strategic Planning[/b]
    Builds two lists: 1) a target list of enemy assets that we want to blow up, prioritized by strategic value; 2) a defense list of friendly assets that we want to keep alive, also prioritized by strategic value. The strategic planner then organizes these lists by CombatZone. (A combat zone is an area within which a combat group can operate effectively. Usually the orbital area around a planet, plus the surface of the planet.) Finally, the strategic planner looks at the target and defense lists for each zone and prepares a need list - sort of a shopping list of combat groups. (e.g. Sector 1 needs a carrier group and a destroyer squadron, Sector 2 needs a battle group and two fighter squadrons, etc.).

    [b]2. Zone Allocation[/b]
    Based on the needs list produced in the first step, the zone algorithm assigns each movable military group to a zone. (e.g. Put the "Titan" carrier group in Sector 1 along with the "Spectre" destroyer squadron.)

    [b]3. Combat Assignment[/b]
    Now that all the forces have been localized to a specific zone, look at the needs in each zone and assign specific combat groups to take care of them. Basically, this means looking at the target list for the zone and picking the best friendly assets to attack as many of the targets as can be managed.

    [b]4. Mission Generation[/b]
    For each combat assignment, build a mission. Define nav points, select ordnance loadouts, pick a start time, etc. All the stuff that is needed to create a mission briefing that the player could read (or the orders for an AI pilot to carry out if the player does not choose to fly this mission).

    [b]5. Statistical Simulation[/b]
    The player will choose and fly one of the missions generated above. All the others will be statistically simulated by the campaign engine to determine the score for the mission. The simulated missions all add up to the running total score for each side. This helps determine the victory conditions for each side.

    I'm almost done with step 3 and about to tackle the big one - mission generation. Wish me luck!

    ------------------
    --milo
    [url="http://www.starshatter.com"]http://www.starshatter.com[/url]
  • Every time I go to the Starshatter web site, but eyes still bug out at the scope of your project. (4 different flight models, etc.) Wow. [img]http://216.15.145.59/mainforums/eek.gif[/img]

    About the time I start thinking "I think he might be in too deep", I see a post like the above. So, my above advice doesn't really apply (and I keep confusing who is on what project when I am blathering on here in the forum [img]http://216.15.145.59/mainforums/redface.gif[/img] ). So, if what is here helps or there is some little gem you can use, great!

    You have my wishes for 'good luck', but I don't think luck has much to do with it. Your designs look great and, more importantly, radiate careful consideration and thought.


    Now, lets see if I can remember how this was going to work in ItF. (Biggles: are you listening? [img]http://216.15.145.59/mainforums/wink.gif[/img] ) Okay: remember that this is from 2-3 years ago, so my naming is a bit rusty...

    ItF was organized into these groups:

    Faction (e.g. EA, ISA, etc.)

    Fleet
    Battle Group
    Captain

    Squadron [b]CapShip[/b]
    Formation
    [b]Fighter[/b]

    They are in two groups of three:

    group membership
    group organizer
    action agent (physical)

    The group membership agent was responsible for prioritizing the multple goals given to groups and placing ships into the sub-groups. That is all it did: move ships between groups and give orders to the group organizer.

    The group organizer coordinated its individual members in the context of its goal, but was not able to change its membership. (although it could 'report' to the group membership agent that it was outgunned, etc. which would trigger a force division reevaluation from the group membership agent).

    The action agent was the fighter or cap ship itself. The physical entity that flew around and did things the player could "see".

    Note that the group membership & group organizer agents were not part of any particular ship: they were non-physical things which were not exposed to combat. They were, however, tied to a particular set of parameters which corresponded to a specific ship where the "AI-person who is their commander is at".

    Why the distinction? Imagine that your squadron leader is destroyed. Internally to the code, rather than having to reorganize the chain of command, designate a new ship as the target of reports or source of orders, etc., with this design the group AI just loads a new set of bais constants for the new commander 'personality' and nothing else is affected.

    Note how the groups of three repeat. This allowed some nice code reuse (which would have been later since the upper triad was just a shell when the project was cancelled).

    Granted, the Captain AI was going to be (cough) [i]fun[/i] to deal with, since it is both the AI for the cap-ship itself, and the commander of 1 or more squadrons.
    I think it was like this: The CapShip was treated like a special squadron. Thus the Captain had it's "special" cap ship squadron and the the normal fighter squadrons. Internally, the CapShip had a lot going on between it's primary weapons, navigation, turrets, jump engines, etc. Yep, that was going to me easy. Not. [img]http://216.15.145.59/mainforums/shyshad.gif[/img]

    The split between the squadron (group manager) and formation (group organizer) came about because we were having a hard time ironing out all the details of what a squadron could and could not do when trying to execute multiple goals (ex: defend the freighter and destroy the raiders). When we started talking about the squadron "splitting up" and doing two (or more) things at once, it became obvious that we needed another layer to compartmentalize the two very different tasks: deciding who should do what and then executing the what. Remember when I was talking about "encapsulating complexity"? This is a perfect example.

    I can remember when the lightbulb came on, but someone noticed the parallel between the sqadron/fighter relationship and the fleet/cap-ship relationship. The reuse of the basic idea was obvious at that point (like being smacked with a 2x4).


    Argh. I came into to work early to get some stuff done and what do I do? I write this... [img]http://216.15.145.59/mainforums/frown.gif[/img] Oh well, this is more important anyway. [img]http://216.15.145.59/mainforums/wink.gif[/img]


    [This message has been edited by John Walker (edited 10-12-2001).]
  • bobobobo (A monkey)
    Milod, John:
    Ok, this may be a stupid question, but based on your explanations of command structure, how long were both of you in military service? You seem to have a pretty good feel for this, at least from a civies perspective.

    ------------------
    bobo
    <*>
    B5:ITF
  • [quote]Originally posted by bobo:
    [b]Milod, John:
    Ok, this may be a stupid question, but based on your explanations of command structure, how long were both of you in military service? You seem to have a pretty good feel for this, at least from a civies perspective.[/b][/quote]

    Can't speak for John, but I've never served. But then, neither did jms and [i]he[/i] never had any trouble writing about this stuff in a convincing way. It's called research. If you are interested in this sort of thing, try:

    Fighter Combat by Shaw
    Fleet Tactics by Hughes (I think there's a 2nd ed. out)
    The Fast Carriers by Reynolds (not as good)
    Falcon 4.0 Player Manual by Hasbro



    ------------------
    --milo
    [url="http://www.starshatter.com"]http://www.starshatter.com[/url]
  • RandyRandy Master Storyteller
    I was in the service active four years, inactive two years. But that only helped with keeping dialogue, especially radio communications, accurate. We got the hierarchical structure: pilot, squad leader, captain of a capital ship, group commander, fleet command from Joe's material. His military hierarchy is actually more complicated then that, but we simplified it for the game.

    It just made since early on to talk about programming for the sim in terms of military hierarchy, because there are nice parallels in that layers of simple actions can combine to form apparent complexity in programming simulated AI.

    In terms of strategies, our goal was simply to try and forecast every tool that the player would want and/or need without making the experience cumbersome. All final decisions were based on the “fun factor”.

    Giving the various NPC entities the ability to evaluate ever changing situations, and then choose from the available strategic tools is something that amazes me and gives me great respect for our programming team. So, hats off to MILOD and BIGGLES. Personally, I’m just starting to learn about object oriented programming via JAVA.




    [This message has been edited by Randy (edited 10-12-2001).]
  • Hi Guys!

    I'm from hungary, so your project is really famous.

    I have a question: When is the game in the stores?

    Good luck: Alu
  • BigglesBiggles <font color=#AAFFAA>The Man Without a Face</font>
    If you mean B5:ITF, unfortunately never. [img]http://216.15.145.59/mainforums/frown.gif[/img]
    B5:IFH is a freeware one, it won't be in stores.
    Milod's one, I couldn't say.
    Mine, probably never. But expect something available on the internet in a few years/decades. [img]http://216.15.145.59/mainforums/biggrin.gif[/img]

    John: Thanks for that. I'll now go and save this page. Comments soon...

    ------------------
    [b][url="http://www.minbari.co.uk/log12.2263/"]Required reading[/url][/b]
    Never eat anything bigger than your own head.
    The Balance provides. The Balance protects.

    "Nonono...Is not [i]Great[/i] Machine. Is...[i]Not[/i]-so-Great Machine. It make good snow cone though." - Zathras
  • JackNJackN <font color=#99FF99>Lightwave Alien</font>
    I just love the way John makes it so plain that even a non programmer type like me can get the idea...

    [img]http://216.15.145.59/mainforums/wink.gif[/img]

    As compared to the "[b][i]You're an Artist... You're stupid...[/i][/b]" mentality...

    [img]http://216.15.145.59/mainforums/biggrin.gif[/img]

    [This message has been edited by JackN (edited 10-12-2001).]
  • I'm an artist.... [img]http://216.15.145.59/mainforums/biggrin.gif[/img]
    am I stupid? [img]http://216.15.145.59/mainforums/biggrin.gif[/img] [img]http://216.15.145.59/mainforums/biggrin.gif[/img]

    ------------------
    [b]whitestar90: [/b]"it would give the computer a heartattack just looking at it" -
    [b]Sanfam: [/b]"And Drazi didn't like it one bit.-
    [b]Mr.Bungle: [/b][i]"So that's where the forum went..."[/i]-
    ---
    [b][i]ahhh, the good old days of HTML.[/i][/b]
  • BigglesBiggles <font color=#AAFFAA>The Man Without a Face</font>
    I think I see what you did, John. Basically, you nuggetised the whole thing. Individual nuggets had individual goals, while at the same time they were part of a larger nugget which had larger goals. Thus the larger nugget would complete its goals by giving the smaller nuggets that made it up smaller goals, which when combined would achieve the greater. It's an heirarchical structure, only very well organised with more freedom at each level.

    More later after I do some more thinking... (and I haven't even got within a year of the AI stage yet! I always end up designing things too soon.)

    ------------------
    [b][url="http://www.minbari.co.uk/log12.2263/"]Required reading[/url][/b]
    Never eat anything bigger than your own head.
    The Balance provides. The Balance protects.

    "Nonono...Is not [i]Great[/i] Machine. Is...[i]Not[/i]-so-Great Machine. It make good snow cone though." - Zathras
  • GrantNZGrantNZ Earthforce Officer
    [i]This is my first post here, so I shall introduce myself: I'm GrantNZ, also known as[/i] The_Guy_Waiting_For_Biggles_To_Get_An_AI_Writeup_From_John_Walker,_But_There's_Really_No_Rush [img]http://216.15.145.59/mainforums/biggrin.gif[/img] [i]So, um, hi![/i]

    John: Biggles pointed me to this thread, telling me that there's some interesting AI stuff here... and so there is. [img]http://216.15.145.59/mainforums/smile.gif[/img] The reason he asked (on my behalf) for the AI write-up so many moons ago was my own project.

    I was developing a game with a similar organisational structure, but on a more personal scale. Carrier ships were to be modelled down to the rooms within, and people modelled down to their personalities and goals. An order from high command to attack a sector of space would be relayed to each ship's commander, who commands his officers, yada yada until each person onboard is running madly around the ship to get everything done. (The game was loosely based on Wing Commander.)

    I was considering using genetic algorithms as the brains of each crew member, hoping for some interesting computerised plan creation. Talking with Mr Biggles about the B5 game led me to wonder about its implementation of organisation. [img]http://216.15.145.59/mainforums/smile.gif[/img]

    So thank you for the wealth of information imparted thus far. (Ahh damn. Something's put me into silly-talking mood.) If I may ask, how would the game have prioritised different tactics? On all levels... For example, how does it choose whether attack or defense is a better option, whether fleet-based or just with a few ships?
  • BigglesBiggles <font color=#AAFFAA>The Man Without a Face</font>
    I was trying to convince him that B5 had incredible AI. He refused to believe me and asked for proof. [img]http://216.15.145.59/mainforums/smile.gif[/img]

    ------------------
    [b][url="http://www.minbari.co.uk/log12.2263/"]Required reading[/url][/b]
    Never eat anything bigger than your own head.
    The Balance provides. The Balance protects.

    "Nonono...Is not [i]Great[/i] Machine. Is...[i]Not[/i]-so-Great Machine. It make good snow cone though." - Zathras
  • GrantNZGrantNZ Earthforce Officer
    Yep, I admit that. And I'm still not convinced. Sure, it sounds flexible and strategically interesting, but having fleets moving around attacking priority targets isn't really [i]that[/i] special. Significant yes, but not special. It [i]is[/i] special if the fleets spontaneously make creative plans, such as deciding to lure the enemy away from strategic targets, or setting up an ambush. Could the AI have created plans of that complexity?

    I'm not in [i]any[/i] way trying to insult the game. The organisational framework (or what I've seen of it) seems very well designed and implemented; certainly ahead of any other out there. It also would provide a sound foundation for implementing the kind of AI that could creatively plan.

    I am impressed, but I'm still not convinced in the terms Biggles was mentioning. [img]http://216.15.145.59/mainforums/smile.gif[/img]

    [i]Keeping an open mind...[/i]
Sign In or Register to comment.