OSM2TERRN2 – Project Update and Call for Collaboration
Hello everyone,
I’d like to take this opportunity to provide a new update on the current state of
OSM2TERRN2 (now officially known as
OSM2TERRN for the sake of clarity, although this may change in the future), and at the same time, open the project to collaboration.
Project Repository
For those interested in exploring the codebase or contributing, you can find the project here:
GitHub Repository - OSM2Terrn:
https://github.com/Joako360/osm2terrn
Since some time has passed since the last update, I wanted to include the link again to make access easier for both new and returning contributors.
Current Project Status
During the past period, I have been mainly focused on the
complete restructuring of the project, with the aim of making it more
maintainable,
scalable, and
accessible for future contributors.
The most important changes are the following:
Code structure changes
Code cleanup and better separation of concerns
Standardized project structure
Basic documentation for developers
Preparation of the project for collaboration
Integration of Assisted Development Tools
At the same time, I have been integrating new tools that can assist in the development process:
- Integration of GitHub Copilot
- Integration of ChatGPT / Codexfor:
- Investigating possible solutions
- Code refactoring
- Rapid prototyping
These tools do not replace the development process but have been useful in accelerating the development process and investigating possible alternatives in an efficient way.
Project Objective (Reminder)
The project’s objective is to generate terrains that are playable in
Rigs of Rods, using real-world data provided by
OpenStreetMap and other open data sources, such as:
- Heightmap generation
- Integration of road networks
- Potential future additions:
Considerations About Scale
As for one of the issues raised in the above discussion, it is necessary to make the following clarification regarding the current approach to the map’s scale.
Of course, working with
1:1 scale maps might not be as exciting in some gameplay scenarios, especially when it comes to crossing long distances. This approach might be better suited for specific
simulation gameplay scenarios, such as long-haul driving simulators.
However, at this stage of the project, the goal is to create
small-scale urban environments, and the
1:1 scale approach might be better suited for creating an immersive experience by recreating familiar places such as neighborhoods or familiar areas of the environment, even with the more ‘fantasy-oriented’ vehicles that might be implemented in the project.
At the same time, this approach significantly simplifies the development process at this stage by avoiding the added complexity of working with geometric transformations and rescaling geospatial data.
Of course, in the future, when the project is further developed, the possibility of implementing
adaptive scaling mechanisms according to the type of map or gameplay scenario is not excluded.
Call for Contributors
At this point in the project’s development, I believe it has reached the stage where it can benefit from the contributions of the community.
I am looking for contributors that are interested in joining the project and contributing to the development process. Specifically, I am interested in working with the following groups of people:
Python developers
Interest in geospatial data
Willingness to experiment and contribute ideas
Rigs of Rods enthusiasts (but this is not required)
Areas for Contribution
There are several areas that might benefit significantly from the contributions of interested individuals in the project’s development. Specifically:
- Heightmap generation and improvement
- Processing and simplification of OSM geometries
- Procedural road generation
- Terrain–infrastructure integration
- Optimization and performance
- Testing and validation
- Documentation
- Implementation of interactive command-line interfaces (CLI) and text-based menus
Important Note
This project is still in an early stage, which means that:
- The architecture is subject to significant changes
- Some components are still experimental
- Both code contributions and feedback are highly appreciated
Closing
If you are interested in the project or would like to contribute, you are more than welcome.
Any kind of contribution is valuable, from code to suggestions or testing.
Thank you to everyone who has been following the project so far
— Joaquin, aka. Joako360