Back from the much needed break, feeling refreshed. I know I said I'd be diving straight into a crew positioning overhaul, but I figured I'd give freeform a bit of attention first. There were a few features which were basically finished and just needed a bit of wiring up.
This update is for the 0.2 alpha branch, so you'll need to opt-in to play it:
Attachable plate structures
You can now place editable plate structures on their own. Able to be picked up, moved around, mirrored and duplicated, just like regular parts. These can be placed on cannon barrels to allow you to build your own mantlets or oscillating turrets.
Fixes
Plate joint weld marks are now perfectly aligned.
Fixed a common crash when deleting faces on smoothed plate structures.
Fixed incorrect plate thickening causing unsightly triangles on smoothed plates.
Cannon bores no longer receive decals.
Rail and straight antennas are now able to be placed again.
Freeform extrude and merge no longer resets thickness on the affected faces.
Plate structures now correctly save and load isolated edges with no connected plates.
Extruding a single point now correctly connects the new point with the original point with an edge.
Plate structures no longer have interlocking plate textures on edges which aren't connected to another plate.
General stability improvements.
Changes
Freeform points are now drawn x2 smaller.
Reduced z-fighting/flickering on certain plate thickening cases.
The refocus hotkey now focuses on the centre of all selected freeform points/faces/edges, instead of on the origin of the structure.
Significantly reduced the download size of future updates.
You can now select face corners in freeform. This allows precise control over how thickening behaves.
Freeform fill can now be done with 2 points selected to form an edge between them.
Dropdowns now display up to 10 options at once.
Additions
Added addon plate structures.
Added duplicate action to duplicate all selected freeform geometry. (Shift+D by default)
Edges can now be marked as welded, allowing them to ignore the smoothing angle threshold.
Starting on the crew positioning overhaul once any issues with this update are fixed.
- Hamish
Development Break (29/04/2024 to 03/05/2024)
Hi all,
Just letting you know I'll be taking next week off to recharge.
Back on the 6th of May to begin an overhaul to 0.2 crew posture. Hopefully taking the headache out of squeezing crew into your tank by allowing control over the position of their every joint.
After that, focus shifts to bringing combat and backwards compatibility back to 0.2.
The 0.2.2 powertrain layout system wasn't up to the task and had some fundamental issues and limitations. I've put a new one in, using a different approach which fixes said problems and will speed up reimplementation of clutch braking and future steering systems.
There's partial backwards compatibility for 0.2.2 powertrains. Engines, transmissions and tracks will all be carried across, but you'll need to redo the driveshaft positioning.
Fixes
Fixed undo breaking under a specific combination of powertrain layout edit actions.
Fixed a cause of freeform splits causing plate structures to become corrupt and break.
Fixed transmission selection hitboxes being unpredictable.
Fixed incorrect shadowing on transmissions. Particularly noticeable on large transmissions.
Snap to centre is now disabled when placing on anything but plate structures. Fixes mirroring issues when placing on fenders and cannon barrels.
Changes
All driveshaft edits now support mirroring.
Transmission sizes are now more realistic and less extreme.
Driveshaft diameters now scale with the maximum amount of torque expected to be run through them. Allows small engines to have smaller drive shafts.
Driveshafts now have mass.
You can now split/dissolve more than one driveshaft/junction at once.
The resize tool can now be used to change the positions of powertrain parts. It behaves similarly to the resize tool in freeform.
Splitting a driveshaft now disables autopositioning for the created junction.
The edit GUI is now displayed for all selected powertrain components. Allows you to edit the engine and transmission simultaneously if you have them both selected.
Driveshaft splitting default hotkey binding changed from 'X' to 'K' to avoid conflict with the symmetry hotkey.
Engines are no longer automatically flipped depending on the location of their output.
Loaders now travel 25% slower.
Loader one handed pickup time changed from 0.25 to 0.5 seconds.
Loader two handed pickup time changed from 0.5 to 1 second.
Loaders now ram 50% slower by hand.
Loaders now ram 75% slower using a crane.
Optimizations
Optimized rendering of transmission models.
- Hamish
0.2.2 - Fixes & Cannon Tweaks (Geometrics Alpha)
Hi all,
A few more fixes up for you on the public alpha branch.
Reload time rework
Reload times are now transparent about the pickup, travel and ram times for loading shells. Different load techniques are now used, based off of shell length and weight.
One hand - The loader can move the shell from rack to breech using one hand. Having a free hand allows faster pickup and ram times.
Two hand - The loader requires both hands to lift the shell from the rack to the breech.
Two piece - The loader requires both hands to lift the projectile or the propellant. They'll have to make two trips to the rack. This is a quick functionality-only implementation and a more in-depth two piece ammunition system is planned.
Crane - The loader will need to use mechanical assistance to move the shell from rack to breech. Requires a longer pickup time and travel speed is much slower. This is a placeholder that lets you reload large cannons until multiple loader assignment to cannons is ready.
Fixes
Fixed factions created in 0.2.x not saving vehicle preview icons with designs.
Fixed the predicted cannon load time in editor not matching the resulting load time outside of the editor.
Fixed duplicated fuel tanks using the same blueprint. Sometimes causing them to change shape when loading in.
Disabled cannon counterweight influence on breech size. A stopgap until counterweights are replaced entirely in 0.2 by simply attaching heavy parts to cannons.
Wheel arrays now have a minimum of 1 wheel. Setting their length to the minimum would result in no wheels, which isn't supported.
Gun layers can now move the cannon along the azimuth and elevation axes simultaneously.
General stability improvements.
Changes
Reworked breech height and length. Breeches are now x2 shorter and their length is more tied to calibre.
Restored all 0.127 part scale limits.
Headlamp and tail-light parts can now be selected for placement again.
The required shell load space behind the breech is no longer obstructed by crew members.
Thank you all for the kind words and feedback on yesterday's post.
There's lots of mechanics which aren't as clear as they should be. Once 0.2 is more stable, I'll prioritise making part obstructions, missing turret holes and unassigned crew roles clearer.
Making crew placement more enjoyable is also a priority, moving to a puppet style where you can click and drag each joint.
- Hamish
0.2.1 - Fixes (Geometrics Alpha)
Hi all,
Quick fixes for yesterday's 0.2 alpha branch release:
Re-enabled engine design page selection, allowing you to switch between basic and advanced modes again.
You can no longer select fixed wheel mounts to use for roadwheels. This wasn't functional and simply deleted your roadwheels.
Fixed cannons not fully resetting when returning to the editor.
Fixed factions created in 0.2.0 being unable to save and load blueprints.
Fixed poor shading of box fuel tanks.
Fixed flipped suspension arm models, causing a gap between the axle and the suspension arm.
Fixed unexpected driveshafts appearing with loaded vehicles.
Undoing deletion of a turret now correctly restores the turret's plate structure.
Fixed toggling between move/rotate/resize modes sometimes not updating the tool gizmo.
Fixed the left sided powertrain output being inverted on vehicle load.
50 Cals, MG34s, Crusader MG turrets and fuel ports are now available to place again.
0.2.0 - Geometrics (Alpha Release)
Hi all,
The 0.2 closed alpha is complete and all major issues have been fixed. The public alpha begins now and the update cycle returns to normal.
Test it now by opting into the '0.2-alpha' branch in the game's betas tab. (Sprocket > Properties > Betas)
You wont be able to load old designs until 0.2 is closer to its beta release.
Aside from fixes, development will now focus on bringing missing features over from 0.127, as well as iterating on the new features based on your feedback.
Additions
Added turret baskets.
Duplicate and move now applies to every selected part, instead of only the last selected.
All parts attached to a part will now move when it is moved.
Parts can now be placed on cannon barrels.
Parts can now be moved on planes, instead of purely on single axes.
Rotation sensitivity can now be halved while placing parts by holding shift. With snapping enabled, this will half the snapping angle.
Rotation snapping can now be toggled by holding control. If rotation snapping is on by default, holding control will disable snapping.
Part repositioning toggle is now per compartment and is saved across loads.
Part move, rotate and resize can now be started using the same hotkeys as when editing points in freeform.
Freeform can now mirror deletions, fills and extrusions.
Added colour variation on vehicle dirt.
Added paint colour variation. Particularly noticeable on flat paint, which is no longer one solid colour.
Suspension arm length can now be edited.
Track length and width syncing to the hull can now be manually toggled.
Track wheel array total length can now be manually set.
Track wheel grouping can now have an offset. Letting you layout wheels like [oo ooo o] instead of being limited to [ooo ooo].
Cannons can now be assigned to more than one firegroup.
You can now hold the group select key (Ctrl by default) to select an entire plate in freeform.
Added ability to switch parts in-place by selecting the desired parts and picking a different variant. Only works on certain part types (side skirts, plates, fenders, cupolas and exhausts)
Changes
Freeform has been rewritten from the ground up.
Open-topped vehicles are now possible. The requirement to have compartments fully sealed is no longer necessary and has been removed.
Turrets now have a hole in the turret ring.
Generated hulls now generate a hole in the top, for turret placement.
Ammo racks can now be extended lengthways.
Ammo rack obstruction is now based on the area you allocate, instead of the shells themselves. Allowing you to make changes to shell size without invalidating all of your ammo racks.
Adjusting turret ring height no moves all parts, regardless of whether they're picked up by part repositioning. This includes freeform turrets.
Cannons are now placed independently from mantlets. Though they wont be able to move unless they're placed on a mantlet. Multiple cannons can be placed on each mantlet now.
Cannons can now be selected by right clicking on their barrel.
Rewrote input handling. Should make every input more predictable across the editor.
Crew roles are now assigned by assigning parts to operate, instead of setting the role and then configuring it.
The vehicle editor to a more point and click to edit style of navigation, instead of navigating through tabs. e.g. Selecting a cannon will enter the cannon editor.
Cannon blueprints are no longer deleted if no cannon is using them, they'll stick around until the designer is restarted or a new design is started/loaded.
Collision detection between parts is now much more accurate and responsive.
Cannon rotation constraints are now set manually. This then creates an area of space required to be clear for the set rotation range.
Made edges half as thin on designer GUI overlays.
Overlays are now switched via buttons on the bottom right of the screen, instead of a dropdown.
All tabs can now be activated by dragging the pointer over them while the left mouse button is pressed.
The vehicle editor now goes through a more thorough reload when changing designs and eras. This increases general stability.
Removed slider to recess cannons into the mantlet, as this can now be done via the move tool.
Track design options are now only displayed for the selected track part, so you wont have to search through a long list of track options anymore.
Track belts now adjust track segment length slightly when belts are generated, allowing belts to fit together perfectly, without a non-aligned belt segment near the rearmost roadwheel.
Track wheels are now moved using the placement tools, like every other part.
Wheels now receive unique paint mapping, so they'll appear less repetitive.
Paint mapping is now updated while placing parts, instead of only updating when the part is placed. This isn't really necessary but it looks cool.
Standardized fender dimensions, so switching between fender variants shouldn't require you to rescale them.
Part mirroring is no longer detected by their positions, but by a solid link. Meaning if they get out of alignment, moving them with mirroring enabled will re-align them.
Disabling mirroring now disables mirroring when moving parts via the move tools. Instead of only disabling mirroring during placement.
Autosaved designs now preserve their design name, instead of renaming the vehicle to 'Autosave'.
Improved responsiveness of the move placement tool and generated compartment click & drag, removing the disconnect from the part and the cursor.
.blueprintMeta files are no longer necessary and wont be created for new designs.
Undo redo has had a complete rewrite. It should be fully reliable now.
Click and drag editing of compartments can now be cancelled by right clicking.
Made freeform vertex and edge selection more predictable and responsive.
Freeform snapping is now enabled by default, with the default precision changed to 1mm. Units changed from metres to millimetres.
More grime is now added closer to the ground.
The hotkey to exit and enter the vehicle editor can now be rebound separately.
Remodelled and retextured the spoked wheel to bring it up to standard with the rest of the game.
On axles with more than one wheel, the inner-most wheel will now face inwards.
Changing suspension arm angle and length now changes the suspension position, instead of the wheel positions.
Exhaust visual effect reworked to plume more and linger longer.
The number keys are now used to switch between editor overlays.
Message logs now have a solid shadow background, instead of a blurred one.
LOS armour plate thickness is now more realistic and is more accurate on plate corners and sides.
Edges are now permanently visible when editing in freeform.
Part obstruction has been removed for all decorative parts.
Removed the scale rod from sandboxes as correct vehicle scale is now enforced.
Rotated flat sandbox sky 180 degrees and reduced contrast to brighten dark areas.
Decal URL input field character limit raised from 64 to 2048.
Reworked freeform slope tool to use a linear input instead of a radial one. It now acts like dragging a glacis on generated compartments.
Fixes
Resize tool visual gizmo now matches resize direction when global space is enabled.
Global rotation with the rotation tool is now possible.
Fixed camera clipping into certain cupolas when zoomed into commander first person.
Fixed alignment of the Churchill VII front and midsection fenders.
Fixed a memory leak that occurred when saving designs.
Improved freeform detection of mirrored faces.
Fixed camouflage misalignment on scaled parts.
Mirrored non-planar plates will now be perfectly symmetrical across the vehicle. Also prevents some cases of part auto-repositioning breaking part symmetry.
Optimizations
Custom paintjobs and decals now load over time, instead of all at once.
Cannons now have lower levels of detail generated, speeding up their rendering when far away.
Thank you for the continued support and patience. Enjoy!
- Hamish
Geometric Internals Progress #7
Hi all,
The last two months have been spent fixing and polishing 0.2 to get it ready for testing. I've fallen short of the end of March deadline and don't quite have an enjoyable version for you yet. It's about to begin a closed-alpha test, limited to a handful of community contributors. Once the closed alpha is finished, the open-alpha will begin and allow you to finally get your hands on 0.2.
Open Alpha
There's still so much more left to do, and I much prefer developing along side you all in frequent updates instead of bi-monthly dev logs. I'll be putting an unfinished, but still enjoyable build up on a new Steam branch. It wont have all the features we currently have in 0.128 initially, but they should be reintroduced quite quickly over time.
Here's what to expect:
The vehicle editor including geometric internals and all of its rewrites.
Standard sandbox testing of vehicles, excluding enemies to fire at.
Here's what will be missing, to be added over the course of the public alpha:
Backwards compatibility - Your old designs wont be usable in the alpha.
Tank combat - The new damage model isn't quite ready yet.
Enemy tanks - AI isn't fully functional.
Scenarios - Dependent on tank combat and enemy tanks.
Rivets - I'm replacing the tedious rivet placement with a more enjoyable and optimized system that's integrated with freeform. Including an automatic rivet generator made possible with the freeform rewrite.
Individual component saving and loading - This is being replaced with a new system which also lets you save multiple regular parts, preserving their structure. Allowing things like particular interior layouts to be reused across designs.
Several parts - HVSS, spare tracks and spare wheels.
Fender generation - To be brought over to 0.2 with a more flexible system.
Clutch braking powertrain
Progress
The lack of new features recently creates the perfect opportunity to mention some of the smaller quality-of-life features which haven't been significant enough to be mentioned in the the previous dev logs.
Reversable suspension arms and editable suspension arm length. Not currently applicable to single arms but the potential is all there.
All parts are now able to be mirrored. You can select multiple parts and hit 'F' to manually flip them and disable future auto-flipping.
Holding control while rotating parts toggles snapping.
Moving a part will now move all parts attached to it. Useful for parts on fenders.
The part repositioning and mirror toggle is now per-compartment and is saved with them.
Freeform delete, fill and extrude actions now support mirroring.
Track wheel grouping can now have an offset.
Holding control while selecting in freeform will now select entire plates.
Ammo racks are now extendable lengthwise.
Overlays are now toggled between via buttons instead of a dropdown. They're hotkeyed via the number keys now.
Exhaust effects have received a makeover.
Armour plate thickness is now visible in exterior view:
Freeform edges are now permanently visible when editing faces and edges.
The date of the public alpha depends heavily on the results of the closed alpha. The closed alpha is purely checking for any game-breaking issues so as soon as it's got the ok, the open alpha can begin. I'll give you an exact date shortly before then.
- Hamish
Geometric Internals Progress #6
Hi all,
V0.2's been steadily moving back to a stable build. Work continues updating features to work with 0.2 systems.
Placeholder models removed
Discord server moderator and community contributor Víðarr has been hard at work for the last few months creating the models to replace the placeholder internal parts.
Crew Role Reworks
An iteration on crew role assignment changes the way crew members perform their duties. The current efficiency percentage acting as a multiplier for time taken to perform a task has been removed. Now, each role has its required limbs defined. Crew members will only be able to have one limb working on one task at any one time.
For example, The gunner role requires use of the legs to press the pedal to fire the cannon. The gun layer role requires use of an arm to aim the cannon. A crew member with these roles assigned will be able to perform all tasks at once with no penalty. The driver and loader roles require all limbs, so if the driver role is then assigned to the same crew member, they will have to switch the tasks based on priority. This lets a one man tank work fine, though you'll need quite a bit of time after stopping to allow the poor driver to climb into the gunners seat to aim, fire and load the cannon. The switch time taken depends on distance, so a small, basketless secondary turret above the driver's seat could be effective.
Role prioritization will be pre-set initially, with control coming in a future update.
Part File-Definitions
While the part loading changes discussed in this post had achieved their main goal of loading parts synchronously. There were a few issues with the approach I took to assigning part assets to parts, which needed to be sorted sooner rather than later. So I took another look.
Parts are now entirely defined in human-readable files, outside of the game engine. In addition to solving the main issue, it add some additional benefits:
It's a large step towards part mod support. All part limits are defined here, so you can change the limits of a part if you disagree with it, though your changes might get reverted with a game update. You can even define your own parts - which isn't very useful until you can add custom models, textures and behaviour.
They let me switch out the code associated with each part behaviour much more easily. The part simply defines a 'model' and doesn't care how it's implemented.
Parts can be tweaked/fixed without having to recompile the game.
Open Compartments and Physical Holes
Parts previously had a series of points spread throughout the part's volume. Each of these points were checked to see whether they were inside the compartment. If all points were inside, the part was unobstructed. If a few points were outside, the part was intersecting with the compartment's plates. This meant parts could avoid having to check collisions with every plate and, most importantly, it allowed the fake turret ring hole to work. As long as a part had all points inside the turret or the turret's basket, it would be considered valid, even though it would be technically intersecting with the plate between the turret and the basket. The damage model had to have 'portals' defined. Which were volumes where projectiles would ignore plates completely. One of these portals was placed where the turret ring met the turret body.
This solution relied on compartments being fully enclosed, not ideal when they're scheduled to be opened up come open hulls and turrets on the roadmap. The damage model portals were far from perfect, and would result in inaccuracies if the turret's bottom wasn't flush with the top of the turret ring.
Allowing the new thickness on plates to obstruct other parts turned out to be the final straw for this system.
Parts now check whether they intersect with every single plate. Which isn't as performance intensive as it sounds, with some heavy optimizations.
Visualizing the boxes built around each plate to simplify the intersection checks.
Generated hulls can now have a physical hole in the top, intended to slot turrets into. Turret have a physical hole between them and the turret ring, removing the need for the aforementioned damage model portals.
Multiple turrets and tall commander cupolas will require new holes to be added in freeform. The rewritten freeform allowed me to make a dedicated hole creation tool. Simply select a face or a few points, and press a button.
There's now no difference between internal and external parts. It's just parts and steel plates. Part's don't need to be contained and there's nothing stopping you from putting your engine outside the vehicle and threading the driveshaft through a hole in the hull, should you so desire. This is basically open hulls and turrets come early.
Dirt closer to the ground
A small day-project when I needed to get away from the tricky stuff. Dirt is now heavier as it nears the ground. Tracks can become even more dirty than before.
A V0.2 public experimental branch release is looking reasonable for the end of March.
- Hamish
Geometric Internals Progress #5
Freeform Rework
No, not the full thing.
The familiar decision appeared again while reimplementing freeform with the new V0.2 editor, undo and input systems. Whether to bring it over while maintaining its current issues, or do another iteration on it.
Freeform was made about 4 months post release, when there was still a lot of internal pressure to demonstrate loyalty to the project. It was rushed, it was met with a suitably unstable release, and now it has to be redone.
I've learnt from that mistake, which you can probably already tell from V0.2's current timeline. Software development has to go slowly, otherwise it goes slowly.
I've since ripped out the old model generation code, which was an external dependency (built by other people). Replacing it with my own code.
Using a purpose built light-weight solution allows me to strip out everything that isn't needed for Sprocket. Resulting in performance boosts* and no hacky workarounds. Most importantly, it stops becoming a part of the code base I avoid, meaning freeform will get more love from now on. * Only when editing compartments.
This is the first half of the freeform rework that's been discussed since the initial plan post for V0.2. It implements all of the fixes, while leaving the new features for post V0.2.
Inverted faces are a thing of the past. The invert button will remain so you can flip which side of the face thickness is added on to.
Point and edge selection have been perfected. These should now behave as consistently as you'd expect.
Part repositioning is now handled in a way which completely stops parts jumping around unexpectedly during certain combinations of operations.
Undo redo has been perfected. Conversion from a generated design to freeform can now be perfectly undone. This allows the removal of the confirmation prompt and the 'Back to generated' action, as the undo button can be used instead. This perfection also applies to undo for part place and movement, where a few major issues spoiled its reliability.
Some tank-specialized model elements can now be thrown into the mix, which would be too performance intensive without the new specialized solution.
Plate Thickness
I did break the 'No extra freeform features' rule for this one feature. It didn't seem right having the awkward gameplay phase where armour wouldn't consume space, as originally planned. Since people would churn out new designs with geometric internals, only to have them invalidated by the armour space change to follow.
Now interiors are nice and cozy. Note this visualization doesn't mean there's weight balance concerns. Though that's a door opened by the track rework with the prospect of individually adjustable suspensions.
Automatically Generated Rivets
Another potential unlocked. This wont be done in 0.2, but it's soon to follow.
Expanding the Team
The plan is to expand the development team after 0.2. In order to make that actually result in increased productivity, I'm taking special care to tidy up the code base and making some shifts to allow multiple programmers to work on it simultaneously with fewer issues.
There's a certain artist hard at work on the models to replace the placeholders of the internals - so there's some more exciting progress shots to come!
Hamish
Geometric Internals Progress #4
Hi all,
Regret to announce yet another delay for 0.2. Pushing it back to early 2024, as these short-term deadlines clearly aren't working out.
What is taking so long?
Development right now is very much in the stage of reimplementing old features after switching-out the core of the game. There's been quite a few features built up over time and the core changes have been big enough that these reimplementations effectively become rewrites. The main problem with my deadline predications is that these rewrites often reveal long-term beneficial core changes. From there I can choose to either make the core changes, or continue reimplementing without them, to get the update ready in time. I am, of course, picking the long-term over the hacky short-term every time. The core changes then bring about more reimplementations for already reimplemented features, becoming a sort of improvement loop.
The game's been in this loop of improvement for a few months now and is just starting to show signs of running out of improvements.
There's not a whole lot to show since last progress update, aside from the benefits of the reimplementation rewrites.
Part repositioning
Parts repositioning now supports reorientating It should also be a little less unpredictable now with compartment changes.
Sloped return rollers
The track rewrite allows return rollers to be slanted. This one was long overdue!
Multiple paint jobs
The plan is to move away from the placeholder hologram models to fully textured physical parts. Not only will this keep more in theme with the game's theme, it'll also be necessary once vehicles can be opened up and have open turrets etc. One issue will be the added complexity of the textures cluttering the interior and making it hard to find what you'd like to edit.
Having the whole vehicle painted with a single paint job was an issue with the new internals. Internal parts were being painted with the external camouflage, which wasn't helping the aforementioned 'difficult to find' problem...
The planned fix is to keep the colour coding, only it'll now be applied to the paint job of the internal. Vehicles now support multiple paint jobs at once, assigned to each part individually. This allows internal parts groups to be colour coded via their assigned paint job. Control over paint job assignment wont be accessible to the player initially, except through editing design files.
Paint job tinting
Paint job hue shifting has been replaced with colour tinting, with control over the red, green and blue channels. This can later be expanded to a colour hex code and colour wheel.
Undo/redo rewrite
Again, a reimplementation which turned into a rewrite. There's nothing worse than an unreliable history system, so this was a big one planned for the refinement period. The whole system has been revised and should be much more reliable in V0.2.
Belt collision models
Due to the new select and edit focus of the designer, track belts must now be selected to edit them. A dedicated model of the belt is required to detect when the player's pointer is over the belt. Due to the generated nature of the track belt, this model needs to be generated as well.
This model generation also happened to be the main task required for the biggest potential game optimization on the list.
Games most commonly render tracks by dragging a texture over a stationary belt model to create the illusion of a moving belt. This, as an option, could give back dozens of frames per second compared to Sprocket's current technique.
The current processor intensive parts being:
Moving each segment in the track, every frame. Though this is actually done quite quickly thanks to some data orientated programming, which CPUs love.
A box each segment takes up in the world is calculated every frame (with expensive maths), used to tell whether a segment is on screen and should be rendered. This is multi-threaded well but is another punch to PCs with lower end CPUs. It'd obviously be far more efficient to calculate a single box of all segments, though unfortunately, it's an engine constraint.
Finally, the cost to render each triangle on each segment, up to 400 per segment at the highest quality. Hence why track belts in Sprocket currently make up about half of all triangles used to render a vehicle.
Those pretty tracks have a price!
This stationary belt model, on the other hand, calculates a single box in the world to know when on screen, has the triangles of a single high quality segment and the moving of the segment texture is done entirely on the GPU! Physics costs stay the same. So this option should give those with lower end GPUs a significant boost. While higher end GPUs can benefit from far away vehicle tracks being rendered with this technique, instead of completely disabling them as currently done.
This optimization will come as soon as 0.2 is stable.
Again, sorry for any disappointment and thank you for your continued patience! Ok - back to work