All Projects → kolessios → sourcebots

kolessios / sourcebots

Licence: other
Artificial intelligence to create Bots in Source Engine.

Programming Languages

C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to sourcebots

Fragsurf-2
Fragsurf is an actively developed standalone game based on HL2 surf and bhop movement mechanics.
Stars: ✭ 68 (+325%)
Mutual labels:  source-engine
NextBot
A Git-based fork of Valve's NextBot code.
Stars: ✭ 30 (+87.5%)
Mutual labels:  source-engine
Estranged-Act-1
Source code for the free Steam game, Estranged: Act I.
Stars: ✭ 40 (+150%)
Mutual labels:  source-engine
bsp
Go package for parsing Valve's Source Engine .bsp (Binary Space Partition) map files
Stars: ✭ 29 (+81.25%)
Mutual labels:  source-engine
CallAdmin
CallAdmin is a multilingual sourcemod plugin which provides in-game report functionality
Stars: ✭ 52 (+225%)
Mutual labels:  source-engine
io import vmf
A Valve Map Format (.vmf) and Valve Material Type (.vmt) importer for Blender.
Stars: ✭ 225 (+1306.25%)
Mutual labels:  source-engine
lgsl
LGSL v6.2.0 for PHP 5.4-8.2.0dev (Live Game Server List): online status for Discord, FiveM, Rust, CS, SA:MP, GMOD, Minecraft, Source Query, etc.
Stars: ✭ 101 (+531.25%)
Mutual labels:  source-engine
sourcesdk-minimal
A compact and Garry's Mod compatible SourceSDK (don't use in other Source engine games).
Stars: ✭ 34 (+112.5%)
Mutual labels:  source-engine
Lambda
A custom Source Engine level editor written in Go
Stars: ✭ 34 (+112.5%)
Mutual labels:  source-engine
Half-Life-Resurgence
Recreation & expansion of NPCs, entities, and weapons from the Half-Life series into Garry's Mod!
Stars: ✭ 52 (+225%)
Mutual labels:  source-engine
Unity-Source-Tools
Plugin to import resources from the Source engine in Unity3D.
Stars: ✭ 102 (+537.5%)
Mutual labels:  source-engine
rcon
Source RCON client for command line
Stars: ✭ 111 (+593.75%)
Mutual labels:  source-engine
SourceRenderer
A tiny 3D engine that loads and renders Source engine maps - Also known as dreieck.exe
Stars: ✭ 32 (+100%)
Mutual labels:  source-engine
source-engine-model-loader
Three.js loader for parsing Valve's Source Engine models
Stars: ✭ 54 (+237.5%)
Mutual labels:  source-engine
leysourceengineclient
A source engine network client implementation based on some of my reversing work with basic functionality ( joining servers, talking, receiving/sending voicedata etc. ). Made this & reversed netchan to learn about Sources networking.
Stars: ✭ 122 (+662.5%)
Mutual labels:  source-engine
VJ-Base
An addon for Garry's mod that contains bunch of bases to make many different types of addons.
Stars: ✭ 57 (+256.25%)
Mutual labels:  source-engine
libTech
Game engine inspired by id Tech and Source written in C#
Stars: ✭ 42 (+162.5%)
Mutual labels:  source-engine
SourceAutoRecord
Speedrun plugin for Source Engine games.
Stars: ✭ 47 (+193.75%)
Mutual labels:  source-engine
srctools
Modules for working with Valve's Source Engine file formats.
Stars: ✭ 30 (+87.5%)
Mutual labels:  source-engine
node-ssq
A Node.JS library for sending Source Server Queries (SSQ) to source engine powered game servers (TF2, L4D, etc.).
Stars: ✭ 20 (+25%)
Mutual labels:  source-engine

SourceBots

SourceBots is an AI system to create Bots (CPU controlled players) for the Source Engine in a similar way to the NPC's AI.

SouceBots can be implemented in:

⚠️ Although the code works, this code is part of the first C++ project of the developer and it has several optimization problems. Not suitable for production use.

⚠️ This project is not actively under development but PR's are welcome.

🌎 Most of the comments and debug messages are in Spanish.

🍕 Features

  • Create Bots and program their AI with a code similar to the NPCs AI.
    • 🔗 Each set of tasks is separated into "schedules".
    • 🔗 Each schedule executes tasks (actions to be performed by the Bot) from top to bottom.
    • 🔗 Each schedule has interrupt conditions, the conditions are obtained in each frame according to the Bot status.
    • 🔗 Each schedule has a level of desire. The Bot will start the schedule with the highest desire and will try to finish it (if no interruption condition occurs).
    • 🔗 If necessary, you can add or modify the operation of the tasks in each schedule.
  • 🔗 Movement, vision, memory and others are componentized. You can add or remove capabilities according to the type of Bot you want to create.
  • 🔗 Move to entities or vectors using the Navigation mesh.
  • Aim to entities or vectors.
  • Detection of friends, enemies, neutral targets and objects such as weapons.
  • 🔗 Ability to prioritize enemies.
  • 🔗 Create squads and make decisions respecitively.
  • 🔗 Hitbox detection and customization of the "preferred" hitbox when aiming.
  • 🔗 Memory system to store information such as strings or numbers as well as positions of visible entities, including enemies and allies.
  • 🔗 Easy configuration depending on the difficulty of the Bot.
  • 🔗 Map entities to create Bots in events, highly customizable.

📖 How to start

The wiki has some help documents including installation and initial configuration.

🧪 TODO

You can find all comments with the word TODO, try to fix as many as you can!

Some of them:

  • Optimization problems.
  • Detect and fix memory leaks.
  • Navigation problems.
  • Melee weapons
  • Doors
  • Make the code easier to read.
  • Add English comments.
  • Being able to use the AI in NPC's (Like NextBot)

🎬 Videos

You can watch this YouTube playlist to see examples of Bots and a bit of the history of the project's development.

📞 Contact

You can contact me at:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].