Setting up a development environment for Overthrow requires the Arma Reforger Tools and proper project configuration. This guide will walk you through the complete setup process.
- Steam: For accessing Arma Reforger Tools
- Git Client: GitHub Desktop recommended for Windows/MacOS
- Arma Reforger Tools: Available in Steam under "Tools" section
- Windows 10/11 or macOS: For running Arma Reforger Tools
- 16GB+ RAM: Recommended for smooth development experience
- SSD Storage: Recommended for faster project loading
- Dedicated Graphics: Required for World Editor testing
¶ 1. Install Git and Clone Repository
-
Install GitHub Desktop
-
Clone Overthrow Repository
- Follow the repository cloning guide
- Repository URL:
https://github.com/ArmaOverthrow/Overthrow.Arma4.git
- Choose a local folder for development (e.g.,
C:\Dev\Overthrow.Arma4)
¶ Option B: Command Line Git
# Clone the repository
git clone https://github.com/ArmaOverthrow/Overthrow.Arma4.git
cd Overthrow.Arma4
-
Access Steam Tools
- Open Steam
- In your Library, switch from "Games" to "Tools"
- Search for "Arma Reforger Tools"
-
Install Tools
- Install "Arma Reforger Tools"
- Wait for installation to complete (several GB download)
As of v1.4, Overthrow has no mod dependencies. The base game is the only requirement, so there is nothing to copy into your Workbench addons folder.
Earlier versions required the Enfusion Persistence Framework (EPF) and the Enfusion Database Framework (EDF). Both were removed in v1.4 when saving moved onto Arma Reforger's own persistence system. If you set up a development environment before v1.4, you can remove them from My Documents/My Games/ArmaReforgerWorkbench/addons.
-
Launch Arma Reforger Tools
- Start "Arma Reforger Tools" from Steam
- Wait for the Workbench to fully load
-
Add Existing Project
- In Workbench, click "Add Existing"
- Navigate to your cloned Overthrow folder
- Select
addon.gproj file
- The project should appear in your project list
-
Open Project
- Double-click on the Overthrow mod entry
- Wait for project to fully load (may take several minutes)
Overthrow supports AI-assisted development through context files that help AI assistants understand the project structure and conventions.
-
Locate Context Template
- In the project root, find
CLAUDE.md.example
- This file contains comprehensive project documentation for AI assistants
-
Configure for Your AI Tool
For Claude Code:
# Rename the example file
cp CLAUDE.md.example CLAUDE.md
For Google Gemini CLI:
# Rename for Gemini
cp CLAUDE.md.example GEMINI.md
For Other AI Tools:
- Use the appropriate filename for your AI assistant
- Most tools look for
README.md, CONTEXT.md, or tool-specific files
-
What the Context File Provides
- Architecture Patterns: Component system, manager/controller patterns
- Coding Conventions: EnforceScript syntax, naming conventions, best practices
- Network Synchronization: RPC patterns, replication guidelines
- Persistence: Serializer and tracking patterns for the game's own persistence system (see Persistence)
- Project Structure: File organization and dependency information
- Development Constraints: Workbench-only compilation, testing procedures
- Code Generation: AI can generate EnforceScript code following Overthrow patterns
- Pattern Recognition: AI understands the component architecture and coding conventions
- Bug Detection: AI can spot common EnforceScript syntax issues and logic errors
- Documentation: AI can help document code and create technical documentation
- Rapid Prototyping: Quickly generate boilerplate code for new features
- Context Awareness: AI has access to project patterns and constraints
- Code Generation: Generate code that follows Overthrow conventions
- User Testing: You compile and test the code in Workbench
- Iterative Refinement: Report issues back to AI for fixes and improvements
- Documentation: AI can update documentation as features are implemented
- Always Test: AI-generated code must be compiled and tested in Workbench
- Follow Patterns: The context file ensures AI follows established patterns
- Report Issues: Provide detailed feedback about compilation errors or runtime issues
- Collaborative Development: AI assists with code generation, you handle testing and validation
-
Navigate to Test World
- In the Resource Browser, navigate to:
Overthrow/Worlds/MP/OVT_Campaign_Test.ent
- Double-click to open in World Editor
-
Launch Test Session
- In World Editor, click the Green Play button
- OR press F5
- Game should launch in test mode
For full-scale testing:
- Open
Overthrow/Worlds/MP/OVT_Campaign_Eden.ent instead
- Note: Full map loads much slower than test world
-
Update Repository
- Pull latest changes before starting work
- Use GitHub Desktop "Fetch Origin" → "Pull Remote"
-
Development Process
- Make code changes in Workbench Script Editor (with or without AI assistance)
- Compile and test frequently
- Use test world for rapid iteration
-
Testing and Validation
- Test in both single-player and multiplayer scenarios
- Use debug prints for troubleshooting
- Follow specific testing instructions for features
-
Create GitHub Account
-
Watch Repository
- Go to the Overthrow repository
- Click "Watch" in the top right
- Select notification preferences
-
Before Updating
- Exit game mode in World Editor
- Save any work in progress
-
Pull Updates
- In GitHub Desktop: "Fetch Origin" → "Pull Remote"
- In Command Line:
git pull origin main
-
Recompile Scripts
- In Reforger Script Editor
- Click: Build → Compile and Reload Scripts
- Wait for compilation to complete
- Path Issues: Verify project path contains no special characters
- Permissions: Run Workbench as administrator if needed
- Stale Dependencies: If you set up before v1.4, remove the old EPF and EDF addons — Overthrow no longer uses them
- Missing Includes: Check for missing dependency references
- Syntax Errors: Verify EnforceScript syntax compliance (no ternary operators!)
- Version Conflicts: Ensure all dependencies are compatible versions
- Memory: Close other applications, ensure 16GB+ RAM available
- Storage: Use SSD for project files if possible
- Graphics: Update graphics drivers for optimal World Editor performance
- Join the Discord server
- Ask questions in
#overthrow-reforger channel
- Report bugs and discuss features
- Report bugs on the GitHub repository
- Include reproduction steps and error messages
- Search existing issues before creating new ones
- Backup Regularly: Commit changes to Git frequently
- Use Branches: Create feature branches for significant changes
- Document Changes: Write clear commit messages
- Test Early and Often: Compile and test after each change
- Use Test World: Faster iteration than full map
- Multiplayer Testing: Test with multiple clients when possible
- Monitor Resource Usage: Watch memory and CPU usage during development
- Optimize Code: Follow Overthrow coding standards
- Profile Performance: Use Workbench profiling tools when available
- Stay Updated: Pull latest changes regularly
- Communicate: Discuss major changes in Discord
- Follow Conventions: Adhere to project coding standards
- AI Integration: Use AI context files to maintain code quality and consistency
This setup process will provide you with a fully functional Overthrow development environment for contributing to the project, with optional AI assistance to accelerate development.