Coder Social home page Coder Social logo

doohl / sourcebound Goto Github PK

View Code? Open in Web Editor NEW
9.0 5.0 0.0 217 KB

A sci-fi 4x game written in ES6-compliant Javascript

License: MIT License

JavaScript 97.33% HTML 0.95% CSS 1.72%
game javascript space keplerian-elements physics sci-fi orbital-mechanics orbital-simulation

sourcebound's Introduction

Sourcebound

forthebadge

Sourcebound is an upcoming sci-fi 4x stategy game written in ES6-compliant Javascript. It is currently in early development and will not be properly playable for some time.

To try out the game go to: https://doohl.github.io/Sourcebound/

sourcebound's People

Contributors

doohl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

sourcebound's Issues

Fleet Management

An extension of Issue #1, Fleets are groups of vessels (or just one) travelling together at the speed of the slowest vessel in the group. They can be assigned formations and spacing. Vessels can break from the fleet and form sub-fleets to later be merged back into the main fleet.

Left-clicking on a fleet will reveal its context menu, containing the following information:

  • Name: The fleet's designated name.
  • Status: The fleet's current status. Examples: Resupplying, Engaging, Moving, Idle.
  • Damage Report: This will only show if any vessels in the fleet have sustained damage. Displays a list of vessel IDs and their damage summaries.
  • Casualty Report: This will only show if any vessels in the fleet have sustained casualties. Will simply display the number of casualties for every vessel and any KIA officers. Ie: "10 casualties (OKIA: Lt. Johnson)"
  • CO: The commanding officer of the fleet. The CO will receive penalties for managing more people than they are trained for. The entire fleet will receive a large penalty if a staffed CIC (Combat Information Center) is not present on one of the vessels in the fleet.
  • Active Missions: A queue of fleet missions, and who assigned each mission (name and ID of the officer, or the playername). The fleet will act upon the mission at the top of queue. The queue is ordered by mission 'priority,' which is a number describing the urgency of the mission and the rank of whoever assigned the order. Player orders will have the highest priority. In the future, the CO of the fleet will be able to override player orders or even spoof the Active Mission queue if the vessel is in active rebellion or mutiny.
  • Vectoring: The current Flight Solution, if any.
  • Heading: The current velocity relative to the fixed point of the star system (usually the star). A fleet will always have a heading.
  • ∆V Remaining: The lowest vessel ∆V budget in the fleet. Measured in either m/s or km/s.
  • Vessels: A collapseable list of vessels in the fleet.

Players can also issue the following missions / commands by right-clicking a fleet:

  • Move: Perform either a Hohmann or Brachistochrone transfer to reach the target destination. The player will be notified if the transfer exceeds the fleet's ∆V budget. Can specify the orbit distance - so this can also be used to shift a fleet to a higher/lower orbit around the same body. Will output the time and ∆V required for the transfer before requesting the player confirm the order. If the transfer is Brachistochrone, ask the player for the acceleration factor (as an order of g's). Player cannot exceed maximum survivable g force if the fleet has human crew.
  • Engage: Designate the target fleet or bogey as fire target, if it is not already. This merely means the fleet CO is weapons-free to begin firing. The player does not individually control each vessel's firing patterns. The CO may order this himself if the situation calls for it (such as receiving fire). The fleet will not actually pursue the target.
  • Disengage: Remove the target as a fire target. This will stop all weapons fire - order will be ignored if the target is still inflicting damage upon friendlies.
  • Scuttle: Order all scuttleable vessels in the fleet to scuttle. Will completely destroy the vessels and anyone within. May be ignored if morale is low enough. May be ordered automatically by vessel COs if a CIC or Bridge is about to be penetrated by boarding parties.
  • Resupply: Order a fleet to resupply at the current location. Can only work if the vessels are equipped with resupply pods. Will output the amount of time needed to complete the resupply.
  • (More to be added)

Vessel Flight Solutions

Sourcebound Alpha 1.0 requires Vessel Flight Solutions: simple data structures describing burns needed to get a vessel entity from one orbital location (planet, asteroid, moon, etc) to another. Flight Solutions should be organized into the following categories:

  • Hohmann Transfer: a maneuver guaranteed to take the least amount of ∆V possible, but takes the greatest amount of time.
  • Brachistochrone Transfer: a maneuver that takes a tremendous amount of ∆V, but the least possible time. Characterized by a constant acceleration either toward the object, or away from the object after the halfway point.

A Flight Solution should be able to output the coordinates of a ship as a function of the LogicM universe time. Additionally, it should return some other information if the input time is out of the flight's bounds.

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.