Commit Graph
4 Commits
Author SHA1 Message Date
AyeZeeBB 8f92b41a78 Drone: follow mode films sessions, keeps off walls and the ground, and has distance and aggression
- Riding back and forth in one place (a halfpipe, a bowl, laps of a spot) is filmed from a spot
  off to the side, high enough for the airs, instead of chasing each turn; riding off or no turn
  back for a few seconds goes back to following.
- It looks along where it flies and slows in time to stop short of a wall, sliding along it;
  short probes push it off anything close and keep it from climbing into a ceiling. A spot behind
  the skater that is inside a wall comes in to this side of it.
- It keeps its clearance over the ground under it and just ahead of it, climbing as fast as a rise
  needs, and only sinks slowly near the ground whatever its spot asks.
- FOLLOW ME has Follow distance (3-12 m) and Aggressiveness (0-1, how quickly the pilot reacts,
  how hard it leans, closes gaps and turns); the middle is the tuning it had. Also dronetune
  followdistance / followaggression.
- Tests: a halfpipe session, turning round at a wall, a slope and a spot under the ground, and the
  settings' middle being the usual tuning.
2026-10-16 17:32:20 -05:00
AyeZeeBB 5d37d0bc50 Drone: follow mode flies the drone behind the skater
An autopilot flies the real flight model behind the skater while they skate: it
works the sticks a pilot would (angle mode with height hold), reacts a moment late,
eases toward the lie of the ground instead of every ollie, closes gaps no faster than
it can slow down gently, and climbs a little over what blocks the shot. Its camera
sits on a tilt gimbal so leaning to speed up or brake keeps the skater in frame.

Started from FOLLOW ME on the DRONE page or the dronefollow command; it hides the
game's interface like Start flying does. Tests cover straight, turns, hard stops,
ollies and catching up.
2026-10-16 16:43:56 -05:00
AyeZeeBB eeeb751f1b Drone: other players' drones are heard where they fly
Each remote drone's motor is synthesised and played through the game's positioned voice sound,
the one proximity chat uses, so it is placed in the world and muffled behind walls. The throttle
is worked out from how the drone accelerates, so the drone packet and protocol stay the same.
Full volume only within 1.5 m, heard out to 120 m; the DRONE page's sound volume sets the level.
2026-10-15 22:39:55 -05:00
AyeZeeBB 90ad073e31 Drone: gamepad mode, a truer flight model and crashes
Gamepad: the drone flies with a gamepad by default (Xbox or PlayStation,
read directly; with none plugged in, the keyboard and mouse fly it), Mode
2. Its throttle stick springs back and its middle is hover power, so a
resting stick no longer means 50% throttle; the sticks are scaled down
(60%, which in angle mode slows turning only), softened in the middle and
given a round dead zone, and the right stick is inverted by default (up
tips the nose up; padinvert 0 for a radio's way). A arms and disarms, Menu
puts the drone back; while the ReSkate menu is open the pad is the menu's
and the drone holds still. An RC radio is still a choice.

Height hold is a toggle (off by default): the middle of a springing
throttle holds the height, adding throttle as the drone leans; partway it
climbs at the climb speed (20 m/s), and full stick is always full or no
throttle. Angle (self-levelling) mode, leaning 55 degrees, joins acro.

Flight: thrust grows with motor output to the power 1.5, so the hover
throttle sets thrust to weight (22% is about 10:1); the motors spool up
and down and the turn rates catch up with the sticks in about 30 ms.
Drag is quadratic and larger across the props, set by the top speed
setting so flat out settles near it (no more hard cap); inflow, ground
effect and prop wash. Defaults: gravity 9.81, camera tilt 0; the drone
starts level.

Crashes: collisions sweep to the surface met, find its normal with two
more rays, and slide along it; hard hits bounce and tumble the drone,
and one at the crash speed (7 m/s) cuts the motors until it is armed
again, with a warning and a broken-up picture.

- overlay.h: the gamepad reader is declared in the overlay namespace,
  where it is defined; nothing could call it before.
- Tests (drone_flight_tests): hover and height hold, full stick past the
  hold, thrust, motor and rate lag, top speed, angle mode, wall crash and
  re-arm, crashes off, a gentle landing, and the gamepad's sticks.
2026-10-15 20:47:03 -05:00