Underground 2 Revived
Chrome과 Firefox에서 Need for Speed Underground 2를 WebGPU로 두고 팬 프로젝트입니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Reinforcement-learning AI for the dice game BANK: train it in your browser, then play against it. Python version too.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Teach an AI to play the push-your-luck dice game BANK, right in your browser, then play against it. The repo also has the full Python reinforcement-learning version for longer training runs.
▶ Open the live trainer · works on phone and laptop, no install
src/, run from main.py.Browser trainer: one plain HTML/CSS/JavaScript file on GitHub Pages. Python version: NumPy, pandas and Matplotlib/Seaborn.
The repo has two halves that can be used independently: a self-contained browser trainer
(index.html, no install, no backend) and the full Python training stack
under src/ driven by main.py.
BANK is a strategic dice game for 2+ players:
bank_ai_project/
├── src/
│ ├── game_engine.py # Core game simulation
│ ├── agents.py # AI agent implementations
│ ├── training.py # Training loop and utilities
│ ├── evaluation.py # Agent evaluation and analysis
│ └── play_human.py # Interactive human vs AI mode
├── models/ # Saved trained models
├── logs/ # Training logs and metrics
├── main.py # Main entry point
└── requirements.txt # Python dependencies
# Create virtual environment (recommended)
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Train with default parameters
python main.py train
# Train with custom parameters
python main.py train --episodes 100000 --learning-rate 0.01 --epsilon 0.2
# Train against different opponents
python main.py train --opponents random threshold self
# Evaluate against various opponents
python main.py evaluate --model models/best_agent.pkl --games 1000
# Detailed analysis with visualizations
python main.py evaluate --model models/best_agent.pkl --analyze
# Interactive human vs AI mode
python main.py play --model models/best_agent.pkl
Training:
--episodes: Number of training episodes (default: 50000)--learning-rate: Q-learning alpha parameter (default: 0.1)--discount: Discount factor gamma (default: 0.95)--epsilon: Initial exploration rate (default: 0.3)--epsilon-decay: Epsilon decay rate (default: 0.9995)--epsilon-min: Minimum epsilon value (default: 0.01)--opponents: Opponent types to train against (default: random threshold)--num-rounds: Rounds per game (default: 10)--num-players: Number of players (default: 4)--save-interval: Episodes between saves (default: 1000)Evaluation:
--model: Path to trained model file--games: Number of evaluation games (default: 1000)--analyze: Generate detailed analytics and visualizations--verbose: Print game-by-game detailsPlay:
--model: Path to trained model file--num-rounds: Rounds per game (default: 10)--opponents: Number of AI opponents (default: 3)The agent observes:
Track when opponents typically bank and use this information to make better decisions.
Compare learned strategy against mathematically optimal expected value baseline.
# Train for 10,000 episodes and save
python main.py train --episodes 10000 --save-interval 500
# Evaluate the trained agent
python main.py evaluate --model models/agent_episode_10000.pkl --games 1000
# Play against the AI
python main.py play --model models/agent_episode_10000.pkl
# Train with self-play and curriculum learning
python main.py train --episodes 50000 --opponents self --epsilon 0.5 --epsilon-decay 0.9998
# Train for tournament play (more players)
python main.py train --num-players 6 --num-rounds 15 --episodes 30000
A well-trained agent should:
Agent not learning:
Agent too conservative:
Agent too aggressive:
MIT License - feel free to use and modify for your projects!
Contributions welcome! Please open an issue or PR for: