Issue Reporting and Bug Tracking
Relevant source files
The following files were used as context for generating this wiki page:
The Issue Reporting and Bug Tracking system for Trans AI serves as the primary communication channel between users, contributors, and the lead developer. It is designed to capture technical anomalies, propose new transport capabilities, and track the project's progress against the established development roadmap.
By utilizing structured templates, the project ensures that all reports contain necessary technical context, such as version numbers and environment details, which are critical for an AI operating within the OpenTTD ecosystem. This system is centralized on the project's GitHub repository.
Sources: README.md:94-96, .github/ISSUE_TEMPLATE/bug_report.md:1-5
Issue Classification
The project categorizes incoming feedback into two primary streams: Bug Reports and Feature Requests. Each stream has a dedicated entry point to ensure data consistency.
Bug Reports
Bug reports are intended for reporting reproducible problems or unexpected behavior in the AI's logic, such as pathfinding failures or crashes. Contributors are required to provide a clear description, steps to reproduce, and the expected vs. actual behavior.
Sources: .github/ISSUE_TEMPLATE/bug_report.md:1-20
Feature Requests
Feature requests are used to propose new functionalities, such as support for new vehicle types (e.g., choppers to oil rigs) or advanced game modes like CargoDist.
Sources: .github/ISSUE_TEMPLATE/feature_request.md:1-15, ROADMAP.md:3-37
Reporting Workflows
The following diagram illustrates the lifecycle of a report from initial discovery by a user to its integration into the development roadmap.
The flow ensures that every submission is documented and evaluated against existing project goals.
Sources: .github/ISSUE_TEMPLATE/bug_report.md, .github/ISSUE_TEMPLATE/feature_request.md, README.md:94-96
Required Information for Bug Reports
To facilitate rapid debugging, the project mandates a specific set of information for every bug report.
| Field | Requirement | Description |
|---|---|---|
| Description | Mandatory | A clear and concise description of what the bug is. |
| Version | Mandatory | The version of Trans AI (YYMMDD format or info.nut version). |
| Reproduction | Mandatory | Step-by-step instructions to recreate the issue. |
| Expected Behavior | Mandatory | What the AI should have done in that scenario. |
| Actual Behavior | Mandatory | What the AI actually did (e.g., error logs, stuck vehicles). |
| Screenshots | Optional | Visual evidence to help explain the problem. |
Sources: .github/ISSUE_TEMPLATE/bug_report.md:7-28, README.md:83-85
Roadmap Alignment
Bug tracking and feature implementation are heavily influenced by the project's ROADMAP.md. The roadmap acts as a checklist for the AI's transport capabilities across different routes:
- Air Route: Tracking aircraft and chopper service status.
- Road/Tram Route: Monitoring passenger and freight cargo transport.
- Marine Route: Ensuring proper buoy usage and cargo flow.
- Rail Route: Managing complex double-track logic and industry chains.
When a feature request is accepted, it is often mapped to these existing categories in the roadmap to ensure it follows the "Cargo Concept" (many-to-one) strategy.
Sources: ROADMAP.md:1-48, README.md:1-10
Legal and Contribution Constraints
When reporting issues or contributing code to resolve them, users must adhere to the project's licensing terms. Trans AI is licensed under the GNU General Public License version 2.0.
By contributing, users agree to license their modifications under the GNU GPL v2, ensuring the software remains free and open source.
Sources: README.md:89-92, license.txt:1-20
Conclusion
The issue reporting and bug tracking system provides a structured framework for the evolution of Trans AI. By strictly following the provided templates and aligning with the project's roadmap and licensing, the community can effectively contribute to the AI's goal of mastering all transport types in OpenTTD.