Development for Overthrow is done through Arma Reforger Tools, which provides the necessary environment for compiling and testing EnforceScript code.
- Primary IDE: All development must be done through the Arma Reforger Workbench
- Compilation: Cannot compile/build the project outside of Workbench
- Testing: Must use Workbench's built-in testing environment
- No External Compilation: The project cannot be compiled outside of Arma Reforger Tools
- No Unit Testing: No unit testing or integration testing framework available
- Manual Testing: Testing relies on old-school play-testing methods
- Write EnforceScript code in the Workbench editor
- Follow Overthrow's coding conventions and patterns
- Use the component-based architecture
- Compile through the Arma Reforger Workbench
- The user (not the assistant) must perform compilation
- Report any compile errors back to the development team
- Test features through actual gameplay
- Use debug prints and logging for troubleshooting
- Test scenarios should be specific and detailed
Since there's no automated testing framework, testing requires:
- Play-testing: Test features in actual game scenarios
- Debug Logging: Use debug prints to trace execution
- Scenario Testing: Create specific test scenarios for features
When implementing new features or bug fixes, provide specific testing instructions:
// Example testing instructions for a new feature
/*
Testing Instructions:
1. Start a new game as resistance faction
2. Recruit a civilian using the recruit action
3. Verify the recruit joins your group
4. Test AI commanding with recruit
5. Save and reload the game
6. Verify recruit persists correctly
*/
- Detailed Steps: Provide step-by-step testing procedures
- Expected Outcomes: Clearly define what should happen
- Edge Cases: Include edge case scenarios
- Performance Testing: Test with multiple players/entities
When the user reports issues:
- Provide the full error message
- Include file names and line numbers
- Report any syntax or type errors
- Include debug prints and logs
- Describe the steps to reproduce
- Note any crashes or unexpected behavior
- Use debug prints strategically
- Log important state changes
- Include relevant variable values
- Follow EnforceScript syntax requirements
- Ensure proper null checking
- Use appropriate access modifiers
- Follow naming conventions
- Monitor performance impact
- Test multiplayer scenarios
- Verify persistence functionality
- Check console compatibility
- Compile code through Workbench
- Execute test scenarios
- Report compilation and runtime errors
- Provide feedback on functionality
- Write EnforceScript code
- Provide detailed testing instructions
- Debug based on user feedback
- Implement fixes and improvements
- Incremental Development: Make small, testable changes
- Clear Instructions: Provide specific testing steps
- Error Handling: Include proper error checking
- Documentation: Document testing procedures
- Iterative Testing: Test frequently during development
- Multiplayer Considerations: Always test multiplayer scenarios
- Performance Awareness: Monitor performance impact
- Console Compatibility: Test on both PC and console configurations
- EnforceScript syntax errors
- Missing includes or dependencies
- Type mismatches
- Circular dependencies
- Null pointer exceptions
- Performance bottlenecks
- Multiplayer desync
- Persistence failures
- User reports issue with detailed information
- Assistant analyzes the problem
- Fix is implemented with explanation
- New test instructions are provided
- Process repeats until resolved
This workflow ensures quality code development despite the limitations of the development environment.