GithubHelp home page GithubHelp logo

scpsl-bot-plugin's Introduction

SCP: Secret Laboratory bot addon

Adds goal-oriented AI controlled players to game server running on Unity Engine.

Overview

  • GOAP inspired AI framework featuring strongly-typed states persistance (contained in belief classes), actions traversal from goal to find conditions-fulfilling (aka enabled) action with least total cost using pathfinding algorithm and running it (mind runner class).
  • Multithreaded perception system using Unity Jobs System.
  • Custom mesh-based navigation system, pathfinding algorithm based on A*, navigation mesh editor using primitives for navmesh visualization.
  • Introduced escaping the facility AI of human players with action graph set up to reach such goal on top on general action graph (opening doors, picking up items etc.)

SCPSLBot visisted actions graph Action finder visited actions debugging graph (in yellow - action path starting from found action to goal)

Demo 1, Demo 2

Project setup

  • Requires the following enviroment variables set up:
    • SL_REFERENCES: directory where shipped server managed assemblies located of a game.
    • SL_APPDATA: directory where application data is located of server.
  • References the following packages:
    • Lib.Harmony v2.2.2;
    • Northwood.PluginAPI v13.1.1.
  • SDK style project file targeting .NET Framework 4.8.
  • C# 11 language support enabled.

Quick start

  1. In LocalAdmin use command bot_add to add bot player to server while waiting for players.
  2. Then connect yourself, assign yourself Overwatch and force start the round.
  3. Then spectate the bot player. It should start moving with debug graph visible (debug graph visible is only for Overwatch spectators)

scpsl-bot-plugin's People

Contributors

repkins avatar

Watchers

 avatar

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.