Embark on a journey through the development of the “PMC Super Six 6km” map for Farming Simulator 22, a project born from a desire to refine terrain creation techniques and deliver a balanced gameplay experience. This developer diary, originally penned on December 23, 2021, offers a detailed look into the iterative process of crafting a 6km x 6km terrain, highlighting the challenges and decisions made along the way to ensure both engaging gameplay and optimal performance, crucial for a smooth server experience. While we didn’t explicitly target reducing XML size, the principles of efficient design discussed here are vital for keeping your Farming Simulator 22 server running smoothly and avoiding issues related to overly large mod files.
Genesis of a Terrain: Design and Initial Setup (January 24, 2022)
Driven by the ambition to create another fictional landscape, this project served as practical training for advanced GIMP techniques in terrain design and refining batch processes using GraphicsMagick. The aim was to enhance my workflow and tool pipeline efficiency. This time, the focus shifted from vast expanses to a more compact terrain, intentionally kept under ten kilometers. Moving away from experimental layouts, the decision was made to adopt a more conventional grid-based design, prioritizing functionality and playability over purely stylistic choices.
The dimensions of 6.1km x 6.1km were selected as a unique size, offering a different scale compared to existing maps. The technical specifications were quickly established:
Terrain size: 6.144 kilometers x 6.144 kilometers
Heightmap grid size 4096
Cell size 1.5 meters
Leveraging an existing project directory, “PMC_Test_Farm_6km,” the initial files were examined. The existing terrain utilized a heightScale of “255” and unitsPerPixel of “3,” with a heightmap set to RGB 0,0,0 for a base elevation of 0 meters. Notably, the fieldGround.xml file was absent, indicating an older project structure. Dating back to December 23, 2021, the project files predated Christmas, adding a nostalgic element to the undertaking.
A pivotal decision point emerged: should the terrain be rebuilt from scratch or should the existing project be upgraded? Sentimentality prevailed, and the decision was made to preserve the original project, honoring its Christmas 2021 origins. The plan was to generate a new heightmap using L3DT, experimenting with more varied elevations and challenging farming landscapes. The concept of a hilly terrain emerged, with the idea of smoothing field areas in 3D Sapphire to create a balance between arable land and natural features. The vision expanded to include forestry potential on steeper slopes, recognizing that not all terrain needs to be farmable to be valuable.
Heightmap Generation and Design Document (January 24, 2022)
L3DT was employed to generate a new 4096 resolution heightmap. The initial output was deemed too rugged, prompting a clipping process to limit elevations between 1m and 150m. Even with clipping, the terrain retained a wild character, but it was decided to proceed and assess its suitability within Farming Simulator 22. This process resulted in a heightScale of “149.”
The design phase commenced in GIMP, starting with the newly generated heightmap. To optimize performance, the image mode was set to RGB 8bit. Asphalt roads were then painted onto the lowest elevation points, aiming to create natural-looking road placements that followed the terrain contours.
A critical oversight occurred during the design document creation. After completing the painting work, it was realized that the XCF image had not been resized to a one-meter-per-pixel scale (6144×6144 pixels). The painting had been done on the 4096×4096 heightmap image, a mistake that necessitated rework.
GraphicsMagick Processing and In-Game Testing (January 24, 2022)
The process of converting images into a format readable by Giants Editor (GE) began using GraphicsMagick. A series of errors and missteps followed, including directory mix-ups and issues with weight image integration. Troubleshooting and adjustments were necessary to ensure the painted design translated correctly into the game environment.
After persistent effort, all images were successfully loaded into GE. Despite not being fully ready for in-game testing, a preliminary check was deemed necessary to evaluate the heightmap’s visual impact and gameplay implications.
The in-game test revealed that while the elevations were visually interesting, they were excessively rough and steep. Operating heavy machinery, such as grain carts, semi-trucks, or seeders, would likely be a challenging and frustrating experience. The free-form road shapes also appeared aesthetically unappealing. The initial idea of a US road grid, which had been abandoned, was reconsidered. The heightmap’s dramatic features had perhaps unduly influenced the design process.
Motivation waned after the initial test. The desire to farm in-game or watch real-life farming videos took precedence over further editing. A critical error surfaced during this phase:
2021-12-23 22:04 Error: AI block info layer has invalid size.
This error, related to the AI block info layer’s size, needed to be addressed before further progress could be made.
Error Resolution and Design Refinement (January 24-25, 2022)
The “AI block info layer has invalid size” error was resolved by adjusting the infoLayer_* image resolution to 16384. Work resumed on “PMC Super Six 6km” with a fresh perspective. Recalling the previous day’s assessment of an overly rough heightmap and a flawed design document layout, the immediate focus was on rectifying these issues. The heightmap was deemed fixable, but the design document required a significant overhaul.
Another in-game test was conducted to reassess the terrain after the initial adjustments. Synchronization of the terrain project directory to the FS22 mods directory allowed for quick iteration. The loading screen revealed placeholder icon/preview images – blindingly white and needing immediate attention. Universal PMC placeholders were deemed necessary for future projects.
Floating Elmcreek tutorial icons persisted in the map, remnants from template files. These were targeted for removal. The heightmap’s excessive elevations remained a primary concern, necessitating further reduction. Vehicle shop triggers were missing, hindering basic vehicle testing. The ESC mapview overview.dds image was absent, and soil composition pages displayed incorrectly due to missing _Level images and fieldGround.xml. The “county line” aesthetic of the free-form roads was deemed undesirable.
The in-game test provided actionable data for further edits. Universal PMC icon/preview dds images were created and integrated into the terrain project. modDesc.xml was updated to v0.1, and unused cache files were removed. The terrain generation batch file was refined based on lessons learned, and the PMC_Super_Six_6km.xml config file was cleaned up, removing mapUS tutorial icons and interactive icons for animal dealer and vehicle shop.
A warning message appeared in the console:
2022-01-24 22:54 Warning: Farmland-Ids not set for all pixel in farmland-infoLayer!
This prompted the activation of farmland ID 1 for the new farmer game mode. L3DT was re-engaged to reduce the heightmap’s vertical range from 150m to 30m, resulting in a new heightScale of “29.” The heightmap_L3DT.png image was exported, and GE was loaded. The revised heightmap was deemed more suitable. The careerStartPoint transformgroup was aligned to the ground, and vehicle shop triggers were imported – a process that inexplicably took an extended period, highlighting potential inefficiencies within GE v9.0.2.
The need for a comprehensive mapUS v1.2 sample terrain template emerged, pre-loaded with essential elements like vehicle shops, animal dealers, bale selling points, PMC_Helpers, and basic tree types, to streamline future terrain development.
Placeables, Selling Points, and Vegetation (January 25 – February 3, 2022)
The protracted vehicle shop trigger import finally concluded. PNG to overview.png conversion using GraphicsMagick revealed an issue with the batch file – field red colors were not translating to the correct FS22 field color. Investigation traced the problem to a non-empty railroads.png; GIMP’s layer handling required a visible transparent layer for proper export. infoLayer _Level images and fieldGround.xml were copied into the terrain project to rectify soil composition page display issues.
Another in-game test was conducted, revealing a farmland error:
2022-01-25 00:45 Warning: Farmland-Ids not set for all pixel in farmland-infoLayer!
2022-01-25 00:45 Error: Farmland-Id 1 not defined in farmland ownage file 'C:/FS22.Mods/Dev/PMC_Super_Six_6km/maps/PMC_Super_Six_6km/data/PMC_Super_Six_6km_farmland.grle'. Skipping farmland definition!
This newbie editing oversight was addressed by copying the farmland image from the mapUS v1.2 sample files. The farmland image was initially RGB 0,0,0, and was corrected to RGB 1,1,1. GE saving times remained excessively long, causing significant frustration.
PMC_Super_Six_6km.i3d saved in 894357.510200 ms
The farmland error was resolved, but soil composition page scaling issues persisted, traced back to an incorrect fieldGround line in PMC_Super_Six_6km.xml, which was subsequently fixed. The focus shifted to fields, selling points, and bale selling points. GE loading times continued to be a major impediment. Fields and PMC_Helpers were imported, and a coordinate placeables.xml template was deemed too technical and unnecessary.
Twelve selling points were placed, followed by a bale selling point. The first forest/tree line was generated, and the lengthy process of placing forests commenced. A design document bug was identified – a dark grayish texture strip at the terrain edge, requiring investigation. Tree placement concluded after an unexpectedly long two hours. Despite the effort, the terrain’s visual appeal with vegetation and farm yards was considered significantly enhanced. The decision was made to add a few more field definitions, focusing on contract opportunities.
A few additional field definitions were implemented, sufficient for contract gameplay. Another in-game test confirmed a field-oriented design with farm yards and vegetation. The “goofy screwy” design aesthetic persisted.
The project transitioned to the next terrain on the list, with “PMC Super Six 6km” deemed visually complete, requiring only a final name and testing phase.
Collision and Farmland Refinements (January 30, 2022)
A new editing day began with an in-game check revealing a wrong-sized placeables collision image. Backups were created, including a _run_backup_PMC_Super_Six_6km.bat script for efficient compression and network backup.
The “Blocked area map is wrong size” error reappeared:
Error: Blocked area map is wrong size for terrain (2048 x 2048) vs (4096 x 4096)
The issue was traced to infoLayer_placementCollisionGenerated, prompting PNG conversion, resizing, and GDM/GRLE replacement. The _run_graphicsmagick_FS22_infoLayer_to_PROPER_size.bat script was utilized for targeted resizing. Standard GDM/GRLE mass replacement was performed, and GE was loaded. Transformgroup “fields” was renamed to “Fields,” and “vehicleshop” was moved to a “Buildings” transformgroup. Saving times remained excessive.
PMC_Super_Six_6km.i3d saved in 828062.468600 ms
PMC_Helpers.i3d was imported, “Grain.Bins” was renamed to “Placeables,” and PMC_Helpers.i3d was re-exported and deleted. Subsequent save times improved dramatically:
PMC_Super_Six_6km.i3d saved in 7566.849300 ms
PNG to GDM/GRLE mass replacement was performed for in-game testing. The blocked area map error was resolved. The farmland image lacked detailed farm yards and cheaper areas, necessitating farmland image painting in GIMP. The design_doc.xcf image was opened, revealing a missing background color.
GIMP painting of the farmland XCF was completed, followed by GraphicsMagick conversion to GE-readable PNG. The project was loaded in GE and saved, enduring another lengthy save process.
PMC_Super_Six_6km.i3d saved in 862658.429800 ms
During loading, basic icon/preview images were noted as needing mapview image integration. In-game testing confirmed improved farmland and the absence of log errors.
Placeables Integration and Final Touches (February 3-6, 2022)
A new editing day focused on correcting the rocks_density image. A pre-painted rocks_density.png template was copied, and with no remaining bug/issue list items, the terrain was prepared for saving in GE to finalize GDM/GRLE formats.
PMC_Helpers and TrailerParkFarms (TPF) vehicle sheds were integrated. PMC_Helpers import remained a time-consuming process. Basic placeables were added, prioritizing efficiency over extensive detailing. TPF 72×150 and 90×200 sheds were imported and prepared for terrain integration. Placeables placement commenced after lunch.
Three Meridian flat bottom 3608 grain bins and TPF vehicle sheds were placed in the first farm yard, aiming for a compact and functional layout. Additional placeables, including a Meridian fuel tank, fertilizer bins, and a water tank, were added, creating a densely populated farm yard.
A second farm yard was developed, followed by a smaller third yard and a fourth, more spacious yard.
The limited size of the 6.1km x 6.1km terrain became apparent, with only a few farm yards available. Three utility pole lines were created, completing the new placeable additions.
Placeables.xml was cleaned up, and in-game testing commenced. Initial tests revealed issues with missing TPF shed packs, storeItems.xml config lines, and XML file placement. Debugging and corrections were made iteratively. Selling Meridian flat bottom 3608 grain bins initially failed, requiring the addition of <boughtwithfarmland>true</boughtwithfarmland>
to flatBottomBin3608.xml. This enabled selling of the grain bins. The <canBeSold>true</canbesold>
property was added to placeable storeData for future use and applied to all placeables in the project.
In-game testing confirmed farmland purchasing and placeable selling functionality. A naming decision was made: PMC Super Six 6km. A savegame with new farmer starter vehicles was created and integrated into the terrain project. In-game checks verified vehicle and implement appearance. A backup was created for release packet preparation.
During backup preparation, the terrain file renaming was overlooked. Gaming computer restart and file renaming were necessary. Final file renaming and in-game verification were completed after lunch. The project was deemed ready for release packet creation. Proofreading of the dev diary page and website updates preceded the official release.
Post-Release Fixes and Enhancements (February 9 – December 19, 2022)
Post-release editing addressed landscaping tool issues with trees and plants, resolved by copying mapUS storeItems.xml config lines. “Grass Is Always Greener” updates (September 21, 2022) focused on adding new field definitions, including grass fields for contracts, and correcting selling point issues with bales. “Spray This Spray That” updates (October 3, 2022) addressed liquid fertilizer usage rates by modifying maps_sprayTypes.xml. “Field Definitions Added” updates (December 9, 2022) completed field definitions, removed unwanted sounds, and prepared for testing release. “2022-12-19 Utility Pole Wires” added wires to utility poles and addressed a recurring “Blocked area map is wrong size” error, highlighting the cyclical nature of development and debugging.
Major Structural Damage and Overview Map (January 24 – February 22, 2023)
“2023-01-24 Major Structural Damage” detailed the umpteenth re-emergence of the “Blocked area map is wrong size” error, necessitating further investigation and correction of infoLayer_placementCollisionGenerated.png dimensions. Field corner refinements were undertaken, involving significant design document modifications to improve field accessibility for large equipment. Railroad tracks and forest adjustments were implemented, necessitating field definition rework. PDA/overview.dds and preview.dds images were updated. Fruit_density painting for grass and shrubbery was added, leading to v0.3 and v0.3.1 testing versions. “2023-02-22 Overview.dds GIMP Painting” marked the creation of the overview.dds PDA map image outside area, completing a significant visual enhancement and concluding this detailed development diary.
Conclusion: Optimizing for Performance and Gameplay
The development of “PMC Super Six 6km” exemplifies the iterative nature of game modding, filled with design choices, technical challenges, and continuous refinement. While this diary doesn’t directly address XML file size, the underlying principles of efficient design and optimization are paramount. Creating well-structured and optimized maps, minimizing unnecessary complexity and ensuring assets are appropriately sized, indirectly contributes to smaller, more manageable mod files. This, in turn, can alleviate potential server performance issues related to loading and processing large XML configurations. By focusing on efficient terrain design and asset management, map creators can contribute to a smoother and more enjoyable multiplayer experience in Farming Simulator 22, reducing the likelihood of encountering issues related to excessive XML sizes and server strain.