Spaces:
Sleeping
Sleeping
metadata
title: Diamond CSGO AI Player
emoji: 🎮
colorFrom: green
colorTo: blue
sdk: docker
pinned: false
app_file: app.py
Diamond CSGO AI Player 🎮
A web-based demo of the Diamond AI agent playing Counter-Strike: Global Offensive using diffusion models and reinforcement learning.
Features
- Real-time Keyboard Input: Use standard WASD controls and other keys to interact
- AI Agent: Pre-trained agent using diffusion-based world models
- Web Interface: No installation required, play directly in your browser
- Live Visualization: See the AI's perspective and actions in real-time
Controls
Movement
- W - Move Forward
- A - Move Left
- S - Move Back
- D - Move Right
- Space - Jump
- Ctrl - Crouch
- Shift - Walk
Actions
- 1, 2, 3 - Switch Weapons
- R - Reload
- Arrow Keys - Camera Movement
- Left/Right Click - Primary/Secondary Fire
Game Controls
- M - Switch between Human/AI control
- Enter - Reset Environment
How to Play
- Click on the game canvas to focus it
- Use keyboard controls to play
- The AI agent will respond to your inputs in real-time
- Switch to AI mode to watch the agent play autonomously
Technical Details
This demo uses:
- FastAPI + WebSocket for real-time communication
- PyTorch for AI model inference
- Diffusion Models for next-frame prediction
- World Model Environment for simulation
The agent was trained using the Diamond framework, which combines:
- Diffusion-based world models
- Actor-critic reinforcement learning
- Multi-step planning and imagination
Model Information
The AI agent uses several neural networks:
- Denoiser: Diffusion model for generating next observations
- Upsampler: High-resolution image generation
- Reward/End Model: Predicting game outcomes
- Actor-Critic: Action selection and value estimation
Citation
This work is based on the Diamond framework. If you use this code, please cite:
@article{diamond2024,
title={Diamond: Diffusion for World Modeling},
author={[Authors]},
journal={[Journal]},
year={2024}
}
License
See LICENSE file for details.