After spending a long time on it, we’ve finished the migration of Cattle and Crops’ engine to Tombstone v2.91 for the most part. All gameplay relevant parts of the engine have been adapted - the remaining work will be mostly the integration of the editor and landscaping tools changes.
In the last status update we have already given you an insight into the extent of the changes. During the last week and a half we used the time to fix bugs that were caused by the integration of the Tombstone Engine. An example would be field tessellation, but also internal editor or script problems.
With the Tombstone conversion we have taken a big step into the future. You can see the changes mainly in the new calculation of the trees and the resulting increased performance. The new engine will allow us to make extensive improvements to the game, especially in terms of performance and looks: two areas in which we will gradually invest time.
The currently integrated Tombstone version is v2.91, which is the basis for being able to integrate Tombstone v3.0. With that version, CNC will be able to offer a jump forward in the graphics area.
As announced before, we have now also replaced the Strautmann brand with our house brand Hammer with this update. The models will be automatically replaced in your save games with the new vehicles. All in all, this update consists of countless small features, changes, and above all bug fixes.
We have added support for existing tanks in field cultivation tasks, which means storage of seeds and fertilizer now makes a lot more sense. Also, some of the task creation wizards have been tidied up and improved, for both clarity and convenience.
All other changes can be found in the changelog.
Trees in the distance are now rendered using imposter billboards, which leads to a performance improvement as there are 4000 fewer draw calls to be sent to the graphics card per frame
Liquid fertilizer tank added at the cow shed (can both be filled and emptied)
Dammann Land-Cruiser can now be used for liquid fertilizer transport
Farm slurry tank can now be filled using vehicles
Support for regular tanks in field work tasks
You can now use your own fertilizer or seeds from your tanks (instead of re-purchasing them at the trader). For example: store NPK 15/15/15 in the grain storage, and use it in the task with the Rauch Axis. In addition, the BGP tank can be used, allowing you to fertilize using BGP digestate.
Warning 1: the validation only checks for a potential fill type compatibility, not for the actual current fill type. Meaning: you’re responsible for the fill level and fill type of the tanks when the task is executed.
Warning 2: at the moment the vehicle will continue driving its tracks even when the refill storage tank is empty - and ignores all economic interests you might have. We’re working on that… - in the meantime you should activate the rebuy fill type in order to avoid additional work.
The field menu displays the fields’ names (support for InfoForTaskAndQuest naming). Info: At the moment none of the Albergtal fields have a custom name.
All objects with an InfoForTaskAndQuestID can now be defined specifically as a possible target location for tasks (“Available in Tasks”). This will lead to much cleaner drop down menus.
Field name and the field entry’s name are automatically concatenated in target menus (i.e. F28 and north-west = “Field 28 north-west”)
AutoPilot is visualized in the speedometer display, when active
Hard coded vehicle camera distance has been replaced by a console variable ($maxCameraDistance) with a new, reduced default value of 25 meters
Traffic vehicles can now have spawn probabilities (
<category id="traf" spawnProbability="50" />). These are open-ended: you can give a first vehicle a value of 1, a second one a value of 10, and a third one a value of 613. If nothing is set, the default value of 1 will be used.
Traffic vehicles can now receive color variables, which will be sent to the material shader as a parameter. At least one node that uses the corresponding material needs to be referenced, incl. parameter slot, material index (when using multi-material geometries) and the hex color code. Example:
In this case, the material used by “body” gets red in parameter slot 0, the material used by “box” gets blue in slot 3. In addition, you can define color probabilities (usage identical to traffic vehicle spawn probabilities).
Attention: each referenced material has to be made unique using <dynamicMaterial node="body" index="0" />.
Work width, fertilizer spread rate in tasks
When using corresponding vehicles (Rauch Axis, Dammann Land-Cruiser, Stapel VT) in field work tasks, the work width and/or the fertilizer spread rate can be set in the task creation wizard. The track widths will be adjusted accordingly.
Property “Handle Task Event”: activates/deactivates the node controller when the task starts/ends
Script method “GetActiveTaskSetting”
Returns the current task’s settings in a vehicle (if a task is active, if it’s controlled by an AI driver, if the vehicle should seed, if the vehicle should fertilize, the work width, the spread rate, if swath deposit should be activated)
Script method “GetFillLevelNormalized”
returns normalized tank fill level (0 - 1)
Script method “SyncPassiveUserActions”
Forces the synchronization of passive UserActions to the parent vehicle’s states
Console Command “genImp”
Generates imposter textures for geometries in .wlds. Usage: either directly in the console, or as batch .cfg file (analog to texture import)
Strautmann vehicles: converted to house brand “Hammer”
New names, new textures, new dirt masks - everything else is the same
C4 logos have been replaced with Tombstone versions
Console command “abortNavigation” doesn’t require a mandatory vehicleID - also stops the currently entered vehicle when no ID is provided
Mission command “attachMachine” now also works between two implements
Create field work task menu reworked:
Fill type setting per vehicle
Repositioning and resizing of most elements for better usability
Navigator: finding of next NavPath improved
Game Speed reworked
There are new game speed levels: 1, 3, 6, 12, 30, 120 - all others have been removed. In addition, there’s no “pause” speed anymore, instead there’s an option to directly open the sleep window
For testing purposes, there’s still the console command timeFactor
Chaff can be fed to the bulls in the stable
Fruit distance colors adjusted
Console command body is now rigid (Tombstone change)
Fog levels decreased
Editor: Nav paths in 3D viewport have better visibility
Rauch Axis: empty tank UserAction can now be interrupted
Dammann Land-Cruiser: empty tank UserAction can now be interrupted
Stapel VT: empty tank UserAction can now be interrupted
Hammer Corn King, Seeders: empty tank UserAction can now be interrupted
Tank hatch has new animation, can now be interrupted
Tank fill mesh enlarged significantly, hatch can not be closed if fill level above 53%
Swath deposit system has been separated into two actions (1 on/off command, 1 mode switch command)
Raise/Lower via SendUserActionMessage was only used with the change mode “Auto” in an implement. Now also works with change modes “Activate” and “Deactivate”
The rendering of certain lists are buggy due to the Tombstone integration. Specifically the notification area on the screen’s left side doesn’t clip the Items correctly at the moment.
The vehicle 3D view in the fleet menu is partly buggy due to the Tombstone integration and has to be re-implemented.
Anti aliasing has been deactivated in this update, due to Tombstone forcing 4x AA and manually blending the four pixels in a separate shader. MSAA 8x should not be used with 4K resolutions anyway, as there are too many pixels making 8x too expensive. We’re going to test alternatives in the future, such as SMAAx2, and offer them if there are performance improvements.