Started building a long time ago, time to put it to the test.
Basic instructions in the ZIP file.
Don't forget to tell the game to find *.u files in a different folder as the instruction say.
Alternatively, you can move those *.u files to the system folder but expect to see a ton of .u files on your system folder.Also, create (or copy) the System/Botz/ directory in the UT folder where the user settings are if you're on Linux.
Important notice: read Setting up.txt
for details about native Ferbotz.
Important notice 2: Requires XC_Engine v19
Release 19:Release 20:Features: (that I remember)Interface:
- Ability to add random class/skin/face/voice BotZ. (command: mutate addbotz)
- Add BotZ using class and skin localizations (example: mutate addbotz BotZ blue 0 7 male_soldier;marine;malcom;male_two)
- Command instructions: mutate addbotz help (in spanish: mutate addbotz ?)
- Add BotZ using a preset list (user must build it, command: mutate addbotzlist, now with guide) (immune to Auto player count adjust)
- Add BotZ using a half-assed menu (command: mutate botzmenu)
Note: BotZ addition only available to admins or automated scripts on servers.
- Must be enabled in mutator selection screen (Activar Botz)
- Filling server using BotZ when not enough players
- Creating generic map plugins for special point adding (I'll write a guide one of these days)
- Adding BotZ by faction (read Factions.txt)
- Main FerBotz.u package can be tweaked without causing mismatches
- Navigation editor for player class DynamicBotzPlayer, read "Navigation Editor.txt" for details.
- UDP server query that displays Bots and Botz on the player list with proper identification.Players vs Botz:
Loaded as an extra mutator, it will move all players, bots and manually added botz into one team, and fill the other team with Botz's.
This is ideal for servers and quikly setup assault games.
The criterias can be specified in this mutator's settings:
- Player:Botz ratio, higher ratio the more unfair the game is.
- Ability to round the total ratio to ceiling (5.5 ratio means 6 botz)
- Picks bots from either the Botz List or generated randomly (with skill variants as well) ****.
**** Faction picking not yet implemented.
- You may also select the teams each side is placed on.Combat:
Overview, combat code is still too simple, meaning that BotZ will rarely try to actively chase, run away or strafe at an enemy.
- Advanced projectile dodging and evasion, will also attempt to jump over rockets and biogel.
- Projectile aiming is far deadlier (not quite UT3 level yet
- Aiming system doesn't use randoms for determining aim error or hit, a combination of movement and prediction is used as well, meaning you can get hit 5 times in a row or none.
- Ducking when sniping (may bug for a few seconds if the BotZ leaves the sniper spot)
- Weapon usage can be tweaked in the .int file, as well as adding new sniper weapons.
- Spamming shots
- Translocator kill
- Weapon profile system (incomplete), with combat states and movements.
- Ability to copy profiles for weapon variations (see Ferbotz.int for flak cannon examples).
- Long distance enemy detection + sniper suppressing.Team AI:
- BotZ attempts to support at closer distance by sticking to one of the leader's sides, try ordering 2 BotZ to follow you.
- New order: Patrol (explained later)
- Defenders tend to move from one defense point to another.
- BotZ won't cease to hold a position.
- Team AI can be expanded using external game definitions (explained later)
- Domination: Advanced control point logic, the more players teams have, the easier for team made of BotZ it is to win.Navigation:
- Path shortening, includes jumping between unconnected platforms.
- Always chooses best/shortest possible way of jumping.
- Can complete very difficult platform trails.
- Jump before hitting an obstruction.
- JumpBoots and Translocator path shortening.
- Switching to Translocator before hitting a Translocator navigation point.
- Continuous translocation + switching air direction to avoid fire (try this at Face or any huge CTF map)
- Impact launching the Translocator.
- Avoid danger zones where BotZ gets killed often.
- Take different route if killed during flag carrying on next attempt to capture.
- Looking in different directions while sniping, camping and running.
- Different lift handling, not perfect but treats those differently.
- Enhanced air control to ensure proper landing.
- Ability to navigate during jumps and falls.
- Translocate if pushed away in low grav zones (botz will save themselves often in Morpheus)
- Botz may attempt to correct his running direction if about to hit a wall. (useful for Following a player in unpathed areas)
- Translocator throwing method uses angle determination equations, nearly perfect + negative gravity support
- NATIVE FERBOTZ: Ability to create/edit reachspecs and to insert newly created paths into the linked navigation point list.
- NATIVE FERBOTZ: Edit mode for easy setup of custom navigation points.
- NATIVE FERBOTZ: Automatic path node derivates insertion and calculation at map start.
- NATIVE FERBOTZ: LiftJumping and direct link nodes (plus variations).
- NATIVE FERBOTZ: Ability to remove existing navigation points [PathNode, BlockedPath, InventorySpot].- NATIVE FERBOTZ: Complete mapping of the path network, can be used to evaluate multiple destinations with a single pathfinding call.Plugin system:
- Ability to load packages that add waypoints or BotZ affecting entities (camp locations, bug preventing points, etc)
- Ability to load Gametype package that can be used to set a BotZ goals and tasks.
- Ability to set initial orders using gametype plugin
- The function manager can be subclassed and edited, sample plugin for UT community SDK included (sdkBFM.u).
- NATIVE FERBOTZ: Path files stored in System/Botz/ for navigation enhancements.
Botz won't properly attack Stationary Pawns, but nothing that breaks the game
Highest skilled BotZ will instantly put down their weapon before entering a chain translocation mode.
Highest skilled BotZ have no translocator cooldown.
If bSuperAim=true, BotZ have better aim tracking (enabled by default, setting it to false may make bot too noobish for some people)
Gametypes affected by stock plugins:
TeamGamePlus: BotZ will attempt to stick closer to an ally, becomes notable when playing with more than 5 teammates, also roaming.
CTFGame: BotZ tasking to recover flags or cover the flag carrier.
MonsterHunt: Big monsters and triggers are targeted when there's no available objectives.
Jailbreak: attackers pick between hunting or releasing the team, arena support. (NOTE: SEND ALL BOTZ TO ATTACK, 'SET BOTZ ORDERS ATTACK')
Last man standing -> Botz still can't be eliminated, but they'll play now.
Jailbreak hack fix was added to allow BotZ to respawn.
Siege hack fix for correct behaviour with PlayerReplicationInfos.
SmartCTF hack to allow Botz to show up on scoreboards.
CPU load reduction to try and keep the framerate at acceptable levels without losing the advanced navigation/dodging features.
The client package is a separate module that is sent to clients, this one is responsible of displaying the BotZ on clients without having to send the actual Botz package.
============:NATIVE FERBOTZ:Native code compiled under both Windows and Linux, please report bugs with Linux version as I can't run the game on my Ubuntu VM.
Ferbotz.u should never be sent to clients.
Never a final release, you may only modify the packages for actual usage and not distribution.