GithubHelp home page GithubHelp logo

rocketry's Introduction

Rocketry

Logo

https://asuradev99.github.io/rocketry/

  • A simple and light two-dimensional gravitation simulator featuring a controllable rocket and a planet editor
  • Great for showing basic physics principles (forces, vectors, gravitation, circular motion, etc) in a classroom setting
  • Specifically designed to run on Chromebooks and other computationally-challenged devices
  • Load and save configurations to create and share simulations on the fly

Controls

Key Function
w / s Zoom in / out
space Play/pause the simulation while it is running
x Delete the selected object (Only in Editor mode)
LM Drag Drag the camera (only in Editor mode)
Right Arrow / Left Arrow Turn the rocket right/left (Only in Player mode)
Up Arrow Accelerate the rocket (Only in Player mode)
f Toggle force and velocity vectors for dynamic entities

Settings Explanation

Name Function
gravitationalConstant strength of the gravitational force between massive objects
deltaT Speed of the simulation (faster = less accurate)
newPlanetMass Set the mass of the new planet (yes, it can be negative)
isDynamic If checked, the planet is dynamic and can accelerate based on it's attraction to other planets and dynamic entities.
Add_Planet Add a new planet (Only in Editor mode)
Camera x/y Camera x and y coordinates (only in Editor mode)
Toggle Follow Player Toggle whether the camera follows the player or can move around freely
Toggle Show Velocity Show the velocity vectors of moving objects
Toggle Show Forces Show the forces acting on objects with mass
Toggle Trace Positions If true, tracks the player's (and other moving entities') positions over time using markers.

Tips and Tricks

  • In the Editor mode, click on an object to edit its properties.
  • In any GUI, to quickly increase or decrease a numerical property, click on the textbox with the number in it and drag the cursor up/down to increase/decrease the value.
  • In Play mode, you will notice that you can still accelerate and rotate the player while the game is paused. This mechanism is deliberate, and is designed to allow you to make precise maneuvers. The f control is very useful while this mechanic is being used, as you can see how accelerating the rocket in a certain direction affects its velocity without the simulation progressing.

Year Two Concepts Used

  • Input / Output for loading and saving configurations
  • The List datastructure is used extensively (data structure)
  • Object-oriented features of javascript used to organize the various kinds of entities found in-game
  • Overriding was used several times
  • Enhanced For-loop used to iterate lists

rocketry's People

Contributors

asuradev99 avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.