Releases: WeiserFox/FlyBrainGmod
Release list
Fly v1.0.1
🪰 Digital Fly NextBot (BANC Connectome Driven)
An experimental Garry's Mod NextBot driven by a real-time spiking neural network simulation of the Drosophila melanogaster (fruit fly) BANC connectome dataset.
Instead of pre-scripted state machines, movement vector decisions are computed frame-by-frame by a standalone C# backend processing sensory raycasts and neuromodulatory stress feedback through a Leaky Integrate-and-Fire (LIF) network topology.
🚀 Quick Start Guide
Step 1: Run the C# Brain Engine
- Download the latest release package (
FlyBrain.zip) from the Releases section. - Extract the archive into any directory. Ensure the following files remain together in the same folder:
FlyBrain.exeneurons.csvconnections_princeton.csvgmod_data_path.txt
- Inside the file
gmod_data_path.txt, specify the absolute path to the Garry's Mod data directory. There should not be a#symbol before the path. Delete the sample path before inserting yours.
Example:
C:\Program Files (x86)\Steam\steamapps\common\GarrysMod\garrysmod\data - Launch
FlyBrain.exe.
🕹️ In-Game Usage
- Subscribe to the addon on Steam Workshop or place the
lua/folder in your server'sgarrysmod/addons/directory. - Start a local session.
- Open the Q-Menu -> Entities -> Digital Fly.
- Spawn the Digital Fly Nextbot.
- Check your server console for active connection logs:
🛠️ Building from Source
The project is not finished yet so it is not public.
Digital Fly v1.0
🪰 Digital Fly NextBot (BANC Connectome Driven)
An experimental Garry's Mod NextBot driven by a real-time spiking neural network simulation of the Drosophila melanogaster (fruit fly) BANC connectome dataset.
Instead of pre-scripted state machines, movement vector decisions are computed frame-by-frame by a standalone C# backend processing sensory raycasts and neuromodulatory stress feedback through a Leaky Integrate-and-Fire (LIF) network topology.
🏗️ Architecture Overview
- GMod Entity (Lua): Casts 16 directional vision rays and tracks an octopamine/stress hormone level upon taking damage. Encodes this data into a 17-byte binary payload and streams it to the local backend.
- Brain Backend (C# / .NET 8): Listens on
http://127.0.0.1:9000/, parses sensory streams, propagates spikes across synapse matrices loaded from BANC/Princeton CSV datasets, and decodes population motor output into speed and turn direction bytes.
📋 Prerequisites
- Garry's Mod (Client or Dedicated Server)
- .NET 8.0 Runtime (Required only if running the
FlyBrainBackend.exerelease package without host installation)
🚀 Quick Start Guide
Step 1: Run the C# Brain Engine
- Download the latest release package (
FlyBrainBackend_v1.0.zip) from the Releases section. - Extract the archive into any directory. Ensure the following files remain together in the same folder:
FlyBrainBackend.exeneurons.csvconnections_princeton.csv
- Launch
FlyBrainBackend.exe. The console will display dataset loading metrics and begin listening on port9000.
Step 2: Configure & Launch Garry's Mod
Garry's Mod blocks local loopback HTTP requests (127.0.0.1) by default for security reasons. You must pass the -allowlocalhttp launch flag for the entity to communicate with the C# backend.
For Garry's Mod Client (Singleplayer / Peer-to-Peer):
- Open your Steam Library and right-click Garry's Mod -> Properties.
- In the General tab, scroll down to Launch Options.
- Add the following flag:
-allowlocalhttp
For Dedicated Server (srcds.exe):
If hosting a dedicated server, start your server instance with the -allowlocalhttp command-line argument:
srcds.exe -console -game garrysmod +map gm_construct -allowlocalhttp🕹️ In-Game Usage
- Subscribe to the addon on Steam Workshop or place the
lua/folder in your server'sgarrysmod/addons/directory. - Join your server or start a local sandbox session.
- Open the Q-Menu -> Entities -> Digital Fly.
- Spawn the Digital Fly Nextbot.
- Check your server console for active connection logs:
[BRAIN] MOVE=True MOTOR=0,040 L=0,047 R=0,066 C=0,000 SPEED=0,25 TURN=2,5 CONF=0,10 NOV=0,00 STRESS=0,00
📡 HTTP Protocol Specification
Communication between Lua and C# is strictly binary to maintain high throughput and minimize latency.
- Endpoint:
POST http://127.0.0.1:9000/ - Content-Type:
application/octet-stream
Request Payload (17 Bytes)
| Byte Index | Data Type | Range | Description |
|---|---|---|---|
0 .. 15 |
uint8 |
0 – 255 |
Normalized raycast distance fractions (0 = obstacle ahead, 255 = clear sky) |
16 |
uint8 |
0 – 255 |
Stress / Octopamine hormone level (triggered by OnTakeDamage) |
Response Payload (2 Bytes)
| Byte Index | Data Type | Description |
|---|---|---|
0 |
uint8 |
Forward Speed: Scaled motor neuron activity |
1 |
uint8 |
Yaw Rotation: Centered at 128 (<128 = turn left, >128 = turn right) |
🛠️ Building from Source
The project is not finished yet so it is not public.