Space exploration, trading, and combat game.

Endless Sky

Explore other star systems. Earn money by trading, carrying passengers, or completing missions. Use your earnings to buy a better ship or to upgrade the weapons and engines on your current one. Blow up pirates. Take sides in a civil war. Or leave human space behind and hope to find some friendly aliens whose culture is more civilized than your own...


Endless Sky is a sandbox-style space exploration game similar to Elite, Escape Velocity, or Star Control. You start out as the captain of a tiny space ship and can choose what to do from there. The game includes a major plot line and many minor missions, but you can choose whether you want to play through the plot or strike out on your own as a merchant or bounty hunter or explorer.

See the player's manual for more information, or the home page for screenshots and the occasional blog post.

Installing the game

Official releases of Endless Sky are available as direct downloads from GitHub and on Steam. A PPA is available for Ubuntu. Other package managers may also include the game, though the specific version provided may not be up-to-date.

System Requirements

Endless Sky has very minimal system requirements, meaning most systems should be able to run the game. The most restrictive requirement is likely that your device must support at least OpenGL 3.

Minimum Recommended
RAM 400 MB 1 GB
Graphics OpenGL 3.0 OpenGL 3.3
Storage Free 200 MB 400 MB

Building from source

Most development is done on Linux and Windows, using the SCons build tool to compile the project. For those wishing to use an IDE, project files are provided for XCode and Code::Blocks to simplify the project setup. It is possible to use other IDEs or build systems to compile the game, but support is not provided.
For full installation instructions, consult the Build Instructions readme.

Contributing

As a free and open source game, Endless Sky is the product of many peoples' work. Contributions of artwork, storylines, and other writing are most in-demand, though there is a loosely defined roadmap. Those who wish to contribute are encouraged to review the wiki, and to post in the community-run discord beforehand. Those who prefer to use Steam can use its discussion rooms as well.

Endless Sky's main discussion and development area was once Google Groups, but due to factors outside our control, it is now inaccessible to new users.

Licensing

Endless Sky is a free, open source game. The source code is available under the GPL v3 license, and all the artwork is either public domain or released under a variety of Creative Commons licenses. (To determine the copyright status of any of the artwork, consult the copyright file.)

