Is Legions running on the T3D engine, and is the AI still in The game?

Discussion in 'Modifications' started by Defender, Nov 9, 2011.

  1. Defender

    Defender Member

    I own the AI starter kit, and would like to know if it would work at all in this game?
     
  2. Fissurez

    Fissurez Puzzlemaster

  3. Defender

    Defender Member

    That sucks, and no vehicle Data I see...
     
  4. Jordahan

    Jordahan World Leader of The 21st Century

    False, Legions does not use T3D, it uses TGEA or Torque Game Engine Advanced if you prefer
     
  5. Defender

    Defender Member

    Is the AI still in it?
     
  6. Jordahan

    Jordahan World Leader of The 21st Century

    "There's never been AI" -Mabel
     
  7. PureWhoopAss

    PureWhoopAss Legions Developer

    AI kit probably won't work with this older engine, but It wouldn't hurt to try
     
  8. Defender

    Defender Member

    The starter kit, includes 3 versions, new and old..
    T3D_Files, TGE_Files, and the TGEA_Files, that should be right for the engine this game runs on..
    I would love to know if the AI, has been untouched or ripped out in this game.
    Its a lot of work to test it.:confused: I want to make some simple open space CTF and death match maps, no buildings or structures, for the bots.
    I'm going to try and give the bots simple functions to enable them to ski and jet around a little bit and maybe even get them to use the overdriver when they are heading across the map and reach a speed that I predefine..:) I was able to give my tribes2 bots a simple overdrive after seeing it in legions.
     
  9. Defender

    Defender Member

    Stubbsy, Royalty, havocblitz and 2 others like this.
  10. PureWhoopAss

    PureWhoopAss Legions Developer

    hmmmmmm im the only one that made t2 disc launcher in legions.. howd you get it? unless maybe you took dts shape from t2 and plugged it into there

    oh think you could make a duck hunt map like t1 had a map called bootcamp and had switches that spawned bots in air to shoot down... would be nice for a map for a shoot out.
     
  11. Defender

    Defender Member

    I don't know, My map making skills are armature.. I like editing existing maps, did a lot of it on tribes2.
    The disc Launcher shape is from tribes2 and the skin was player made.. I was unable to get the disc shape to work correctly, I'm just using the rocket shape.
    I think the red disc looks cool.. Later I will hide the rocket shape with a custom reddish/orange trail emitter data and make a new explosion.
     
  12. havocblitz

    havocblitz Member

  13. Defender

    Defender Member

    Thanks..
    It was by accident that I figured out how to spawn all those extra clone players standing around you see.
    When I was coding my deployable inventory station and not deleting my old players datablock, after spawning a new datablock, This is what happened..
     
  14. Royalty

    Royalty The Aussie

  15. Defender

    Defender Member

    They are just cloned players, I spawned, no AI, using my deployable inventory code.
    I am going to be adding AI from the latest AI starter Kit, that is made for this games engine.
    The AI I add will be able to kick your butt, and they will have access to special weapons..
     
  16. Royalty

    Royalty The Aussie

    So will a practice mode be possible in the future with AI's?
     
  17. Defender

    Defender Member

    Yes, with my mod you could host/play or run a dedicated server with bots.
    If I get them working, I will do a base weapons, armors, mod, with bots for those who want that too. The bots are going to need new maps with AI code added to work.. I"m just planing on open space maps for the bots for now..
     
  18. Royalty

    Royalty The Aussie

    Would the difficulty of bots be adjustable? And also would you just be able to play DM or would they be able to pass flags, catch flags, ski etc?
    Looking forward to it. That way I can still get 20 ping with a full server! (As I doubt any Americans will be joining mine!)
     
  19. Defender

    Defender Member

    They are vary adjustable, I still need to study all the options its a lot..:confused:
    I am going to try and create some simple functions to make them use the jet and overdrive..
    It should be easy, I did it with my tribes2 bots.. Not sure about ctf support.. I am only going for DM.. I will look in to the CTf code. Wish I could share all the code but, you must buy the kit to get access..

    Code:
    //****************************************************************
    //The Universal AI Starter Kit (AISK)
    //Copyright (c) 2009-2011 Twisted Jenius - All rights reserved.
    //This file is engine SPECIFIC. - T3D
    //****************************************************************
    
    //The following are global variables used to set the bot's basic default settings. General rules for default variable values:
    //Don't use negative numbers, and be careful when using values of 1 or less, unless noted otherwise.
    //Don't stray too far from the default values. For example; if the default is 6, you probably shouldn't change it to 9006.
    //If you don't know exactly what a variable does, go ahead and experiment with it, but remember what the default was.
    
    //Turns marker hiding on or off, useful when editing missions.
    $AISK_MARKER_HIDE = true;
    
    //How long the bot waits between firing bursts.
    $AISK_FIRE_DELAY = 1000;
    
    //How long the bot holds down the trigger when firing.
    $AISK_TRIGGER_DOWN = 50;
    
    //Aggressive bot's normal field of vision.
    $AISK_FOV = 200;
    
    //There is a 1 in x chance that the bot will see 360 deg vision to prevent it from being snuck up on. Set to 0 to disable.
    $AISK_ENHANCED_FOV_CHANCE = 0;
    
    //How long the bots field of vision is enhanced to 360 for.
    $AISK_ENHANCED_FOV_TIME = 2000;
    
    //How long the bot gets a 360 FOV and a longer detect distance for after being sniped.
    $AISK_ENHANCED_DEFENDING_TIME = 5000;
    
    //Detect distance is multiplied by this number after a bot has been sniped.
    $AISK_ENHANCED_DEFENDING_DISTANCE = 3;
    
    //The range at which a bot will start reacting to a target.
    $AISK_DETECT_DISTANCE = 50;
    
    //The detect distance is multiplied by this number to get the distance from the player at which the bot will
    //start to pay less attention
    $AISK_ATTENTION_RANGE = 2.5;
    
    //The bot will stop and try to stay at this distance or less from the player.
    $AISK_MAX_DISTANCE = 25;
    
    //The bot will stop and try to stay at this distance or more from the player. This must be less than max distance
    //and sidestep. Keeping this default value at less than 1 will greatly reduce the chance for errors.
    $AISK_MIN_DISTANCE = 0;
    
    //The maximum distance a "leashed" bot can be away from its marker
    $AISK_LEASH_DISTANCE = 35;
    
    //The maximum range the bots pace away from their guard point.
    $AISK_MAX_PACE = 6;
    
    //The minimum range the bots pace away from their guard point.
    //If set to less than 1, this can conflict with the general movement min distance.
    $AISK_MIN_PACE = 1.5;
    
    //Set the speed of the bot while pacing (1.0 is 100%, 0.5 is 50%)
    $AISK_PACE_SPEED = 0.5;
    
    //Set the speed of the bot while on a path (1.0 is 100%, 0.5 is 50%)
    $AISK_PATH_SPEED = 1.0;
    
    //Sets how many think cycles the bot has to travel to it's location (or stand at its location
    //if it's already there) before getting another one to move to. Random between 1 and this number.
    $AISK_PACE_TIME = 4;
    
    //This value determines how far a bot sidesteps when it is stuck or dodging.
    $AISK_SIDESTEP = 10;
    
    //The bot will dodge once in this many think cycles while in combat. Set to 0 to disable.
    $AISK_ACTIVE_DODGE = 1;
    
    //The amount of time after the bot loses sight of player that it will get their position.
    //This helps the bot turn sharp corners. Set it to 1 or 0 if you don't want the bot to cheat.
    $AISK_LOS_TIME = 150;
    
    //The quickest time between think cycles.
    $AISK_SCAN_TIME = 500;
    
    //This number and $AISK_SCAN_TIME are multiplied to set the delay in the
    //thinking loop. Used to free up processor time on bots out of the mix.
    $AISK_MAX_ATTENTION = 10;
    
    //The number of think cycles that the bot will 'hold' for before trying to return to a certain spot.
    $AISK_HOLDCNT_MAX = 10;
    
    //This is the number of random positions that pacing and sidestep will try before considering the bot
    //to be stuck and giving up.
    $AISK_LOOP_COUNTER = 16;
    
    //How long a bot waits after creation before his think cycles are controlled by
    //his attention rate. Used to help free up think cycles on bots while misison finishes loading.
    $AISK_CREATION_DELAY = 1500;
    
    //Controls whether bots respawn automatically or not.
    $AISK_DEFAULT_RESPAWN = true;
    
    //This sets at what damage level a bot will attempt to look for a HealthPatch nearby.
    //When set to 0.7 the bot will seek health when it has taken 70% of the total damage it can take
    //(and has 30% or less health left), 0.5 is 50% and so on. The default of 1.0 means that bots
    //will not seek health because they'd have to have 0% health left.
    //Item gathering has been commented out because it does not work properly
    //$AISK_SEEK_HEALTH_LVL = 1.0;
    
    //Sets how far around itself a bot will look for items to pick up
    //Item gathering has been commented out because it does not work properly
    //$AISK_DETECT_ITEM_RANGE = 50;
    
    //Bots go for the target with the least health unless two or more targets are within this amount of one another,
    //then they go for the closest target. If you set this number really high, bots will always just go by range.
    $AISK_HEALTH_IGNORE = 25;
    
    //Sets the default team for all bots, by default the player is on team 1
    //This is used for selecting a target, and can also be used for spawning and killing bots.
    $AISK_TEAM = 2;
    
    //If set to true, every bot will try to attack every other bot, regardless of their team
    $AISK_FREE_FOR_ALL = false;
    
    //This is used for spawning and killing specified bots.
    $AISK_SPAWN_GROUP = 1;
    
    //This is the default datablock that the bot is spawned as.
    $AISK_CHAR_TYPE = "DefaultPlayer";
    
    //Which weapons you want the bot to use. You can have more than one weapon, seperate each with a space.
    //Example: $AISK_WEAPON = "Crossbow Sword";
    $AISK_WEAPON = "Crossbow";
    
    //Set this to false for energy or melee weapons that do not use ammo.
    $AISK_WEAPON_USES_AMMO = true;
    
    //When set to true the bot will replenish its ammo perpetually
    $AISK_ENDLESS_AMMO = true;
    
    //The maximum range at which a bot will fire on a target with a weapon.
    $AISK_IGNORE_DISTANCE = 50;
    
    //Sets how often the bot should try to switch to a different weapon. You can have as many numbers as you want,
    //seperated by spaces. Each number is gone through in order.
    $AISK_CYCLE_COUNTER = "5";
    
    //If the cycle counter is set to "x" it will get a random number between 1 and this value each time
    $AISK_RAND_CYCLE_MAX = 10;
    
    //If the active dodge is set to "x" it will get a random number between 1 and this value each time
    $AISK_RAND_DODGE_MAX = 7;
    
    //Sets how the next weapon is to be selected.
    $AISK_WEAPON_MODE = "pattern";
    
    //Sets what the bot's name should be displayed as. Can be set to "Show", "DontShow" or "Debug".
    //When set to "Debug", warnings are sent to the console when certain potential errors occur.
    $AISK_SHOW_NAME = "DontShow";
    
    //The maximum height of an obstacle that the bot can run on top of, given as a vector.
    $AISK_OBSTACLE = "0 0 1";
    
    //About half the height an average character in your game, given as a vector.
    $AISK_CHAR_HEIGHT = "0 0 1.5";
    
    //The default name for all bots.
    $AISK_REAL_NAME = "Bot";
    
    //The amount of time in milliseconds that a bot should wait before doing an important think cycle.
    $AISK_QUICK_THINK = 100;
    
    //The minimum range at which a bot will fire on a target with a weapon.
    //Keeping this default value at less than 1 will greatly reduce the chance for errors.
    $AISK_MIN_IGNORE_DISTANCE = 0;
    
    //Default weapon rating. This is here to prevent serious errors if a weapon isn't given a rating for some reason.
    //But you will still get minor unless each weapon has a different rating, meaning this should not be used.
    $AISK_WEAPON_RATING = 1;
    
    //Overall default behavior.
    $AISK_BEHAVIOR = "ChaseBehavior";
    
    //Sets the amount of ammo the bot should start with
    $AISK_STARTING_AMMO = 10;
    
    //The value below times detect distance is how far away bots can assist from
    $AISK_ASSIST_DISTANCE = 2;
    
    //When a bot or player is hurt, have nearby team members come to their aid.
    //This can be set to the following values:
    //1 = Bots can only assist players or bots following the player that get injured.
    //2 = Bots can only assist other bots that are injured.
    //3 = Bots can assist all players and bots that get injured.
    //All other values, such as 0, will completely disable assisting.
    $AISK_CAN_ASSIST = 3;
    
    //The maximum number of times that bots can respawn, 0 is infinite
    $AISK_RESPAWN_COUNT = 0;
    
    //If the respawn count is set to "x" it will get a random number between 1 and this value
    $AISK_RESPAWN_RANDOM = 5;
    
    //Advanced active dodge settings:
    //"Random" = Random, classic style UAISK dodging.
    //"Side" = Side to side.
    //"Back" = Front and back.
    //"Serpentine" = Serpentine, which varies between side to side and back and forth.
    $AISK_ADVANCED_DODGE = "Random";
    
    //----------------------------------------------------------------
    //The values below are only used in the file player.cs
    
    //Determines how long a bot waits in between dying and respawning again.
    $AISK_RESPAWN_DELAY = 20 * 1000;
    
    //Can teammates hit each other, this includes hitting themselves
    $AISK_FRIENDLY_FIRE = true;
    
    //----------------------------------------------------------------
    //The values below are AFX specific
    
    //The type of AFX datablock that the AI deals with
    $AISK_AFX_DATA_TYPE = "afxRPGMagicSpellData";
    
    //Bots casting AFX spells that can be interrupt by movement wait this long to cast after they
    //stop moving, just to make sure that they have really come to a full and complete stop.
    $AISK_AFX_WAIT_TIME = 250;
     
  20. Royalty

    Royalty The Aussie

    It's good that your working out this kinda stuff. Will you release it once legions is unlocked? Looking forward to playing against bots. Would be epic if you could get them to throw flags, catch flags, grab flags, and return flags. Ah well. Baby steps right?

    Oh BTW, have you tested the code? Is there anyway of testing it yet?