Geometry, camera controls, windowing


After letting the engine rest for a while, it seemed like it would be a good time to return to give it another push.

As an improvement to quality of life, you can now toggle between mouse grab/release states, window resizability, and borderless fullscreen. Together with a camera that can be switched between first and third person, with variable zoom distance and field of view, it makes things a lot more visually interesting in terms of scaling, proportions and camera angles.

More importantly, models for the wagons, bogies, wheels, couplers and pins of the EMD SD40-2 and a SNIM gondola are now properly positioned in the world. Specifically, pin lifters and pins are now positioned such that they kind of reflect the state of a coupler. When the bar appears to be pulling a pin upwards, it’s in a “released” state, meaning that it won’t let the pin fall and secure a coupling. When a pin still sits higher, but the bar no longer seems to be pulling it upwards, it’s in a “ready” state, so it will couple if it collides with another coupler that is either ready or locked. The “locked” state is indicated by a pin that no longer sticks upwards, so you’ll be able to see them drop when a coupling is made.

Models are rendered using instanced draw calls for each mesh, and train models are rendered at multiple detail levels based on their distance to the camera’s origin.

Also, train wagons/bodies now use triangle mesh colliders loaded from a .gltf file, just like models. One fun thing is how player physics is set up for the moment allows ladders to mostly work as you’d expect, at least on the locomotive. Just try walking into them, you’ll see what I mean.

Rail splines can also be rendered at lower-than-simulated detail levels via a configuration option, and you can also set a maximum render distance from the center of a spline, beyond which it will be culled.

I was surprised to find how much of a difference having the geometry in place has made, even if the lack of textures means we’ll be drowning in the pastels of the surface normals for the time being.

Files

desert-i686-linux-gnu-release.zip 5.1 MB
Jan 30, 2023
desert-x86_64-w64-mingw32-release.zip 4.9 MB
Jan 30, 2023
desert-x86_64-linux-gnu-debug.zip 7.9 MB
Jan 30, 2023
desert-i686-w64-mingw32-debug.zip 8.5 MB
Jan 30, 2023
desert-i686-w64-mingw32-release.zip 5.1 MB
Jan 30, 2023
desert-x86_64-linux-gnu-release.zip 5.1 MB
Jan 30, 2023
desert-x86_64-w64-mingw32-debug.zip 8.7 MB
Jan 30, 2023
desert-i686-linux-gnu-debug.zip 7.8 MB
Jan 30, 2023

Get Desert Train

Leave a comment

Log in with itch.io to leave a comment.