beyond-all-reason / beyond-all-reason/RecoilEngine
Expand unit coverage in the every-commit fightertest sync testing
- Dominant language
- C++
- Stars
- 679
- Forks
- 290
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 40
Description
### Task
Expand the variety of units utilized in the every-commit `fightertest` sync testing. The goal is to improve test coverage of the underlying engine API by including units with fundamentally different mechanics and behaviors, rather than just the currently tested basic bots, tanks, and aircraft.
### Context
Currently, the `fightertest` sync testing that runs on every commit only tests a very limited subset of units (specifically, one type of bot, tank, and aircraft). While this provides a baseline, it leaves gaps in our sync testing coverage because different unit types utilize different underlying engine APIs and mechanics.
To maximize the effectiveness of these sync tests, we need to increase the variety of units tested. However, we do not need to test *every* single unit in the game. As discussed by the engine team, many units (e.g., T1 Arm fighters vs. T2 Arm fighters, or Arm vs. Core variants) only differ by numerical stats and function identically under the hood.
The focus should instead be on adding units with distinct behaviors and API interactions—for example, adding bombers, hovercraft, submarines, or units with special abilities. This ensures broader coverage of the engine's simulation code and catches potential desyncs in specialized unit logic without unnecessarily bloating the test execution time.
### Acceptance Criteria
* Identify unit types with distinct engine mechanics/API usage that are currently missing from the `fightertest` sync tests (e.g., bombers, submarines, hovercraft, spiders, etc.).
* Update the `fightertest` sync test configuration to spawn and test these newly identified unit types.
* Ensure the additions focus on mechanical variety rather than purely statistical variants (e.g., avoid adding both T1 and T2 versions of the same mechanical unit type).
* Verify that the expanded tests run successfully in the CI pipeline and properly validate sync without introducing excessive execution time overhead.
------
Author: Bruno D
Discord: https://discord.com/channels/549281623154229250/724924957074915358/1492928242431299857
Model: gemini-3.1-pro-preview
Contributor guide
Research direction
Start with the existing every-commit fightertest sync test configuration and review which unit types it currently spawns. Identify mechanically distinct units, add representative units without redundant statistical variants, then run the sync tests and verify the CI pipeline passes without excessive execution-time overhead.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- game-dev, testing
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100