Skip to content
Sphere-Based Movement Shooter
TypeScript Clojure JavaScript HTML CSS
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs
js
src/flying
test/flying_clj
.gitignore
LICENSE
Procfile
README.md
package.json
project.clj
tsconfig.json
webpack.config.js
yarn.lock

README.md

flying

CSE-7319 | Software Architecture and Design | Southern Methodist University | Spring 2019

Development

# Clojure
lein run

# JS (in another session)
yarn run dev

Production

# Clojure
lein uberjar

# JS
rm -rf docs
yarn run build
mv dist docs

Notes

This is based on a simple spherical movement concept that I experimented with here: https://playground.babylonjs.com/#GSZYZL

The mathematics behind the movement are located here: https://github.com/BabylonJS/Babylon.js/blob/a001298124c04e3610ed06dc31d075ba799d047f/src/Meshes/transformNode.ts#L796

The gist is that for the given mesh, calculate a quaterion based on the given axis and angle, then multiply it by the mesh's current quaternion to get the new quaternion for the mesh's center of rotation.

Assignment Notes

To find the component-to-class** mappings, search the project source for the text FLYING_ARCHITECTURE.

**Classes in TypeScript/ES2015+ are actually syntactic sugar on top of prototypical OOP.

Credits

Skybox

Spaceship

Planet

You can’t perform that action at this time.