The economy update is almost ready and available on the beta branch! In this patch, we've reworked factories, stations and a lot of things that have to do with economy. Our modding community will also probably be happy about the extensive updates to the script API, as well as its documentation! # Gameplay "Mostly quality of life changes, nothing too impressive. Crew is more predictable, so for example at mines you will find miners, while military stations will always host generals and other officers." * Predictable Crew: Hireable crew is more dependent on the type of station * Event: Resource Depots request delivery of a specific resource * Player ships can now be transferred to the alliance (no taksies backsies though!) * Added trading between players ** Players can now trade money, resources, items and relation improvements * AI trading ships are now pulled towards/pushed away from docks with a tractor beam * AI trading ships avoid occupied docks * When an AI ship crashes into a still-standing player station, no damage is done and no relation changes will happen * Fulfilling delivery missions now improves relations # Economy "In order to make stations more profitable, we reworked several things about them, like cheaper upkeep costs and enchaining possibilities." * Added cargo shuttle "fighters" ** Cargo shuttles can be bought at equipment docks ** Custom cargo shuttles can be built at a fighter factory * Factories can now be configured to send out cargo shuttles to sell or buy goods from other stations * Factories can be configured to request traders when they are full or run out of ingredients * Factory production time is influenced by value of the production and the production capacity * Factory station extensions now add production blocks * Rebalanced several goods and production chains to avoid completely over/underpowered factories * Crew payment is now only a third of what it used to be, matches with shown pay now * More secure stations ** Stations require less repair crew ** Station crew payment reduced by 75% # Station Building * Players can now found the following stations: ** Biotope ** Casino ** Habitat ** Equipment Dock ** Fighter Factory ** Research Station ** Resource Depot ** Smuggler's Market ** Trading Post ** Turret Factory ** Military Outpost ** Shipyard ** Repair Dock * Station owners get a percentage of the money transactions of most stations, as well as cheaper prices # UI * Added tooltips to mission exclamation marks on the galaxy map * Added an icon to show when bulletin boards have missions * Improved names of stations in delivery missions * Fighters that are unable to land make an error message pop up at the top of the screen * Energy usage of energy weapons is now also visible when they're not firing * Automatically create new squad if there is no free slot when transfering fighters ** If there is a free slot in a non-adjacent squad it is used first * Added description of relations to sector-controlling faction to galaxy map tooltip * Lost fighters without motherships can now be collected by other ships of the same faction * Added a hint for rearranging energy system priorities * Ambient (economy) payments that happen in another sector as the player is in aren't shown as notifications * Ambient (economy) relation changes that happen in another sector as the player is in aren't shown as notifications * Reworked chat window ** Added filters for different channels ** Added a scroll bar for the last few hundred messages * Removed own playername from dropdown menu when writing an email * Items marked as "trash" are now at the end inventory lists * Improved visibility of the trash icon * Trading routes are detected when both stations sell/buy for 0 credits ** This is important for trading routes between player owned stations * Added a warning when a new key binding is already bound to another key * Removed a few outdated hints # Client "With this patch, we've reworked a lot of the window and graphics code to make the game behave better on more platforms. If there are any issues coming up, please tell us, so that we can fix them." * Improved printing of GL errors * Added new MessageBoxes that work on Linux as well * Added a check for crashes at startup * Improved compatibility for older GPUs * Added lots of new loading screen tips * Added some Sci-Fi and actual science trivia to loading screen tips * Improved full-screen resolutions for computers with multiple, varying size displays * Improved handling mouse and windows for computers with UI scaling enabled * Improved networkd and client performance when removing multiple blocks # Server * Fixed an issue where /run would command not work with normal statements * Added a devMode setting to server.ini ** Fighter minimum production limit is 5 seconds instead of 60 ** No hyperspace restrictions ** entitydbg.lua script is attached by default to nearly all entities ** Scripts can be refreshed with F5, Ctrl-F5 and Shift-F5 # PvP Server Config Options "While we'll probably never balance the game around PvP, we want to give players the opportunity to set some ground rules for servers that allow PvP." * Added a value to server.ini to restrict the maximum amount of blocks for player crafts * Added values to server.ini to restrict the maximum amount of volume for player ships and stations * Added values to server.ini to restrict the maximum amount of player ships and stations # Misc * Improved accuracy of fighter-to-station distance calculation * Added some minor bugs * When a non-player controlled entity jumps into another non-loaded sector, the sector is now loaded from disk or generated # Script API "The Scripting Documentation has been massively improved with this update. Parameter names and return types are now correctly displayed where possible, and we added extensive documentation on how the predefined functions for entity, sector and other scripts work." * Massively improved generated Documentation ** Parameter names are added correctly ** Return value types are added correctly ** Added documentation for predefined scripts and their available functions * Added a setCheckedNoCallback() function to CheckBox * Added a setValueNoCallback() function and a setPositionNoCallback() function to Slider * Added ValueComboBox class that can save key-value pairs * FighterAI generates script-readable feedback about what it currently does * Added a function startFighter() to start a single fighter * Added a new AI state to make a fighter fly to a specific location * FighterType of FighterTemplate is now accessible * Added entity and entityId properties to Components * entitydbg.lua can now spawn and transform factories * Added checks to FighterController if a fighter can start * Added a StartError enum * Added reference to Owner component * Added Hangar and Fighter script callbacks * Added a flag to Hangar to check if it's currently producing * Added a BlockStatistics class * Added Assembly, BlackBox and Gyro BlockType enum values * Added a Hangar():clear() function * Added a Selection.entriesHighlightable property * Components can now be constructed with a string, similar to Entity, or with their Entity * Removed payMoney() and receiveMoney() functions since they can be replaced with pay() and receive() without issues * pay() and receive() now allow an optional string as first argument that can be used as description for the transaction * Added a Format class that can be used for translatable money transaction descriptions * Added reference to DockingPositions component * Matrix now supports in-place transformation of vectors (less allocations, better performance) * ShipProblems HUD is now accessible through scripts * Fixed some default components being missing to entities created via Sector():createObject() * Fixed wrong documentation in several callbacks * getMissionLocation() can now return more than 2 coordinate values ** See documentation for details * Added a class GameSettings() for access to the server and game settings * Added properties to access the ships and stations of a player or alliance # Parallel Entity Script Execution "We've finally finished our parallel scripting interface. We're using 2 new functions for updating entities in a sector in parallel, but due to the nature of parallel computing and race conditions, access to other objects has to be limited." * Added several ReadOnlyXXX classes * Added an updateParallelRead() Entity script function ** This function will be updated in parallel with other functions of the same name ** In this function, access to all entities is granted, but only through ReadOnly classes * Added an updateParallelSelf() Entity script function ** This function will be updated in parallel with other functions of the same name ** In this function, only access to the own entity and the ReadOnlySector() is allowed * In the above functions, access to all other classes, such as Galaxy(), Server() etc. remains as it was already * updateParallelRead() is executed before updateParallelSelf() # Bugfixes "As usual, user bug reports are marked with [UBR]. Thanks everybody for using the bugtracker and forums to report issues!" * [UBR] Fixed an issue where repair beams were not penetrating shields * [UBR] Fixed an issue where shield damage updates would cause lots of network traffic * [UBR] Fixed an issue where almost broken shields would dampen hits if multiple shots hit it in the same frame * [UBR] Fixed an issue where wreckage pieces that are part of a wreckage sector are cleaned up * [UBR] Fixed an issue where fighters would slow down a lot when returning to the mothership * [UBR] Fixed an issue causing sliders in crew board UI showing non-integer numbers * Fixed lots of GL/graphics/display issues * [UBR] Fixed an issue where it wasn't possible to fully repair ships * [UBR] Fixed object detector not detecting Exodus mission beacons * [UBR] Fixed insurance mails being sent for 0 credits * [UBR] Fixed craft stats showing number of members instead of workforce * [UBR] Fixed quickmenu tooltip showing the wrong keyboard shortcut for mail * [UBR] Fixed an issue where alliance notifications would sometimes not be recognized as already there, leading to notification spam * [UBR] Fixed an issue where fighters weren't able to land when no player was in the sector * Fixed an issue where /run would command not work with normal statements * Fixed an issue where mail window would create unnecessary network traffic * Fixed an issue in turret factory that having stolen cargo would give turrets for a very cheap price without goods * [UBR] Military outpost has a welcome text as well now * Fixed an issue where some freighters had no engines * Fixed an issue where alliance ships would not be able to be controlled by anti-smuggling patrols # Known issues "These are some known issues that we will be fixing while the update is on the beta branch. There are several more, but these are the most prominent ones or ones that have been introduced with this update." * Cheaper prices for player-owned stations aren't yet shown to owner, but this is only a UI issue, the owner actually gets cheaper prices already * No client filesystem scripting API * Hangar landing areas must stick out of the bounding box of the ship/station for fighters to be able to land * AI Traders don't respect the price ratio of custom factories yet * Relations to players can't be lowered through a menu yet