A small demo of server side physics and agent control.
Go to file
x0x7 3a2338681d Update README.md 2024-08-07 21:21:54 -04:00
public Add files 2024-08-07 18:44:21 -05:15
Makefile Add files 2024-08-07 18:44:21 -05:15
README.md Update README.md 2024-08-07 21:21:54 -04:00
app.js Add files 2024-08-07 18:44:21 -05:15
emitstate.js Add files 2024-08-07 18:44:21 -05:15
gamestate.js Add files 2024-08-07 18:44:21 -05:15
http.js Add files 2024-08-07 18:44:21 -05:15
io.js Add files 2024-08-07 18:44:21 -05:15
physics.js Add files 2024-08-07 18:44:21 -05:15
run.js Add files 2024-08-07 18:44:21 -05:15
server.js Add files 2024-08-07 18:44:21 -05:15

README.md

Basic Drone Demo

Purpose

This demo was built to demonstrate an idea for a latency effect in a server controlled multi-player game. It happened to also demonstrate a few needed parts for the larger video game I want to make. Server based physics. Control of a drone. Switching between characters, control and view independently. Server directed rendering for 3d.

Controls

'v' switches between the human and the drone

Human

The human is the most simple. WASD for movement, and arrows for looking

Drone

Up arrow increases prop speed
Down arrow reduces prop speed
Left and Right arrows control yaw, and so do Q and E.
W pitches forwards and S pitches back
A rolls left and D rolls right
F instantly removes any roll or pitch
G instantly removes roll and pitch and momentum

Things someone could do if they fork the repo

  • Pointing the camera down a little bit on the drone would improve its control
  • Replace the rectagles with actual models
  • Add a button that will toggle the control but not the view so you can fly the drone outside of FPV
  • Make F and G controls feel more natural
  • Increase the FPS parameters. You probably can just put in higher numbers.