UNPKG

@inglorious/engine

Version:

A JavaScript game engine written with global state, immutability, and pure functions in mind. Have fun(ctional programming) with it!

19 lines (13 loc) 576 B
import { angle, magnitude } from "@inglorious/utils/math/vector.js" import { applyAcceleration } from "@inglorious/utils/physics/acceleration.js" const DEFAULT_ORIENTATION = 0 const ORIENTATION_CHANGE_THRESHOLD = 4 export function modernMove(entity, dt) { const { acceleration, velocity, position } = applyAcceleration(entity, dt) let orientation = entity.orientation ?? DEFAULT_ORIENTATION orientation = magnitude(velocity) > ORIENTATION_CHANGE_THRESHOLD ? angle(velocity) : orientation return { acceleration, velocity, position, orientation } }