A collaborative game development project inspired by Buckshot Roulette, built in Godot 4.3+ for the SLOP 5.0 event at GDG DA-IICT.
Russian Roulette is a psychological thriller game featuring turn-based gameplay between a player and AI dealer. The game emphasizes tension, strategy, and decision-making under pressure.
- Turn-based psychological gameplay
- AI opponent with strategic decision-making
- Item system with power-ups
- Atmospheric UI and sound design
- Health management system
- Shell management with live/blank rounds
- Godot Engine 4.3+
- Basic GDScript knowledge
- Git for version control
- Clone the repository:
git clone https://github.com/yourusername/Russian-Roulette.git cd Russian-Roulette
- Open the project in Godot Engine
- Run the project to see the current state
Russian-Roulette/
├── scenes/
│ ├── Main.tscn # Main game scene
│ ├── Menu.tscn # Main menu
│ ├── GameOverScreen.tscn # Game over UI
│ └── UI/
│ ├── HealthBar.tscn
│ ├── ShellCounter.tscn
│ └── ItemInventory.tscn
├── scripts/
│ ├── singletons/
│ │ └── GameManager.gd # Core game state management
│ ├── player/
│ │ └── PlayerController.gd
│ ├── ai/
│ │ └── DealerAI.gd
│ ├── items/
│ │ ├── Item.gd # Base item class
│ │ ├── Handcuffs.gd
│ │ ├── Saw.gd
│ │ ├── Beer.gd
│ │ ├── Pills.gd
│ │ ├── Cigarettes.gd
│ │ └── MagnifyingGlass.gd
│ ├── weapons/
│ │ └── Shotgun.gd
│ └── ui/
│ └── UIManager.gd
├── assets/
│ ├── audio/
│ │ ├── sfx/
│ │ └── music/
│ ├── textures/
│ │ ├── ui/
│ │ ├── items/
│ │ └── backgrounds/
│ └── fonts/
├── README.md
├── CONTRIBUTING.md
└── project.godot
- Shell Loading: Random mix of live and blank shells loaded into shotgun
- Turn System: Player goes first, then AI dealer alternates
- Decision Making: Choose to fire at self or opponent
- Item Usage: Strategic use of power-up items
- Health Management: 2-4 health points per player
- Victory Conditions: Reduce opponent's health to zero
- Handcuffs: Skip opponent's next turn
- Saw: Double damage on next shot
- Beer: Eject current shell from chamber
- Pills: Activate "Double or Nothing" mode
- Cigarettes: Restore 1 health point
- Magnifying Glass: Reveal current shell type
We welcome contributions from developers of all skill levels! Check out our Issues page to find features to implement.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Implement the feature (see issue description for requirements)
- Test your implementation thoroughly
- Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
- Choose an issue labeled with your skill level
- Comment on the issue to claim it
- Implement the feature following the project structure
- Test in Godot's run mode
- Submit PR with description of changes
- Basic project structure
- Template scripts with method signatures
- Scene hierarchy setup
See Issues for current development tasks
- Dark, gritty atmosphere with neon accents
- High contrast UI elements
- Psychological tension indicators
- Smooth animations and transitions
- Atmospheric background music
- Distinct sound effects for different shell types
- UI feedback sounds
- Tension-building audio cues
- All scripts include comprehensive comments
- Method signatures provided in template files
- Signal documentation in respective scripts
- Clear UI indicators for game state
- Helpful tooltips for items and actions
This project is licensed under the MIT License - open source
Happy coding! Let's build something amazing together! 🚀