Comments
  • Korath Exiles expansion

    Korath Exiles expansion

    This PR adds ships and outfits to the Korath Exiles. They're not "newly invented" technology; they're retroactively added to the lore. This commit is done primarily for two reasons: the Korath should not send world-ships filled with children into battle and the upcoming Remnant missions need some new Korath ships. No other factions gain ships in this PR; just the exiles.

    Summary

    New and Renamed Ships

    There are no ships called "World-Ship" any more; instead, World-Ship is an entire class of ship about one to two classes beyond a capital ship.

    korath-exiles-ships

    The old World-Ships (bottom-left) are the Freighter, Transport, and Tanker. There are variants with the old names to avoid breaking plug-ins and saves. The new world-ships are the Haven (bottom right), Refabricator (top left) and Refuge (top middle). The Ravager (top right) and Dredger (bottom middle) are new combat ships that replace the old World-Ship in most combat roles, though the Tanker now shows up in Korath Large Raid fleets. The Ravager and Dredger stats are somewhere between the Raider and the old world-ship.

    The Dredger is a Bactrian alternative with a lot of trade-offs: more bunks but more required crew, twice as durable but slower and not as well-armed. More outfit space and a fourth fighter bay but slightly less cargo, weapon, and engine space. Its built-in shield regeneration and hull repair is a heat source and energy drain that can't be uninstalled.

    New Outfits

    korath-exiles-weapons

    There are many new weapons: three new guns for the chaser, and eight new turrets. Two turrets are secondary weapons. Some are battleship-class weapons with heavy requirements that limit you to about two per ship without min-maxing. The arsenal is designed to use debuffs and hit force to disable or disperse fleets rather than destroying them, to allow successful raids.

    korath-exiles-engines-power

    There are afterburners and reverse thrusters for all five engine sizes. The "Engines (Meteor Class)" let the Chaser carry heavy weapons at the cost of less maneuverability. The asteroid-class afterburners include fuel and a ramscoop for the Chaser. The grav-steering and grav-thrusters are for the largest world-ships. The Jump Chamber is the critical component of the process of manufacturing Jump Drives. It has massive heat and energy output, so the largest world-ships use it as their main power generators.

    korath-exiles-fuel

    To support fuel-hungry outfits, especially the Korath Heaver turret, there is a new Fuel Stack with extra ramscoop.

    korath-exiles-cooler

    The Korath have an active cooling outfit to support the phenomenal heat generation of the new world-ships.

    Fixme: Post an image of the Korath Defense Station once I make the outfit image.

    There are Korath Defense Station outfits in the old world-ships to restrict what ship is able to capture them.

    Fleet Changes

    • Korath Small Raid, Korath Large Raid -- there are two sizes of raiding fleets. The small is usually a Raider, with a 16% chance of a Ravager. The large has a Raider and one larger capital ship.

    • Korath Miners - some non-Korath systems with minable asteroids have these fleets.

    • Korath Civilian Large, World, and Miners - the new "Korath (Civilian)" government has vast ships wandering Korath space. They have merchant coloring and will defend the "Korath" government, but won't shoot first.

    • "Korath Ember Waste Raid" - will now show up in Korath Exile space on their way to the Ember Waste

    Map Changes

    korath-exiles-atik-misam

    • Atik and Misam - new systems just beyond Durax with minable asteroids. Atik is uninhabited and relatively peaceful, with some pirates and Korath miners. Misam has pirate-government Marauder IX fleets and Korath Large Raid fleets, almost non-stop. The test planet, Korath Emporium, is in a Parrot-owned planet in the Atik system (details later).

    • Durax also has minable asteroids now, and the Korath will try to mine them. Usually they'll have to fight pirates instead.

    Capture Ladder

    The bunk and required crew counts are tuned so that you can eventually capture a Refabricator, with a lot of patience, but there are consequences.

    • Bactrian or Kimek Spire captures Dredger (intentionally very easy)
    • Dredger captures Ravager (easy) and Freighter (a few thousand tries; must capture from Kor Efret)
    • Freighter captures Transport and Tanker (easy)
    • Transport captures Refabricator (a few thousand tries, requires failing Wanderers campaign)

    The Refuge and Haven are out of reach due to their huge bunk count. Thanks to @Quantumshark for early testing. Recent testing has used a Monte Carlo simulation instead, to get more precise information.

    Mission Changes

    Wanderers Middle: Korath Exile escort mission uses a Refabricator; the Kor Efret escort missions use the old world-ships under a new name.

    Remnant: Bosses and flagships are now crippled Ravagers or Dredgers with Raider outfits.

    Edit: The new Remnant battles are too hard and too mindless. I'm going to redo them.

    Miscellaneous Changes and Other Notes

    Korath variants are now in data/korath variants.txt

    test.txt adds the Parrot-owned Korath Emporium in the Atik system which sells Korath ships and outfits. This file should be removed before merging.

    Becca provided the Dredger images and the outfit images for the Korath Inferno and Korath Digger Turret. Other work was by Nomadic Volcano with textures from texture.ninja.

    Save Files and Test Planet

    There's still some testing and artwork clean-up before this can leave Draft status.

    The To-Do list is a few sections down.

    Korath Emporium: Test Korath Outfits and Ships

    For test purposes, at first landing (or at a new game) you will be given the option to receive a trillion credits and access to the Korath Emporium. This changes your swizzle to 0 so your ships will look Korath. The Korath Emporium is a Parrot-owned planet in the new Atik system, next to Durax. There you will be able to buy all Korath ships and outfits. All Korath Exile ship variants are for sale too.

    If you want to try a hard battle, demand tribute from the Korath Emporium. You'll be attacked by 30 "Korath Civilian World" fleets.

    Early game balance testing

    Retest Exiles~1000 durax farmer.txt

    Hawk stolen from pirates and outfitted to farm ships in the Persius constellation. Spend some time at Durax, Atik, and Misam. Atik should be relatively peaceful with occasional Korath Dredgers mining. Durax will have occasional Ravagers or Dredgers. In the new Misam system, you'll see pirate Marauder fleet IX and Korath Large Raid fleets fighting non-stop. If you're patient, wait to see a Korath Large Raid fleet decimate weak human ships at Alcyone, Almach, Alpha Hydri, Polaris, or Sheratan.

    Remnant Missions

    ~~Presently, the new Remnant missions are too hard and too mindless. Fixing this is on the "to do" list below.~~ The Remnant battles have been updated with better ones but not tested.

    Retest Exiles~1003 before remnant.txt

    Wanderers Korath Escort Mission: Refabricator

    Near the end of the game, you had to escort three world-ships through Kor Sestor space. Now you have to escort one Refabricator.

    Omega Turtle~6202 before exiles.txt

    "To Do" List

    Administrative

    • [ ] rebase to 0.9.13 and remove conflicting changes from master
    • [ ] delete unused images and sounds

    Testing/Balancing:

    • [x] Have Zitchas test the Remnant mission changes.
    • [x] "make all the inate hull repair values at most like a third of the shield" - Arachi
    • [x] Chasers: don't mix expeller+non-expeller, and make the meteor engines slower
    • [x] Dredger/Ravager: too strong by every measure
    • [x] Remove the affinity for and against the Korath (Civilian) government except for Korath.
    • [x] Get the Korath civilians to protect the Korath without otherwise breaking things.
    • [x] Tweak stats of the Korath Defense Station and update the old world-ships accordingly
    • [x] Slow down the Haven
    • [x] redo Firestorm Torpedo stats
    • [x] redo Inferno stats
    • [x] Update combat ships with new outfits
    • [x] Incorporate the Afterburners (Asteroid Class) into one of the Chaser designs.
    • [x] Tweak the human-space Korath random encounters once outfits are finalized
    • [ ] Turn the Remnant bosses into puzzle battles (has been implemented but not tested)
    • [ ] Redo the stats of the slowing and disruption weapons without stat debuffs

    Outfits:

    • [x] Five afterburners
    • [x] Power generator
    • [x] Liquid Sodium Cooler
    • [x] Fuel Stack
    • [x] Five reverse thrusters
    • [x] new Expeller image and Expeller Turret
    • [x] Make a new Korath Heaver outfit image that looks "more Korath"
    • [x] Rewrite all weapon descriptions to be short and to the point.
    • [x] shock weapons
    • [x] Shunt-Strike
    • [ ] Replace the homing shock weapons with homing heat weapons
    • [ ] Make an outfit image for the Korath Defense Station
    • [ ] Remove the active cooling system and update ship designs to use large heat shunts

    Ships:

    • [x] Remove the Dredger's built-in fuel processor
    • [x] Change the lighting on the Haven, Ravager, and Refabricator to make their 3D structure more obvious and possibly a bit lighter
    • [x] Re-render the Korath Refuge thumbnail with the correct camera angle.
    • [x] Lighten the Engine (Meteor Class) nozzles a bit.
    • [x] some thumbnails are too big
    • [x] front of the Dredger doesn't show up on black-and-white outline images
    • [ ] Update civilian ships with new outfits
    • [ ] Switch back to the old Haven design and tweak the engines

    Descriptions, fleets, map, missions, etc.:

    • [x] give New Tortuga a spaceport and a better description ~~that doesn't talk about syndicate politics~~ a lot of other planets comment on the origins of their inhabitants. I've left it close to how it was.
    • [x] Split the Korath civilian fleets into "Korath (Civilian) Large" and "Korath (Civilian) World." Put the old world-ships and Dredger in the Large. Put the new world-ships and (rarely) the old ones in the World fleets.
    • [x] Give Korath home systems different ratios of large/world fleets so it is easier to pick which groups to hunt.
    • [x] Give the old world-ships proper names.
    • [x] Did I screw up the turret locations when making three separate ship types from the three Korath World-Ships?
    • [x] Remove the Refabricator that I just added to Kor Efret space.
    • [X] Move the Atik and Misam systems to better locations and change the starlanes. (Where? How?)
    • [x] Put a new pirate planet in Atik or Misam to explain the heavy pirate presence in Durax
    • [x] Add a Marauder (Territorial) faction, with "Marauder" display name, which guards New Tortuga, but won't attack the Author ships so the Authors stop dying in Misam.
    • [x] Update Wanderers Middle to be aware of the Korath (Civilian) government.
    • [ ] Either remove the new systems or tone them down a bit.

    Wishlist

    • [ ] Merge latest changes from 0.9.13 branch and add unique flares and sounds for all engines

    Abandoned:

    • ~~Dim the lighting on the Korath Refuge and dirty it up a bit~~ (no longer needed because old world-ships have the same light level.)
    • ~~Darken the Korath Digger outfit image.~~ (Becca, creator of the Digger Turret, says the Digger gun is fine)

    PR Checklist:

    (I'm waiting until I stop changing the art before I post the assets.)

    • [x] I updated the copyright attributions, or decline to claim copyright of any assets produced or modified
    • [x] I uploaded the necessary image, blend, and texture assets here: https://drive.google.com/drive/folders/1YpU2jwuUgkE75G17pV6K2gQtIA5iAZ5c?usp=sharing
    • [x] I created a PR to the endless-sky-high-dpi repo: https://github.com/endless-sky/endless-sky-high-dpi/pull/123
  • Southern Carriers

    Southern Carriers

    the first step to making fighters more used in the game is to make them more widely available.

    i figured the south has precious little access to them so, this seems like a good place to add population.

  • Bactrian and Mule balancing

    Bactrian and Mule balancing

    There has been a discussion on the power of the Bactrian going on on Steam for a little over a week now, and a few things have been discussed. Mainly, the argument was split up into three groups.

    1. Do we nerf the Bactrian now?
    2. Do we create new ships to compete with the Bactrian?
    3. Do we nerf the Bactrian later after there are new ships designed to compete with it?

    I personally think that "buffing up" and creating new ships to compete with the current Bactrian could end badly, as you'd just start getting power creep where the "line" of human tech gets higher and higher, eventually leading to humans practically being T2 when that's not intended (yet). I think it would be far better to nerf the Bactrian down to the line that is already set to end things now, rather than wait till later to fix things.

    Here are the current problems with the Bactrian: It's not a jack of all trades, but a master of all trades. It does amazingly as a freighter, as a passenger ship, as a warship, as a boarder, as a meat shield, and probably more I can't think of. It's too good in all categories. As such, I propose the following nerfs:

    • Lower the shields from 17,500 to 12,400, while buffing the hull from 8,600 to 9,800. This lowers the overall HP from 26,100 to 22,200.
      • The reason for this total HP reduction is because the Bactrian is seen as a civilian ship. It's purchasable with no license and can be seen being used by Merchants. As such, it was discussed that the Bactrian probably shouldn't have more total hit points than military vessels (i.e. Kestrel, Cruiser, Carrier, and Dreadnought). These changes result in moving the Bactrian from being the second (or third, if you have a shield Kestrel) strongest human warship in terms of HP to the 6th strongest, putting it above the Leviathan and below the stock Kestrel. The more hull and less shields was also to reflect the Bactrian's age, where shield technology was probably weaker and thick hulls were likely more often used to protect the crew. (This also makes it the human ship with the most hull, justifying its size.)
    • Reduce the cargo space from 530 to 240.
      • We all know that cargo space is the biggest problem with the Bactrian. Converting all your cargo space into outfit space, the Bactrian can currently get a grand total of 1,130 outfit space. That's more outfit space than ANY other ship in the game, even a Kar Ik Vot with all its cargo converted. This is an obvious problem for a T1 ship, so reducing the cargo in this way brings that 1,130 outfit space down to 920. This means that it can still have the highest outfit space among human ships, but it isn't so ridiculous that it beats out every ship in the game. Not only that, but this knocks the Bactrian down from the master of freighters. With this change, no human heavy freighter has less cargo space than the Bactrian, but the Bactrian still has far more cargo space than other human heavy warships (anywhere from two to four times the amount, in fact).
    • ~~Reduce the engine space from 180 to 160~~
      • ~~Currently the Bactrian can perfectly fit the two biggest Hai engines. This gives it a high speed of about 448 and a turn rate of about 100. For what is supposedly an old, cumbersome ship, this is way too much. With this 20 engine space reduction, the Bactrian is now beat out by all of the previously mentioned military ships in engine space as well as by the Falcon (by 5 space). Using Hai engines, the Bactrian now gets either a top speed of about 246 with the original 100 turn, or keeps the about 448 top speed for a turn of about 59. Edit: Doing the math, this is roughly an effective 20% nerf to both the max speed and turn of the Bactrian. The player can choose to make that about a 40% nerf in just max speed or just turn, or they can balance their engines and just take that 20% nerf to both.~~
    • Reduce the weapon space from 300 to 280 (something I think could be reverted if wanted, as this isn't a totally necessary nerf)
      • The purpose of this nerf is to slightly knock the Bactrian down a peg in the combat department. The Bactrian is a city ship meant to defend its inhabitants while taking a punch in order to survive, not a warship better than all other warships in human space.
    • Reduce outfit space from 740 to 720
      • This is really just to balance the outfit space out with the reduced weapon and engine space. This also brings the total converted outfit space from the previously mentioned 920 down to 900, tieing it with the Kestrel.

    The result of the outfit/weapon/engine space reductions also differentiates the Bactrian more from the military ships of the human race. After these changes, the Bactrian will still be the best for boarding and transporting passengers, but it is no longer the king of combat and freighting, and isn't a speedy elephant. Now it makes far more sense to buy a Dreadnought or a Kestrel or the Navy capital ships once we are able to do that, as they all now have some sort of edge over the Bactrian, be it faster, stronger, or just overall more dangerous.

    The Mule, being the Bactrian's little brother, also got a slight nerf for the same reasons.

    • Cargo space from 270 down to 150 (as much as a Freighter).
      • This reduces the total converted outfit space from 645 to 555
    • Reduced engine space from 110 to 100
    • Reduced weapon space from 210 to 200
    • Reduced outfit space from 450 to 430
      • This reduces the total converted outfit space from the previously mentioned 555 to 535

    The Mule remains pretty much the best human medium warship after these changes, but it isn't as much of a vast difference, and some other medium warships become more useful for niche roles.

    I don't really expect to see this merged soon, if ever, but hopefully it sparks some discussion here as well.

  • Used Ships and Outfits + Shop GUI Upgrades

    Used Ships and Outfits + Shop GUI Upgrades

    Disclaimer I know this is a fair bit of code, and I don’t entertain any illusions that it is likely to get merged quickly! However I wanted to put it out there so that people would be aware of it and avoid anyone else killing themselves trying to solve all the same problems I’ve been dealing with on this branch to get it working. And it does actually work! This is the branch I play on, not some half-finished or half-baked project. I personally feel having used ships and outfits significantly adds to the realism and immersion of the game as well as to challenge and economic balance. The outfitter has also gotten a major GUI upgrade along with the shipyard, which should really improve life for people like me with screens bigger than 1024x768 who like to fly around with a few dozen or more ships. Up to two extra side panels will save you from a lot of scrolling. The color of a ship's outline indicates if it is parked, failing flight check, or missing a hyperdrive and you can park / unpark ships from the outfitter or shipyard just by pressing "p". There are two new configurable options related to the shop GUI under preferences - so if you likes the old layout you can still use it.

    USED PARTS

    1. All outfits and ships now accumulate wear, and their re-sale value slowly decreases as they are used. As soon as an outfit or ship has any wear, it is no longer new and sells for 90% of it's new price. After than, the value decreases at a rate of 0.25% per day it is used to a minimum of 25% of the original price. Any time a ship is disabled that also adds wear (about as much as 2 weeks normal use). Wear has no effect on performance, only on resale price.
    2. When you land at a planet, you may find a few used outfits are available for sale at the outfitters. These are limited in quantity and tend to be 10-40% off list price. If you sell any outfit, it becomes available for re-purchase as a used outfit at the same price you just sold it for. The price of an outfit never changes while you are landed.
    3. You will always buy the cheapest outfit available first, and sell the newest/most valuable first.
    4. There might also be a whole used ship or two available at the shipyard. If you buy a used ship, every outfit on the ship will be the same wear, and cost the same % less than normal.
    5. Outfits in cargo and ships which are parked will not depreciate since they are not in use.
    6. When you capture a ship it is always very-used: between 40-55% the value of a new ship. This means that death-benefits associated with the capture will also be only 40-55% as great as before, since they are based on the ship's actual value. This means: a.) Capturing small ships and/or stealing nuclear reactors is less lucrative than before (still super lucrative though). b.) Capturing big ships is no longer “basically the same” as buying them at full-price in death benefits. It’s actually reliably 40+% cheaper to capture a capital ship than to buy one new, instead of only ~5% cheaper if you lose ~30 crew.
    7. Outfits can be given the “ageless” attribute to exempt them from wear and cause them to always be bought/sold for full price. By default, I’ve only made Quarg outfits and jump-drives ageless, since Quarg are very long lived and other races could not distinguish a “new” Skylance from a “used” one. Drak outfits should also be ageless once they actually appear in the game.
    8. The list of used outfits available, including those you have sold since landing, which may not normally be available at that planet, are now saved. Re-loading your game no longer clears this list.
    9. If you cannot install a part onto the currently selected ship in the outfitter, but have enough space for it in your cargo hold, you will be prompted as to whether you would like to buy the outfit anyway and place it in cargo.
    10. There is a "junkyard" at the bottom of the shipyard where you can sometimes find heavily worn and highly discounted ship hulls. Keep in mind that they are just hulls though! You'll have to outfit them with some engines and power at least before you can take off with them. If you buy an empty hull it will be automatically parked for you until you can give it some attention in the outfitter. And, of course, any ship you sell will have its hull appear in the junkyard there until you take off - just in case you change your mind about it.  
      

    Shipyard and Outfitter GUI Upgrades

    1. Ship/outfit details in a separate vertical pannel.
    2. Player ship details in a separate pannel from their fleet if they have >12 ships.
    3. Optimized for side-by-side comparisons in the shipyard.
    4. Fleet pannel can go over 4 columns if you have a wide screen.
    5. Color-coded ship outlines let you know which of your ships is failing flight-check or missing a hyperdrive or currently parked.
    6. You can park and unpark ships in the shipyard/outfitter by pressing "p". No more need to use the player-info screen for that.
    7. Ships that are parked anyway no longer need to pass flight-check before you can leave the outfitter.
    8. Selecting ships in your fleet with shift-click and ctrl-click works like you would expect and no longer has bugs.
    9. If you are selecting multiple ships in your fleet, there is still a selection reticle to let you know which one's details are currently being displayed.
    10. If you want the old GUI layout back just go to preferences, you can get it back the way it was.
    11. Other small tweaks.

    Also currently in this branch are two invisible/under the hood tweaks:

    1. Percentile pricing for commodities: The “commodities” file can now be used to modify global price norms. Any planet can define its commodity prices in the format “trade [name] percentile [value]” where [value] is a number usually between 0 and 100 representing the price of that commodity relative to galactic norms. “0.0” is whatever price is set as the “low” price in the “trade” section of commodities.txt, and “100.0” is whatever price is specified as the high price. The map has been modified to use the percentile pricing format without actually changing any prices. This is 100% backward compatible with map files that do not use this format - they will continue to have the same fixed prices and will be unaffected by changes to the global “trade” settings. The actual commodity prices have also not been altered – the base game is unaltered in its behavior by these changes, but they make re-balancing commodity prices much easier and even allow events/plugins to change global price norms across the galaxy.
    2. You can, if you wish, give outfits or ships the attributes “automated capture attack” or “automated capture defense”. These combat values are added without the outfit needing to be “wielded” by a crew member. This functionality is not currently used by any items in the base game, but is available to modders (a few of them requested it).

    Thanks! All comments welcome, but especially comments from people who have built and tried these changes!

  • Pirate jobs

    Pirate jobs

    Jobs available on pirate planets. Most of which are in some way illegal, either through the cargo you carry or through requiring you to attack merchants and law enforcement, and they are only offered to you if you have a high enough reputation with pirates or if you have proven yourself to them through having a high combat rating.

    Instead of increasing job payments by increasing sizes, Pirate jobs are worth more per ton/passenger than other jobs,

    The new jobs:

    • Illegal cargo and drug running (scanning results in fine, unless it is a "stealth" job in which scanning results in failure + fine)
    • Wanted passenger transport (scanning results in fail + fine)
    • Slave transport (scanning results in atrocity)
    • Pirate escort jobs
    • Attacking local law enforcement, merchants, or rival pirate gangs
    • Defending pirate planets from law enforcement
    • Ransom situation jobs
    • Plunder secret cargo from merchant convoys

    Other Changes:

    • Change the drugs in the friendly pirate hail that refers to drugs and adds a new one with pirates giving drugs a bad review.
    • Sell passengers into slavery on pirate worlds, getting a quick buck but massively hurting your reputation with factions in law enforced space,
      • Or release slaves on law enforced worlds to get a reward and boost your reputation with law enforced factions.
    • Normal passenger jobs do not offer if your reputation is negative with all law enforcement. This is to avoid making things like selling passengers into slavery too profitable and conquered planets becoming slave factories
      • Also a rep check on regional jobs. I don't think the Syndicate would trust you to test their ships if you have a negative rep with them.
      • Rep check on escort jobs because it makes no sense to escort a merchant who is hostile to you.
    • If your reputation with law enforcement is in the negative and your reputation with pirates is in the positive, then you are able to go to the job board on pirate planets and buy fake IDs that reset your reputation with law enforced factions to default. This can only be done up to 3 times, and the price increases the more you buy. First 10 million, then 20, then 30.
    • If your reputation with any law enforcement is too low, there is a chance that they will send bounty hunters after you on landing. There is a smaller version of a few interceptors when you hit -10 and a larger version of a heavy warship and either one medium warship or two light warships after you hit -200. This does not occur during the war.

    I got a little bit of help from [email protected]~~ @Kryes-Omega for a few of the jobs at first, and @Bladewood, @Wrzlprnft, @Disiuze, @Pointedstick, and @kaylara contributed some cargo names.

    Issues that need done to make this work the best:

    • [ ] Any finishing touches that I feel are needed before I personally find it 100% merge-worthy
    • [ ] #1938 to avoid confusion when you sell your passengers into slavery, as right now the passenger jobs remain in your active missions list even though they have been failed.
    • [x] #1962 to make jobs where you can't get scanned more punishing.
    • #2037 (optional) to allow for some more job flavors.
  • Economy Test

    Economy Test

    Content (Balance)

    Summary

    It's no secret that boarding and capturing ships is the most profitable action a player can take (in the early to mid game), not only in terms of game time but also in terms of real time. This has remained true even after the addition of depreciation to the game, having all plundered and captured goods be 25% of their original cost. Even if we were to lower this worth even further, plundering and capturing would still remain an excellent way to get your hands on new outfits or ships without needing to buy them. (As such, we're still looking to ways to make plundering and capturing more difficult, such as with #871.)

    Given that we've already nerfed boarding and capturing once though and it still remains one of the quickest forms of gaining credits, we should perhaps begin looking to other forms of income that we should buff instead of attempting to nerf capturing down to the level of everything else.

    This PR seeks to do something similar to #5779, making a number of changes to various parts of the game all at once with the goal of creating a more balanced outcome, only while that PR is focused on combat balance, this PR will be focused on economy balance. #5772 appears to have overstepped its initial objective of combat balance and gotten into the territory of economy balance as well, making changes to minables that I will discuss below, so I figured I'd tackle my own, separate economy changes in a new PR.

    Explanation of changes

    Increase all commodity prices, but maintain the same margins.

    During a new playthrough recently, I was busy mining while watching a battle on the other side of the system between some pirates and merchants. When merchants feel too threatened, they will spew their cargo all over the system as a distraction, and pirates will move to begin picking the cargo up. I realized though that the worth of those commodities was far lower than the worth of the metals I was mining, so it seemed to me like it would make zero sense for the player to actually use scaring merchants into dumping their cargo as a method of income. (This heavily ties into an issue like #4628.)

    Another thing I realized (and that has been outlined in the changes made to minables by #5772) is that having minables be worth more than commodities doesn't make too much sense. Reason being is that minables are raw materials, whereas commodities are typically processed goods, in some cases made with the resources from minables, and therefore commodities should be worth more than raw materials. While this is a realism argument and the reason that minables are worth more is likely a game balance situation, I think that it's possible to have both game balance and realism in this case. All we need to look at is the difference in obtaining minables versus obtaining commodities.

    Minables are obtained by, well, mining asteroids. It's a very low cost, low risk endeavor, especially if done in a well defended system. There are more high risk regions with greater amounts of high price asteroids, but these are still ultimately low cost to mine. All you need is a single ship and some lasers, maybe an asteroid scanner if you don't want to manually aim. Early game it's even possible to bribe pirates and have the profit from what you mined outweigh the cost of the bribe.

    Commodities on the other hand are obtained in two different ways. The first is buying them from a planet then selling them somewhere else. Compared to minables, this is a more high cost endeavor, but is still low risk. Given that you need to purchase the commodities before selling them for profit, the actual profit margins on selling commodities is lower than what is earned for selling minables. The trade off though is that commodities are more scalable than mining, given that you can use your entire fleet to buy and sell commodities but mining is effectively only an early game method of income. The second way to get commodities though is to steal them, either through boarding or through getting a merchant to dump them. This is both low cost but high risk; once you have a ship capable of plundering or scaring merchants, it costs you nothing to do so, but there is a high risk in that you could be destroyed in combat. The benefit of this risk though is that you obtain commodities without having needed to purchase them, removing the costs associated with normal commodity trading.

    So there is certainly room for both balance and realism with this system. Commodities can be made such that they have lower profit margins than minables when buying and selling for trade (the reason being that trading commodities are more scalable than mining, so we can't have trading commodities be better than mining for the early game), but higher profit margins when stealing commodities (rewarding players for taking a risk).

    To that end. I've currently at least doubled the max price of all commodities in all systems while adding the change in the max price to the min price. For example, food previously had a min price of 100 and a max price of 600. This has been changed to a min price of 800 and a min price of 1300. This causes profit margins on trading commodities to remain the same while greatly increasing the worth of stolen commodities. Commodities now occupy a range of 680 credits per ton at the low end to 4340 credits at the high end, up from a previous 100 on the low end to 1520 on the high end.

    This substantially increases the viability of playing as a salvager, a playstyle that is particularly fitted to pirates. I will note that this does technically buff boarding and capturing by increasing the worth of captured ships, but players who are capturing will typically be capturing ships that tend to have lower cargo values, while players who are salvaging will tend to harass ships with higher cargo values, so even though both playstyles gain from this, the salvaging playstyle gains more (and I would say also becomes a relevant playstyle where before it wasn't).

    This change also impacts commodity trading by slowing down the rate at which one can buy new freighters, given that the invested cost of buying commodities is now higher. While this is a nerf to this playstyle, I think it's a reasonable one, as commodity trading is still infinitely scalable, and buffing salvaging necessarily has to come at the cost of commodity trading anyway.

    Commodity | Min | Mid | Max | Margin -- | -- | -- | -- | -- Clothing | 680 | 830 | 980 | 300 Plastic | 780 | 930 | 1,080 | 300 Food | 800 | 1,050 | 1,300 | 500 Metal | 1,090 | 1,290 | 1,490 | 400 Equipment | 1,310 | 1,510 | 1,710 | 400 Medical | 1,510 | 1,760 | 2,010 | 500 Industrial | 1,840 | 2,040 | 2,240 | 400 Electronics | 2,280 | 2,480 | 2,680 | 400 Heavy Metals | 2,970 | 3,320 | 3,670 | 700 Luxury Goods | 3,740 | 4,040 | 4,340 | 600

    Tweak the mining experience.

    This is a companion change to the changes made to commodities, including the tweaking of minable prices such that commodities are generally worth more per ton. Overall though there's a general sense that mining simply isn't a worthwhile endeavor. #5772 decreased the worth of minables per ton while increasing the payload of each asteroid and generally reducing their hulls so that they can be mined faster. While I think that making mining quicker and increasing asteroid payloads is a good direction, I don't think that decreasing minable worth per ton is the way to go, or at least not by how much #5772 did. Reason being that it's already fairly easy for a Sparrow to fill their cargo hold and sell it for a reasonable amount of credits per day spent mining, and reducing the worth of minables just means that a Sparrow would need to spend more days mining to make the same amount of credits.

    Along with this has been an idea to create a dedicated mining lasers of some sort to making mining quicker. I'm not too against this idea, but I'm not particularly for it, either, given that part of the original intention behind minable asteroids was that you could use any weapon you want to mine them and just have higher hull damage weapons be better at doing so, so a mining laser would necessarily either need to have massive hull DPS for its size, or we'd need to introduce a new mechanic for certain weapons to be able to do increased damage to asteroids.

    A concern that I do hear though is the lack of any ship that is truly dedicated to mining. Most NPC mining is done by interceptors and some light warships, but these ships have rather small cargo holds. You can't really use freighters for mining though given that they typically lack guns, and the smallest freighters that become somewhat viable as mining vessels are too expensive, and mining really loses its value as a form of income by the time you can get your hands on them. So perhaps some sort of interceptor sized dedicated mining vessel that travels relatively slowly for an interceptor but has a cargo hold comparable to a light freighter is in order. Such a ship seems like it could fill a reasonable niche with the changes made by #5779.

    To the end of addressing this issue, I've at most cut the cost per ton of minables in half while increasing the payload of the asteroids to compensate. This results in most asteroids having about the same expected value, although on the low end of silicon and lead, I did increase the expected value of mining these asteroids given that their original expected values seemed very low to me. The worth of minable asteroids per ton, excluding yottrite, now occupies a range from 500 credits to 5000 credits, close to the 680 credits to 4340 credits that commodities occupy. This isn't quite strictly "processed goods are always worth more than raw materials," but is much closer than it was before.

    While the reduction in the worth of minable asteroids per ton does reduce how much a full cargo hold is worth, the increased payload means that it should be easier to fill your cargo hold in the first place, and the same expected value per asteroid means that while asteroids have been made worse in terms of income per game time, they've actually become better in terms of income per real time, also helped by the fact that all minable asteroids have had their hulls reduced by anywhere from 12.5% to about 19%.

    Beyond just tweaking the worth of minable outfits and the payloads of asteroids, I've also created two new weapon types geared toward mining.

    The first involves a new "prospecting" weapon attribute that increases a counter on any minable asteroid being hit. This value increases the default 25% drop rate of a minable asteroid according to the equation .75 / (1 + toughness / prospecting), where prospecting is the amount of "prospecting damage" that was applied to the asteroid before it was destroyed and `toughness' is an attribute inherent to minable asteroids that determines how resistant they are to having their drop rate increased.

    For example, the mining laser that I have currently created has a hull damage per frame of 1.9 and a prospecting per frame of 0.1, while a silicon asteroid has a hull of 350. It takes 350/1.9 = 185 frames for a single mining laser to destroy an asteroid. In that time, it will have applied 185 * 0.1 = 18.5 prospecting to the asteroid. A silicon asteroid's toughness is 37, meaning that the drop rate of a silicon asteroid destroyed by a mining laser will go from 25% to .25 + .75 / (1 + 37 / 18.5) = 50%. Given that the prospecting applied to an asteroid is a factor of how quickly it was destroyed versus how much prospecting was applied per frame, using multiple mining lasers doesn't further increase the drop rate of an asteroid, only increasing the speed at which the asteroid is destroyed.

    The second new weapon is a "tractor beam" weapon mechanic. Any turret with the "tractor beam" weapon attribute will behave similarly to an anti-missile turret, except instead of automatically targeting missiles, it will automatically target any flotsam that is within its range (i.e. its velocity, since anti-missile turrets and by extension tractor beams all "create" 1 frame projectiles), applying a velocity toward the tractor beam equal to the value of the tractor beam. For example, a turret with "reload" 1 and "tractor beam" 2 will pull on a flotsam with a velocity of 2 * 60 / 1 = 120 velocity per second. Tractor beams also apply a slight additional drag to flotsams that they are pulling on, with this drag being the strongest on flotsams that are traveling perpendicular to the tractor beam pulling on them, causing flotsams to fall quicker toward tractor beams instead of potentially orbiting your ship as they get pulled on. Should you have multiple tractor beams, using opportunistic turret firing will cause each tractor beam to pull on a separate flotsam, while focused turret firing will cause each tractor beam to grab the first flotsam it can, even if another tractor beam on your ship is already pulling that one. Given that tractor beams attract flotsams, this means that tractor beams work on both minable asteroid debris and dumped cargo from merchants.

    While a new ship that is dedicated to mining isn't something I'm opposed to, I think it's something that can be left for another PR.

    Asteroid | Cost per outfit | Payload | Expected value | w/ Mining Laser -- | -- | -- | -- | -- Silicon | 500 | 80 | 10,000 | 20,005 Lead | 900 | 60 | 13,500 | 25,689 Iron | 1,100 | 55 | 15,125 | 27,268 Aluminum | 1,600 | 50 | 20,000 | 36,067 Titanium | 1,900 | 50 | 23,750 | 38,035 Copper | 2,100 | 35 | 18,375 | 33,087 Neodymium | 2,300 | 65 | 37,375 | 47,867 Tungsten | 2,700 | 40 | 27,000 | 40,528 Uranium | 3,000 | 40 | 30,000 | 42,032 Silver | 3,600 | 35 | 31,500 | 44,133 Gold | 4,400 | 30 | 33,000 | 46,234 Platinum | 5,000 | 32 | 40,000 | 48,023 Yottrite | 100,000 | 13 | 325,000 | 357,591

    Remove raid fleets?

    Raid fleets are basically only a nuisance for freighter players who like hauling around lots of cargo. Their intention is to balance against snowballing freighter fleets hauling commodities, but I'd argue that they hardly even succeed in that, only slowing down the snowballing of freighter fleets by requiring a player to buy more warships. So we're effectively just hampering one playstyle without really impacting any others. And there's certainly an issue of players running into the raid fleet mechanic without having any idea what's going on, ruining their experience. (See #6049 for one such example.) What I'd say is even worse though is how raid fleets only appear in human space, meaning that a player is free to snowball their freighter fleet anywhere else in the game just so long as they don't bring all their ships to human space. So really, the whole raid fleet mechanic fails on multiple fronts, and I feel like is something we should just do away with. While this does make hauling commodities a more attractive option than it might have already been, I really don't see it as too big of an issue. If we really wanted to stop players from creating fleets that snowball (which I don't think should be a goal of ours), we'd implement something like #4665 that would just flat out prevent a player from creating a fleet above a certain size.

    And in any case, I think that trade prices fluctuating is a better balance against snowballing freighter fleets than anything else. Increasing the cost of commodities as is done in this PR is also a nerf to snowballing freighter fleets, as while the profit margins have remained the same, it now takes more of an investment up front for the same amount of cargo, so the profit as a percentage of the costs has actually decreased, which will slow down any fleet snowballing, even if only by a slight degree.

    If we wanted to remove raid fleets, I would relegate them to a gamerule (#5556) instead of outright removing them.

    I've reduced the threshold for the raid warning mission to appear from requiring that the player have a 49% to spawn a raid fleet to a 14% chance. This is to make it clearer to the player when raids are appearing, as the previous threshold was far too high to really help the player, and they're probably getting swamped by raid fleets long before reading ~50% attractiveness.

    I've just concluded a poll on the Discord server asking about raid fleets, and here were the results. image

    So raid fleets are here to stay with the ability to toggle them, defaulted to on, coming in the future. We had some lengthy discussions after I posted this poll though, and raids being underdeveloped is something we discussed, among other things. I wrote down a bunch of ideas as to how raids could be improved and put them on my todo list:

    Expand pirate raid system
    	Governments can have multiple raid fleets
    	Raid fleets can have thresholds above and below which they won't appear
    	Raid fleets can have different limits to how many fleets can spawn at once (currently all are capped at 10)
    	Raid fleets can have a max attraction to the player
    	All raid fleets can be switched off with a gamerule
    		"Sandbox" difficulty in the future switches them off?
    	Systems can have raid fleets?
    		Have near-Earth systems lack raids while frontier systems could have raids with lower thresholds
    	Don't spawn raid fleets when the player is launching? (Avoids instaganks with no counter)
    	Cargo space used for attraction instead of just total space?
    		Use cargo worth?
    	Add raid fleets to more than just human space?
    		Hai = Unfettered raids
    		Wanderer = Unfettered raids???
    		Ember Waste = Korath raids
    		Coalition = None? Nothing really fits without creating Coalition pirates, which don't make much sense.
    	Some sort of delay between when you enter a territory and when raids show up?
    		Simulate the worth of your undefended cargo spreading by word of mouth.
    		Instantly being raided but a bunch of Korath when jumping into the Ember Waste wouldn't make much sense.
    

    I think an overhauling of the raid system is outside of the scope of this PR, though, so this is something I'd handle later.

    Ensure that commodity prices on pirate worlds are generally middling to high.

    On top of the commodity price changes across the board, I have also gone through and increased the price of commodities on pirate planets such that each commodity is at least middling in terms of its base price, up to a maximum of 10% greater than any base price in the rest of the game. The reason for this is to lean harder into the improvement of pirate gameplay via salvaging commodities from merchants, providing players a safe location where they can get at least a middling profit on stolen commodities, and sometimes even the best possible price in the galaxy.

    TO BE ADDRESSED

    Increase job payments, especially on the low end.

    Jobs are perhaps the most obvious form of income in the game, giving you a simple mission to complete for a predetermined reward. With plundering and capturing being such a profitable venture, though, jobs are greatly overshadowed. Some job payments on the low end are also absolutely pitiful, having the player travel several systems just for a few thousand credits. You practically make as much money trading alongside doing jobs with the small missions like that as you do from the job payments themselves. So while I think that higher end jobs are in a fine spot, with certain jobs being able to pay out hundreds of thousands or even millions of credits, the lower end jobs definitely need to see an increase in payments.

    Have jobs offered scale more appropriately with a player's current capabilities.

    We are limited by the UI in just how many jobs are able to be offered at once. A way to buff job running would be to prune those jobs which the player doesn't want to do while offering more jobs that the player does want to do. This could be achieved by using conditions to get a sense of what the player's fleet capabilities are and offer jobs which are appropriate to them. For example, if a player is only equipped with warships, then perhaps less passenger and cargo jobs should offer while more bounty hunting and escort jobs do. But if the player is in a freighter, we should offer more cargo jobs and less combat jobs.

    We should also be able to check if the player has a hybrid fleet. Perhaps if the player has a high cargo space and high DPS, we provide cargo jobs that spawn pirates to worry about, or have hybrid escort/cargo jobs.

    FURTHER QUESTIONS

    Increase impact on trade prices from player selling large amount of cargo?

    Terin has suggested that he thinks that the fluctuation is far too low at the moment, saying how he traded 500k goods at a 300 credit profit, and the price of the good he sold on both ends only changed enough to reduce his profits per run per ton to 250 credits.

    There have also been suggestions to perhaps make it so that different planets have different resistances to having their prices changed. Perhaps populace, developed planets can hardly change their prices, but underdeveloped planets are much more susceptible to having their prices changed by massive amounts of trade.

    Cap number of commodities able to be bought per commodity per day?

    Put a cap on just how effective a freighter fleet can get by only having so many commodities able to be bought per day.

    No, I'm not interested in creating an entire economy simulation where planets have X production of commodities per day and Y consumption of commodities per day where the number of commodities remaining versus production and consumption is what determines the commodity price. This would just be a simple "You can only buy A tons of food per day and B tons of heavy metals per day."

    Not as keen on this change, it's just an idea that's come up that I think is worth discussing.

    Potential issues with these changes

    By making everything else in the game more profitable, we make the climbing of the tech ladder much easier, effectively making the early game shorter. I don't think that this is necessarily a good thing, as we shouldn't be trying to fast track the player though sections of the game. Every section of the game should be enjoyable to some degree, and the early game above all else should be among the most enjoyable given that it's where all new players start, and I think that part of the enjoyability of the early game is seeing yourself slowly progress. Part of the reason for the addition of depreciation was to slow down the early game, after all.

    So with the ability to earn credits being greatly increased with this PR, the early game may end up becoming too short. The obvious solution might be to increase the price of outfits and ships (certainly not to the same degree that the profitability of various actions has been increased because then we'd just be back to square one but with bigger numbers), but then that also just feeds back into making plundering and capturing more profitable. So perhaps along with increasing the cost of various items, max depreciation would be increased; increasing the cost of everything by 25% and reducing the max deprecation from 25% to 20% would leave plundering and capturing as profitable as before while slowing down the progression of purchasing new outfits and ships, but leave other forms of earning credits more profitable than plundering/capturing by comparison due to them being untouched.

  • Skylance sprite and other quarg outfits

    Skylance sprite and other quarg outfits

    the skylance sprite is the work of several people and was received very well on the discord and was only recently finished by me ~~while only the skylance is done if a general theme is decided upon the rest should follow quite easily~~ these remaining sprites are to give the quarg more than just question marks to do

    • [x] agree on a design
    • [x] skylance
    • [x] anti missile
    • [x] shields
    • [x] thrusters and turning
    • [x] batteries
    • [x] (possible) antimatter core
    • [x] intrusion countermeasures

    assets quarg outfits.zip

  • Moderators in the steam forum

    Moderators in the steam forum

    Since

    the ravening hordes of Steam users

    sometimes goes wild, i think we need a small group of moderators to prevent chaos. Someone like @LocalGod79 or active steam community members like @Amazinite (derpy) and @Disiuze (creator of alphean-boolean)or so.

    Their task wouldn't be much active moderation, but to intervene if a thread explodes and insults fly around.

  • A fix to the problem of (too much) money

    A fix to the problem of (too much) money

    Idea 1: Ship docking fees- a small fee (500-1000 credits) charged to the player for landing, on a per-ship count basis

    Idea 2: Taxes: Every in-game month or so, a % of the player's money goes to taxes. The player can choose not to pay these but will slowly lose reputation with the Republic

    Idea 3: Paying for fuel based on fuel capacity that is refueled: Not much, maybe 100-200 credits per fuel bar

    Idea 4: Ship Depreciation: At first, you can sell back the ship for full price, but later on (weeks later in-game), you will get back less for the ship than you payed for it (Amnt. can decrease based on time you've had ship) (Pirate ships can either be bottom of the chart or a random place in between top and bottom)

    Idea 5: Ship repairs, bigger ships cost more to repair, and planets you have dominated charge you nothing for repairs. Larger ships could cost up to 100k credits or so to repair

  • Introduced Korath Fuel Station (fuel pod with ramscoop)

    Introduced Korath Fuel Station (fuel pod with ramscoop)

    In #3489 it was suggested to create an unique Korath ramscoop. Rather than combining it with some cooling or energy capacity, as suggested, I think it would be more interesting to have a combined ramscoop with fuel capacity, or actually a fuel pod with ramscoop. This proposal introduces a Korath “Fuel Collector” which is exactly as large and as effective as two fuel pods plus one emergency ramscoop:

                                                mass, fuel, ramscoop ; efficiency
    updated Korath Fuel Collector proposal    :  20 , 200 , 2.0      ; 2.0/(20-16)=0.5
    two fuel pods plus one Remnant ramscoop   :  20 , 200 , 0.5      ; 2.0/(20-16)=0.125
    two fuel pods plus one ordinary ramscoop  :  26 , 200 , 1.0      ; 2.0/(26-16)=0.1
    two fuel pods plus one Wanderer ramscoop  :  23 , 200 , 4.0      ; 2.0/(23-16)=0.57
    two fuel pods plus one Catalytic ramscoop :  32 , 200 , 7.0      ; 2.0/(32-16)=0.4375
    

    The Fuel Collector is available for sale at the Kor Efreti outfitters and replaces the human ramscoop and fuel pods used by the Korath. The Raider has two equipped, the World-Ship four. Both also have one integrated (because of hypothetical players who might plunder outfits before they capture the ship). Their mass and outfit size are changed accordingly, their effective fuel capacity remains unchanged, and their total ramscoop increases from 1.0 to 6.0 (Raider) and from 1.0 to 10.0 (World-Ship).

    [EDIT] New proposal (masses are based upon universal fuel pods and Korath heat shunts):

    • Fuel Station (Large): 0.69 m credits, 30 mass, 400 fuel capacity, 2.0 ramscoop
    • Fuel Station (Small): 0.17 m credits, 9 mass, 100 fuel capacity, 0.5 ramscoop
    • Korath Raider has internal 200 fuel and 1 ramscoop, plus one large fuel station equipped, replacing the ordinary ramscoop, bringing it to 600 fuel and 3 ramscoop (currently 600 and 1)
    • Korath World-Ship has internal 200 fuel and 1 ramscoop, plus two large fuel stations equipped, replacing the ordinary ramscoop, bringing it to 1000 fuel and 5 ramscoop (currently 1000 and 1)
    • Efreti outfitter sells small fuel station, replaces human fuel pod and ordinary ramscoop
  • Changing illumination direction?

    Changing illumination direction?

    While working on the Remnant ships, I played around with the ship illumination and found that part of why ES ships tend to look flat and cartoony is because they are rendered with the illumination coming from nearly overhead. I've created a plugin with the ships re-rendered with the light coming in at a sharper angle, and I'm interested in what others think of the results.

    For example, here are the Kor Sestor ships using the current sprites:

    before

    Here's what they would look like with a sharper illumination angle:

    after

    And, here's a big fleet of human ships, using the plugin:

    fleet

    The exact illumination angle and the strength of the "fill lights" added to keep the shadows from being pure black might need some tweaking, but I wanted to get more feedback before putting too much more time into this.

  • Bugfix: Smooth music playback

    Bugfix: Smooth music playback

    Summary

    While collaborating on adding music to Endless Sky I am hitting up against quirks in the engine. This is a small bugfix to address a big issue. However, there will likely be lots of audio-based fixes around music to come as part of this collaboration.

    I am developing the plugin "Sounds of Endless Sky" which includes collaboration music by composer @Anthrophantasmus.

    https://github.com/samrocketman/sounds-of-endless-sky

    Fix Details

    If a track is playing and a new track of the same name is requested, then it will continue playing the track instead of resetting playback to the beginning.

    Bug behavior

    Music gets reset even if the same track is playing. The track restarts from the beginning every time it resets.

    • Jumping systems resets music.
    • Pressing ESC resets music.
    • Landing on planets resets music.

    Desired behavior

    If the track is already playing it should continue to play. Do not reset and play from the beginning because this can be jarring.

    Testing Done

    When the next track is the same as the current track...

    • Jumping systems no longer resets music.
    • Pressing ESC no longer resets music.
    • Landing on planets no longer resets music.

    Performance Impact

    N/A

  • Higher Resolution Stations

    Higher Resolution Stations

    Summary

    This PR implements #4779, and makes stations be double-resolution but half-scale, just like ship sprites. Not sure whether it would be worthwhile making high-DPI versions of the new stations sprites. Compare and contrast: image image image image

    Artwork Checklist

    • [x] ~I updated the copyright attributions, or decline to claim copyright of any assets produced or modified~
    • [ ] I created a PR to the endless-sky-assets repo with the necessary image, blend, and texture assets: {{insert PR link}}
    • [ ] I created a PR to the endless-sky-high-dpi repo with the @2x versions of these art assets: {{insert PR link}}
  • Outfit details handles negative values as

    Outfit details handles negative values as "needed" better

    Feature Details

    The outfit display now uses a general rule: negative attributes are requirements, and are shown at the end of the list (Some exceptions exist)

    This ends up looking mostly the same as before, as the most common negative values were already handled as an exception: "outfit space", "weapon capacity" etc. They were already specially chosen to go at the end of the list, and tagged with the "needed".

    So now, it's just a general rule: any negative value is considered a requirement and shown there in the same way alongside "outfit space needed" - e.g. "missile capacity needed: 1" instead of "missile capacity: -1" at the top. So the rare time you have an outfit that uses cargo space, it'll show "cargo space needed: 20" instead of "cargo space: -20"

    The global exceptions are "automaton" and "heat dissipation". They're just shown as-is. The other exception is "crew needed: 1" which is shown alongside other requirements.

    Any attribute that is usually a requirement, but is positive for this outfit, is shown like "outfit space added: 15" instead of "outfit space needed: -15" in the requirement area.

    UI Screenshots

    The Outfits Expansion gets the most benefit: imageimage

    Turrets with crew: imageimage

    The special requirement for the Dragonflame Cannon: imageimage

    Ammunition: imageimage

    'automaton' is not affected: imageimage

    Usage Examples

    N/A, it just looks nicer

    Testing Done

    Looked at a lot of outfits! Easy peasy!

    Performance Impact

    N/A

  • Plasma repeater scene image not updated

    Plasma repeater scene image not updated

    Is there an existing issue for this?

    • [X] I have searched the existing issues

    Describe the bug

    When #5584 was made the scene image of the plasma repeater was note updated. Causing the old version of the weapon to be shown during "FW Epilogue: Edward" when landing on Kraz after disabling the test dummy.

    Steps to Reproduce

    After completing the FW go to Kraz and start the "FW Epilogue: Edward" mission, agree to test the weapon, disable the fighter and return to see the screenshot.

    Expected Behavior

    You will see the scene image of the old plasma repeater.

    Screenshots

    Current scene image found here image Current version of the plasma repeater found here image

    Link to save file

    No response

    Operating System

    Windows 10

    Game Source

    ESLauncher2

    Game Version

    0.9.15-alpha (2758482)

    Additional Information

    No response

  • Pixabay License is neither public domain nor a CC license.

    Pixabay License is neither public domain nor a CC license.

    Is there an existing issue for this?

    • [X] I have searched the existing issues

    Describe the bug

    Endless Sky has some artworks licensed by Pixabay License, but Pixabay License is neither public domain nor a CC license. Would you rewrite the licensing section in README.md? Could it just refer to copyright file?

    Steps to Reproduce

    Search copyright file.

    Expected Behavior

    README.md don't tell a lie.

    Screenshots

    No response

    Link to save file

    No response

    Operating System

    NA

    Game Source

    GitHub Releases

    Game Version

    current master

    Additional Information

    No response

  • CI only: Better bash debug output for steam release build

    CI only: Better bash debug output for steam release build

    Summary

    CI only change for steam releases.

    With more frequent steam releases discussion happening on discord the CI code for packaging steam runtime is getting more eyes. I noticed I could improve debug output for the CI build so I am contributing this.

    Details

    When building a docker container or launching shell scripts from CI it is good to use set -ex options for /bin/sh or set -o pipefail -ex when building a /bin/bash script.

    The options are defined as the following:

    | Option for set or /bin/bash | About | | --- | --- | | -o pipefail | If set, the return value of a pipeline is the value of the last (rightmost) command to exit with a non-zero status, or zero if all commands in the pipeline exit successfully. | | -e | Exit immediately if a pipeline... returns a non-zero status. This is basically the same as putting && between every semicolon separated command. | | -x | Prints a trace of each command and its expanded arguments before executing it. If a command fails you'll know on which line because of the printed trace. |

    See also bash manual Set builtin.

A simple shooter game like Space Invaders that runs on QMK Firmware.
A simple shooter game like Space Invaders that runs on QMK Firmware.

About A simple shooter game like Space Invaders that runs on QMK Firmware. What is it like? Player's Manual English: manual_en.md Japanese: manual_jp.

Oct 14, 2021
A text-based space adventure role-playing game developed by a team of 5.

SpaceAdventureRPG - Text-Based Game A text-based space adventure role-playing game developed by a team of 5. Module: 4007CEM, Class: B, Group: 3 Contr

Nov 18, 2021
Remake of the original Space Invaders game.

Space-invaders Remake of the original Space Invaders game.

May 13, 2022
Stealthy way to hijack the existing game process handle within the game launcher (currently supports Steam and Battle.net). Achieve external game process read/write with minimum footprint.
Stealthy way to hijack the existing game process handle within the game launcher (currently supports Steam and Battle.net). Achieve external game process read/write with minimum footprint.

Launcher Abuser Stealthy way to hijack the existing game process handle within the game launcher (currently supports Steam and Battle.net). Achieve ex

May 8, 2022
Game Boy, Game Boy Color, and Game Boy Advanced Emulator
Game Boy, Game Boy Color, and Game Boy Advanced Emulator

SkyEmu SkyEmu is low level cycle accurate GameBoy, GameBoy Color and Game Boy Advance emulator that I have been developing in my spare time. Its prima

Jun 19, 2022
Improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R. game series by GSC Game World.
Improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R. game series by GSC Game World.

OpenXRay OpenXRay is an improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R. game series by GSC Game World. S

Jun 18, 2022
Open-source repository of Orbiter Space Flight Simulator
Open-source repository of Orbiter Space Flight Simulator

Orbiter Space Flight Simulator Orbiter is a spaceflight simulator based on Newtonian mechanics. Its playground is our solar system with many of its ma

Jun 12, 2022
A cross-platform, top-down 2D space shooter written in C using only system libraries.
A cross-platform, top-down 2D space shooter written in C using only system libraries.

A cross-platform, top-down 2D space shooter written in C using only system libraries.

Jun 15, 2022
GB Studio is a quick and easy to use retro adventure game creator for Game Boy available for Mac, Linux and Windows
GB Studio is a quick and easy to use retro adventure game creator for Game Boy available for Mac, Linux and Windows

GB Studio is a quick and easy to use retro adventure game creator for Game Boy available for Mac, Linux and Windows

Jun 21, 2022
A cycle-accurate Game Boy and Game Boy Color Emulator, with rewind feature.
A cycle-accurate Game Boy and Game Boy Color Emulator, with rewind feature.

Azayaka is a free and open-source Game Boy and Game Boy Color emulator written in C++. Features Cycle-Accurate emulation. Console based Debugg

Dec 16, 2021
CLUSEK-RT is a complex game engine written in C++ and the successor of the CLUSEK game engine
CLUSEK-RT is a complex game engine written in C++ and the successor of the CLUSEK game engine

CLUSEK-RT is a complex game engine written in C++ and the successor of the CLUSEK game engine. This engine has been designed with a cross-platform design in mind. Thanks to Vulkan API it delivers a next-gen experience with ray tracing to both Linux and Windows platforms

Jun 12, 2022
Minetest is an open source voxel game engine with easy modding and game creation

Minetest is an open source voxel game engine with easy modding and game creation

Jun 22, 2022
SameBoy DX is a Qt-based interface of SameBoy, a free, highly accurate Game Boy and Game Boy Color emulator.

SameBoy DX SameBoy DX is a Qt-based interface of SameBoy, a free, highly accurate Game Boy and Game Boy Color emulator. Build requirements: CMake Pyth

Jun 4, 2022
To recreate the board game Scotland yard and enable a single player to play the game by letting one of the roles being played by the computer based on written algorithm
To recreate the board game Scotland yard and  enable a single player to play the game by letting one of the roles being played by the computer based on written algorithm

Scotland Yard GAME OF SCOTLAND YARD This is a custom version of the classic board game, Scotland Yard .The game uses the London map used in the origin

Nov 11, 2021
The Game Boy ROM of the Game Boy bitcoin miner!

game-boy-bitcoin-miner The Game Boy ROM of the Game Boy bitcoin miner! To build this, currently this patch needs to be applied to GBDK: https://gist.g

May 29, 2022
Ground Engine is an easy to use Game Engine for 3D Game Development written in C++
Ground Engine is an easy to use Game Engine for 3D Game Development written in C++

Ground Engine is an easy to use Game Engine Framework for 3D Game Development written in C++. It's currently under development and its creation will b

Jun 10, 2022
A game made for the Game (Engineless) Jam using Raylib
A game made for the Game (Engineless) Jam using Raylib

Fastest Pizza Delivery A fun little 3D game made for the Game (Engineless) Jam. It is still is development but the basic gameplay is something l

Apr 3, 2022
Ncurses based omok game, execute omok game in your terminal
Ncurses based omok game, execute omok game in your terminal

omok_game execute omok game in your terminal Omok game played by two people. 한국어 버전(korean version)

Dec 6, 2021
Slender Man Returns is a game inspired by the original indie game Slender

Slender Man Returns is a game inspired by the original indie game Slender: The Eight Pages, but redesigned to run on the popular Unity game engine. Ported to PSVita. Original project by Rosario Terranova.

Feb 21, 2022