Ski the Rydskogen trails and sled the lit slopes #66
Labels
No labels
animation
audio
blocked
bug report
controversial
documentation
easy
feature request
hard
medium
multiplayer
physics
ui
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
elsie/liuverse#66
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The extract has a real winter trail network:
The Nordic loops are tagged
operator=Rydskogenand run through the forestnorth of campus; their member ways carry
lit=yesin places. The two sled slopesare lit and point downhill near Valla gård. Both are real, mapped, and currently
draw as nothing.
Proposal: make winter a way to move, not just a colour.
Nordic loops. The loops are
route=pisterelations, so this needs the relationparser from #8; draw them as groomed ribbons once parsed.
VehicleKindwith no motor, gravity down the slope, steering and alow eye height. The two
piste:type=sledways give the start and direction;spawn a few sledges at the top so the slope is a thing you can find.
piste:lit=yes, so they belong in the nightlighting work (#39) as well as the snow work (#48).
This depends on #48 for lying snow. A debug toggle for "winter" is enough to
build and test the movement before the weather lands.
Related
route=pisterelationsThis is three features — relation parsing for pistes, a snow surface, and two locomotion modes (ski glide/poles, sled steering) — for a seasonal activity. The sled is plausible as a
VehicleKind; skiing is a new movement model and #48 is not there yet. I'd split the bake (draw the piste/sled ways; useful even in summer as trails) from the movement, and leave the modes until snow exists. A debug-only winter toggle for months is not a good home for a hard issue.The sled gets a good deal better with a physics engine, and the skis get
considerably harder.
Sled. "A
VehicleKindwith no motor, gravity down the slope, steering anda low eye height" is a vehicle with the engine force left at zero, and a
ray-cast vehicle controller is exactly that: a chassis, wheels that find the
ground, suspension, and tyre forces with no throttle on top. The sled then
gets the things the scooter has and should have. It follows the slope because
the wheels are on it, it does not float over a bump, and it can tip over on a
sidehill that is too steep to hold it. The two
piste:type=sledways stillgive the start and the direction, and the spawn points are unchanged.
Skis. A ski is a long thin body with a low friction along its length and
a high one across it, and a physics engine has no anisotropic friction on a
collider. So a ski is either a body with isotropic friction and a steering
torque, or a body on a rail, and both are worse than what is planned here:
the glide, the poles and the slow turn are all kinematics, and they are
already written down. The physics engine does not earn its keep on the skis.
The Nordic loops still need the relation parser, and the winter still needs
the lying snow.
Related: #110 the physics engine, #111 the vehicles on real wheels.
The sled landed. The skis did not.
VehicleKind::IceSledis a rideable vehicle with runners, andspawn_ice_sledsputs three of them around the Isovalen, halfway across the ice between the oval's outer edge and its hole. The ground under a vehicle is a real surface now:surface_classreads the area kinds and returns ice for the track, soft for grass, forest, pitches, gravel and the minigolf, and paved for everything else, and each kind answers with its own speed and grip. The sled's runners slide and nothing rolls, so it runs on the ice and stops on the grass.What is still open:
piste:type=sledways near Valla gård. Those ways are not baked, and the Nordic loops still need the relation parser.Closing as out of scope. The sled half landed (
VehicleKind::IceSledand its spawns). The skis are a new movement model that needs lying snow first, and the Nordic loops need the relation parser; refile when the weather work exists.