Git Product home page Git Product logo

foxbot-srb2's Introduction

foxBot! v1.7 (Changelog)

Turn spare SRB2 clients into cooperative AI bots.

foxBot Being Rad

Features

  • Revised AI based on CobaltBW's ExAI mod, with additional features and fixes
  • Support for any combination of players and bots in multiplayer
  • Predictive movement logic for more efficient following and enemy bopping
  • Improved understanding of (vanilla) character abilities, shield abilities, and super forms
  • Independent behavior for grabbing rings, monitors, etc. as appropriate
  • Support for attacking objects or destructible walls their leader pushes against
  • Spectator support for non-respawning game modes (can guide bots to next starpost when dead, etc.)
  • Integration with rejointimeout to remain in the game as a bot after client disconnect
  • Automatic control handoff between player and AI based on input (like Tails w/ Player 2 input)
  • Option to disable AI entirely for an experience similar to FuriousFox's ClassicCoop mod
  • ... and more! Give them a shot, they may surprise you :)

Usage

Use addbot <skin> <color> to add bots into the game, and removebot to remove them.

Alternatively, use setbot to turn yourself into a bot, which will allow an AI to take over while AFK.

Most commands are available in splitscreen by appending "2" - addbot2, setbot2, etc.

Advanced Usage

It's also possible to use extra SRB2 client instances as bots. For example:

srb2win.exe -config config-bot.cfg -connect localhost

This method provides some advantages, such as the ability to take direct control of the bot if needed, use the in-game menus to configure its name / skin / etc., or send chat messages from it to feign sentience.

To configure multiple bots in this way, simply specify a unique .cfg file for each bot.

Compatibility

foxBot should be compatible with most coop mods, but currently only understands vanilla characters and shields.

It's recommended to set ai_statmode 3 when using any mod that also syncs rings and lives. For example, the following settings are recommended for Combi: ai_statmode 3; ai_telemode 64

It's also recommended to load foxBot first, in case other mods are also using the PreThinkFrame hook to read or modify player input. This will allow them to accurately read or modify AI input as well.

Console Commands / Variables

Use bothelp to display this section in-game at any time.

SP / MP Server Admin:

  • ai_sys - Enable/Disable AI
  • ai_ignore - Ignore targets? (1 = enemies, 2 = rings / monitors, 3 = all)
  • ai_seekdist - Distance to seek enemies, rings, etc.
  • ai_catchup - Allow AI catchup boost?

MP Server Admin:

  • ai_keepdisconnected - Allow AI to remain after client disconnect?
    • Note: rejointimeout must also be > 0 for this to work!
  • ai_defaultleader - Default leader for new clients (-1 = off, 32 = random)
  • ai_maxbots - Maximum number of added bots per player
  • ai_reserveslot - Reserve a player slot for joining players?
  • ai_hurtmode - Allow AI to get hurt? (1 = shield loss, 2 = ring loss)
  • ai_statmode - Allow AI individual stats? (1 = rings, 2 = lives, 3 = both)
  • ai_telemode - Override AI teleport behavior w/ button press? (64 = fire, 1024 = toss flag, 4096 = alt fire, etc.)

SP / MP Client:

  • ai_debug - Draw detailed debug info to HUD? (-1 = off)
  • ai_showhud - Draw basic bot info to HUD?
  • listbots - List active bots and players
  • setbot <leader> - Follow leader as bot (-1 = stop)
    • <bot> - Optionally specify bot to set
  • addbot <skin> <color> <name> - Add bot by skin etc.
    • <type> - Optionally specify bot type (0 = player, 1 = sp, 3 = mp)
  • alterbot <bot> <skin> <color> - Alter bot's skin etc.
  • removebot <bot> - Remove bot
  • overrideaiability <jump> <spin> - Override ability AI (-1 = reset / print ability list)
    • <bot> - Optionally specify bot to override

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.