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)
-
Copy Dependencies
- Navigate to:
My Documents/My Games/ArmaReforger/addons
- Copy the following 3 dependencies to:
My Documents/My Games/ArmaReforgerWorkbench/addons
- Enfusion Persistence Framework (EPF)
- Enfusion Database Framework (EDF)
- Any other dependencies listed in the project
-
Verify Dependencies
- Ensure all dependency folders are properly copied
- Dependencies should appear in the Workbench addon list
-
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: EPF integration patterns and save/load procedures
- 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
- Missing Dependencies: Ensure EPF and EDF are in Workbench addons folder
- Path Issues: Verify project path contains no special characters
- Permissions: Run Workbench as administrator if needed
- 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.