KetylPilot
The hands of THE EIGHTH KETYL. It turns controls into motion and does nothing else. It lives on the PlayerPrototype's body, so the engine mints one per joining player, and only the peer that owns a body reads the local devices for it.
KetylPilot
The hands of THE EIGHTH KETYL. It turns controls into motion and does nothing else. It lives on the PlayerPrototype's body, so the engine mints one per joining player, and only the peer that owns a body reads the local devices for it.
What it does
- Makes
/source/input/ketyl.inputMaplive — six controls, each carrying keyboard, gamepad and touch, so activating the map is the whole of "this game is playable on three device families". The on-screen controls appear by themselves, built from those bindings. - Drifts the radical across the plate it is on, in the camera's basis, so "push up" means "away from me" whatever shape the screen is and whichever device is in the player's hands.
- Faces it where it is going, or — standing still — where the player is looking, so the discharge arc is aimable from a stick, a mouse or a thumb with no second aiming control.
- Flies it up a riser when the Conductor grants one.
- Publishes where it is, which way it faces and how fast it is going, as
KetylCore.body, so the Conductor can answer for it. - Stands the engine's own default player scheme down, once a second. Whatever camera behaviour the rig is wearing brings that scheme up with it, and its Jump and Sprint buttons do not belong on this game's touch overlay — six buttons instead of four costs every one of them a size step on a phone.
What it does not do
It draws nothing: the ketyl slice's KetylBody does that, on this same entity.
It moves no camera: the look control is handed straight to the staging slice as
look(v, dt, active) and never read here. And it decides nothing — whether a
discharge may fire, whether a riser will take you, whether the game is even
listening are all the Conductor's.
Fields
| Field | What it is |
|---|---|
inputMap | The controls this ketyl answers to. Defaults to input.ketyl. |
Telling a stopped ketyl from a dead one
KetylCore.body.ticks rises once per frame this component drives. An engine that
disables a component instance after a runtime error leaves it looking exactly
like a ketyl standing still; a heartbeat that has stopped rising is the reading
that tells the two apart. component.setEnabled("KetylPilot", true) brings a
disabled instance back.
Scoped to this part · feeds back into the world's score.