{"adoption": {"forks": 116, "observed_at": "2026-08-28T04:05:05.871547+00:00", "stars": 1575}, "canonical_url": "https://ross.abutalabs.com/products/godot_rl_agents", "card": {"archived": false, "artifact_type": "library", "description": "An Open Source package that allows video game creators, AI researchers and hobbyists the opportunity to learn complex behaviors for their Non Player Characters or agents", "domain": ["reinforcement-learning", "machine-learning", "simulation"], "enriched": true, "function": ["reinforcement-learning", "machine-learning", "simulation", "game-engine"], "health_score": 86, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["edbeeching/godot_rl_agents"], "name": "edbeeching/godot_rl_agents", "platform": ["python", "cross-platform", "windows"], "pushed_at": "2026-07-10T20:19:17+00:00", "repo": "edbeeching/godot_rl_agents", "stars": 1575, "tags": ["godot", "game-ai", "npc-behavior", "stable-baselines3", "rllib", "sample-factory", "cleanrl", "lstm-agents", "game-development", "linux", "macos"], "topics": ["reinforcement-learning", "simulation", "godot"], "urls": [], "use_cases": ["train NPCs to learn complex behaviors in Godot games", "run reinforcement learning experiments in 2D and 3D game environments", "use StableBaselines3 or RLLib to train agents in a Godot simulation", "build memory-based agents with LSTM or attention for game AI", "research RL in custom game environments", "teach game characters to jump, chase, or fly via RL"], "what_it_is": "Godot RL Agents is an open-source Python package that bridges games built in the Godot Engine with reinforcement learning algorithms, enabling training of complex NPC and agent behaviors. It wraps four popular RL frameworks (StableBaselines3, Sample Factory, Ray RLLib, CleanRL) and supports 2D/3D games, memory-based agents, and AI sensors.", "when_to_avoid": ["your game engine is Unity or Unreal rather than Godot", "you need production game AI without a Python training pipeline", "you want supervised learning or LLM-based agents rather than reinforcement learning"], "when_to_choose": ["you build games in Godot and want learned agent behaviors", "you want an open-source, MIT-licensed RL-to-game-engine bridge", "you want to experiment with multiple RL frameworks against the same game environment", "you are an AI researcher needing a free simulation environment for RL"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/godot_rl_agents", "repo": "edbeeching/godot_rl_agents", "role": "main", "score": 64}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.871547+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:57:35.637343+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "de3586aec062b3a302c9a705dd28b9973320700c66dfbec7d9892960e5001274", "fetched_at": "2026-08-28T04:05:05.871547+00:00", "kind": "readme", "missing": false, "url": "https://github.com/edbeeching/godot_rl_agents"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.871547+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:57:35.637343+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "de3586aec062b3a302c9a705dd28b9973320700c66dfbec7d9892960e5001274", "fetched_at": "2026-08-28T04:05:05.871547+00:00", "kind": "readme", "missing": false, "url": "https://github.com/edbeeching/godot_rl_agents"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:57:35.637343+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "de3586aec062b3a302c9a705dd28b9973320700c66dfbec7d9892960e5001274", "fetched_at": "2026-08-28T04:05:05.871547+00:00", "kind": "readme", "missing": false, "url": "https://github.com/edbeeching/godot_rl_agents"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.871547+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.871547+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.871547+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:57:35.637343+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "de3586aec062b3a302c9a705dd28b9973320700c66dfbec7d9892960e5001274", "fetched_at": "2026-08-28T04:05:05.871547+00:00", "kind": "readme", "missing": false, "url": "https://github.com/edbeeching/godot_rl_agents"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.871547+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.871547+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:57:35.637343+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "de3586aec062b3a302c9a705dd28b9973320700c66dfbec7d9892960e5001274", "fetched_at": "2026-08-28T04:05:05.871547+00:00", "kind": "readme", "missing": false, "url": "https://github.com/edbeeching/godot_rl_agents"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.871547+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.871547+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.871547+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:57:35.637343+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "de3586aec062b3a302c9a705dd28b9973320700c66dfbec7d9892960e5001274", "fetched_at": "2026-08-28T04:05:05.871547+00:00", "kind": "readme", "missing": false, "url": "https://github.com/edbeeching/godot_rl_agents"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.871547+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.871547+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:57:35.637343+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "de3586aec062b3a302c9a705dd28b9973320700c66dfbec7d9892960e5001274", "fetched_at": "2026-08-28T04:05:05.871547+00:00", "kind": "readme", "missing": false, "url": "https://github.com/edbeeching/godot_rl_agents"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:57:35.637343+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "de3586aec062b3a302c9a705dd28b9973320700c66dfbec7d9892960e5001274", "fetched_at": "2026-08-28T04:05:05.871547+00:00", "kind": "readme", "missing": false, "url": "https://github.com/edbeeching/godot_rl_agents"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:57:35.637343+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "de3586aec062b3a302c9a705dd28b9973320700c66dfbec7d9892960e5001274", "fetched_at": "2026-08-28T04:05:05.871547+00:00", "kind": "readme", "missing": false, "url": "https://github.com/edbeeching/godot_rl_agents"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:57:35.637343+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "de3586aec062b3a302c9a705dd28b9973320700c66dfbec7d9892960e5001274", "fetched_at": "2026-08-28T04:05:05.871547+00:00", "kind": "readme", "missing": false, "url": "https://github.com/edbeeching/godot_rl_agents"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 91, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1889, "days_push": 54, "days_rel": 554, "gap_med": null, "n_releases_24m": 1}, "score": 64, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}