Developer postOriginal post (opens in a new tab)

Patch notes for Singleplayer Mission Update (V0.9.6.9 - 0.9.7.1 Build ID: 1701603)

A full dev update blog with screenshots and in-depth details on everything in this update will be released hopefully tomorrow, along with plans for the final steps to get Predestination feature-complete and finish off the UI as quickly as possible.

Singleplayer Missions:

The vast majority of development time on this update has been spent on implementing the Singleplayer Mission system, a robust and highly moddable framework for creating story content within Predestination that we'll be using to deliver episodic story missions and interesting challenge maps in regular free updates after release.

The first mission (which is now live) tells the story of the Kazzir space race and functions partly as a hands-off tutorial by guiding the player through the Pre-Warp era of the game. For more detailed information on the mission framework and the Kazzir mission, or to give your feedback on either, please head over to The Official Singleplayer Mission Feedback Thread.

  • Implemented Singleplayer Missions. Each mission contains a set of mission Stages, each of which contains a list of objectives to complete to trigger the stage's completion.
  • Implemented Objectives code. This uses reflection to look up a variable within the game and checks it against the supplied value. Objectives can be optional or mandatory, and a failed mandatory objective will trigger the stage's failure condition.
  • Implemented Stage Triggers. On failure or success of a stage, it can then trigger either another mission stage, a victory or loss sequence, or a Conversation. This allows you to have brnaching storyline missions where failure of a stage can lead you to different dialogue and missions rather than just failing the whole mission.
  • Implemented Conversations. These are animated sequences featuring characters from any race in the mission (can be your own) or even just images loaded from the mission folder. The characters talk about something, and the player can at certain points be offered a choice between multiple alternative responses. The selected response can branch the conversation off into a different direction, cause a stat boost or penalty, grant a free technology from a special mission technologies file, or trigger a particular mission stage.
  • Implemented special mission technologies. This is a separate list of special mission-exclusive technologies that don't appear in the tech list, but can be granted to you by mission Conversations. These can be used as rewards for picking a certain dialogue option or mission objective. For example, a mission could ask you to pick your governmental policy for the next ten years and give you three options that give different stat boosts.
  • Implemented mission tech tree overrides. Each mission is loaded from its own specific folder. Singleplayer missions can detect technology files in their mission directory and load them instead of the standard technologies. This allows full customisation of the tech trees for each mission.
  • Implemented mission sequences. Each mission begins with a slideshow-type sequence just like the intro or victory sequences, with optional music and voice narration. This then gives way to the mission, which can start either with the first Stage active or by jumping into a Conversation. This is a pretty versatile system, for example the Kazzir mission's start sequence is simply a black screen saying "Loading Mission..." and it jumps straight into the first conversation to get the story started.
  • Implemented GalaxySetupData.txt. This allows you to specify the exact galaxy setup you want this mission to use. You can specify all of the galaxy parameters, whether to use a static or random seed, timers for temporal rifts / revenant attacks / legendary leaders (more info below), whether to make the map 2D or 3D, whether to start in the Pre-Warp or Space Exploration stage, whether to add the Revenant planet, whether to disable wormholes or not, and how many AI are in the game with you (including 0 if you want none).
  • Implemented new race setup system. GalaxySetupData.txt allows you to specify which races are in the mission, but also allows you to make changes to those races and their homeworlds through a new race setup system. You can specify the government type, leader name, which damaged ship to start with (or none if you want to remove it), how many cargo containers and crash survivors are scattered around your planet to be found, how many of a specific resource are on the planet, and how many of a specific resource are within 6 hexes of your starting city. For example, the Kazzir mission has no damaged ship, no crashed ships, and no survivors on the planet as it's a pre-temporal-disaster story.
  • Implemented MissionData.txt. This is where all of the mission stages and objectives are defined,
  • Implemented hidden objectives. Objectives can be marked as hidden to hide them from the player, which has multiple uses. You can have multiple stages active at a time and only trigger the win condition when all are complete by having a hidden control variable that checks if the other missions are complete too. You could have a hidden bonus with additional points awarded for completing a secret objective. Or you could make the story suddenly take a twist by having a conversation pop up in response to something you did, for example building a nuclear power plant after being threatened by another race not to build one.
  • Implemented timed objectives. Some objectives can have turn limits, after which if you haven't completed the objective then the stage's failure mechanism is triggered. They can also be set up as Survival objectives where you have to last for the specified number of turns without fulfilling the condition, for example surviving for 100 turns without losing more than 10 ships.
  • Implemented mission UI. This dropdown style UI displays information on all active mission stages and objectives. Each stage and objective can be expanded for further info and to track your progress, and there are tick boxes to show successful objectives or failed optional objectives. A failed mandatory objective will cause the stage's failure condition to trigger and deactivate the mission stage.
  • Implemented mission saving/loading. Singleplayer mission status and progress is now saved to the save game file and picks up where you left off upon loading.
  • Implemented GameStatistics class. This records a variety of stats and gives access to various useful objects such as the player's homeworld, and is intended to be used with the Singleplayer Mission Objective code, which uses reflection to look up variables to see if you've met the objective.
  • Temporal Rifts, Legendary Commanders, and Revenant Attacks can each be switched off in the singleplayer mission parameters file by deleting the relevant commands or commenting them out.

  • Added the ability for a singleplayer mission to disable the default ship designs so you have to build from the designs it gives you or create your own.
  • Implemented the ability to load custom ship designs for a singleplayer mission straight from the mission directory.
  • Implemented the ability to load custom tech trees for missions, including custom starting techs, ancient techs, synergies, and race-specific tech overrides.
  • Implemented the ability to load custom buildings, infrastructure, ship modules, and ship weapons for missions.
  • Implemented a new system for defining race-specific technologies that replace certain techs in the tech tree. This is used to replace the Kazzir's Entertainment Centre with a new Broadcast Tower infrastructure.
  • Implemented the Memory Events system that can remember key choices you make throughout your singleplayer campaign so they can be used in future missions. This is used at the end of the Kazzir mission.
  • Implemented a special mission-only technology list that can be given out to the player depending on which options they select in the mission conversation dialogues. This allows us to attach special rewards and bonuses to your choices and unlock specific ship techs and designs with certain choices.
  • Mission completion status is now saved in a file in the user's save directory. Right now we just display a tick next to the Singleplayer Mission button to indicate that the mission has been completed, but this will be used in the Main menu overhaul to provide more info on each mission that has been completed or unlocked.
  • Implemented the ability to load custom shaders for singleplayer missions for the conversation system. This is used in the Kazzir mission to show the distorted United Colonies signal.
  • Improved the Conversation system to be able to trigger a victory screen or end the mission at any time. This allows us to do branching storylines with different endings rather than having all story threads meet up at the same ending.
  • Added the ability to add some extra text to the Conversation screen when displaying your dialogue choices. We use this in the Kazzir mission to let the user know when his choices will be remembered in a future mission.
  • Added the dialogue text from our writer to The Kazzir Story mission and trimmed it to fit within the screen.
  • Added the ability to have gold deposits on the homeworld as a racial trait, and used it in the Kazzir mission.

    Morale/Health/Security V2.0

    Feedback from the recent Health/Security/Morale system update has been mixed, and players pointed out that it felt quite random and often difficult to manage. We went back and took a long hard look at this system and decided that the previous implementation was better, so we've gone back to the pre-0.9.6.0 version and then iterated on that with some changes and improvements. The short version is that Health and Security now show what percentage of your population is covered by those services and Morale is now a flat percentage, and planets can now acquire permanent bonuses to Health, Security and Morale through random events. A series of escalating disasters will hit you if you let Health or Security drop below 75% or morale drop below 50%, and some spy missions etc disrupt those stats.

  • Morale has been changed back to the way it was before 0.9.6.0. It's now a flat planet-wide value between 0% and 100%, decreasing based on your tax rate and increasing from Entertainment Centres and various technologies.
  • Health rating has been changed back to the way it was before 0.9.6.0, but with some tweaks. The rating is now a percentage between 0% and 100% indicating how much of the planet's population has medical cover. Each Hospital increases medical cover by 2,000 population, and various technologies increase it further.
  • Security rating has been changed back to the way it was before 0.9.6.0, but with similar tweaks to the health system. The rating is now a percentage between 0% and 100% indicating how much of the planet's population has security cover. Each Police Station increases security cover by 2,000 population, and various technologies increase it further.
  • The Loyalty stat has been completely removed from the game. Its role is now played by Morale, if you let it hit 0.
  • The Entertainment Centre is now a piece of planetary infrastructure rather than a building inside the city, and has been buffed from +10% morale to +20%. This makes more sense as morale is a planet-wide stat and different sizes of planet have different numbers of cities.
  • Morale below 100% now reduces the combat rating of the cities on the planet in response to enemy ground troops by (100-morale). E.g. morale of 75% will give -25 combat rating. This is a significant enough penalty that players should want to avoid more than -10 to -30% when at war, and will want to use Propaganda Transmitters.
  • Health coverage below 100% now reduces the population growth rate of the planet by (100-health)%. E.g. A 75% health rating will reduce population growth by 25% (40/turn would become 30/turn). This isn't a huge problem, but health disasters of escalating severity begin to be triggered below 75%, 50%, and 25%.
  • Security coverage below 100% now reduces the planet's economy by (100-security)%. E.g. A 75% security rating will reduce a GDP of 100BC/turn by 25% to 75BC/turn. As with health, disasters of escalating severity begin below 75%, 50%, and 25% security.
  • Added a new system of permanent planetary bonuses or penalties to Morale, Security, and Health. The homeworld starts off with +10 to each and all planets start off with +2000 health and Security coverage so your first city is safe, and further bonuses or penalties can be accrued through random events.
  • Redesigned all of the Disasters that trigger on low morale/health/security to provide options that may permanently raise or lower the planet's stat by 10 points.
  • Captured planets now suffer from a flat -40% morale penalty that you have to deal with, either by building entertainment centres or dropping your global tax rate.
  • Added the Mind Control technology, which eliminates the -40% morale penalty for conquered planets and allows the Psionic Flux Phaser to be used in planetary bombardment. When used to bomb a city, the Psionic Flux Phaser immediately mind controls the population with no resistance regardless of any ground troops. This is a very powerful endgame technology in the Galactic Domination stage of the Sociology tree.
  • Added a new Morale disaster for when morale hits 0 in which the planet attempts to leave your empire. Options include allowing them to leave, pacify by force, and granting a civilian government. This new civilian government option cuts the planet's tax and productivity and puts an AI in control of it, but allows it to remain in your empire.
  • Added new disasters for conquered planets with morale below 50%, where Rebels can plant bombs to obliterate farms, ore refineries, or a whole city.
  • Added a new disaster for captured planets in which a freedom fighter re-captures one of the cities.
  • The Tax Office has been re-branded as the Housing Office. It still increases taxable economic wealth by 25% in the city, but now reduces the combat rating of that city by -20 rather than changing planetary morale. This seems more sensible as morale is a planet-wide stat.
  • Warlords such as the Z'loq now get -5 Morale for each city on the planet without a military barracks.
  • Nuclear power plants now reduce the planet's health coverage by 2,000 population.
  • Crimewatch tech now provides +5 morale for each city with a police station
  • The Sabotage Computers spy mission now reduces Security coverage by 8,000 citizens while active, and periodically attempts to shut down farms, refineries, or research labs for 10 turns. The security hit makes this mission's success rate higher than usual if the planets' security is low enough that it drops below 100% security coverage.
  • The Incite Civil Unrest mission now reduces Morale on the planet by 40%. The mission will be augmented in a future update to periodically cause a riot disaster, which can cost the enemy money to handle or even permanently reduce planetary morale. At the moment, this is only achieved if the planet's morale drops below 50%.
  • Adjusted the warning section of the planetary resource graphs etc to give more information. It now also explains the penalties for low health, security, and morale.
  • Propaganda transmitters no longer affect races you have an Alliance with. They still affect those you have a Peace treaty with as it's considered a covert action and the enemy race cannot discern where it's coming from.
  • The Tax window now gives an orange warning if any planets will have below 100% morale with the selected tax rate, and red warning if any will be below 50% morale.
  • Adjusted all technologies and Galactic Council resolutions involving Morale, Security, and Health to provide +10, +20, and +30 bonuses rather than +1/2/3 per turn.

    Robotic Race Overhaul:

    The Robotic race archetype still had several organic-based technologies in its tech trees and some options such as the Forge Services turned out to be extremely micromanagement-heavy. We've solved this by adding new Robotic-only technologies that unlock Forge Services, and overhauling how the forge services work. There are now three construction options (Construct Citizens, Deconstruct Citizens, and Construct Seed Ship), and four toggleable Forge Patches (Virus Scanner, Spy Scanner, Distributed Computing, and Bytecoin Mining) which consume energy per turn to run. We've also added some new endgame technologies for the Robotic races, such as a powerful new power plant and food source that requires Toxic planets.

  • Added a new Forge Construction: Seed Ship technology that adds the ability to construct a seed ship to the forge build options. This turns 2,000 population and 5,000 metal into a special colony ship with no warp drive.
  • Removed the Forge Patch options that were activated manually and replaced them with four new options, only one of which can be toggled on at a time and all of which are unlocked by technologies:
  • Forge Patch - Virus Scan: +50 security when toggled on. Costs 50 energy/turn to run this program.
  • Forge Patch - Spy Scan: +50 spy defense when toggled on. Costs 50 energy/turn to run this program.
  • Forge Patch - Mine ByteCoin: +1 BC per 2,000 population when toggled on. Costs 100 energy/turn to run this program.
  • Forge Patch - Distributed Computing: +1 RP per 2,000 population when toggled on. Costs 100 energy/turn to run this program.
  • Robotic races are now affected by morale bonuses and penalties (e.g. Propaganda transmitters), but cannot be taxed or research the Entertainment Centre. They instead get -10% morale for each city with no Support Center to encourage you to expand slowly on new planets.
  • Robotic AI will now correctly build the Support Center in every city once they have it. This is optional for players as Robotic races can function fine with negative morale down to -50, but morale penalties now decrease combat rating and propaganda can cause it to dip below 50%.
  • When on the planet screen as a Robotic race, the economy stats displayed no longer include Citizen tax and now include Bytecoin Mining.
  • Renamed all Design Enhancement technologies to Upgrade instead, as it's shorter and makes more sense.
  • Replaced Bio-Engineered Crops technology for Robotic races with Radiogenic Power Plant, a new power plant that consists of a modified Gas Harvester which draws in radiogenic particles from the atmosphere of Toxic planets and generates 200MW of power
  • Replaced Cybernetics technology for robotic races with Radiogenic Fuel Pellets. Unlocks the Radiogenic Fuel Pellet Factory infrastructure, which produces 4000 fuel pellets per turn and can only be built on toxic worlds inhabited by a robotic race.
  • Replaced Android Citizens technology for Robotic races with The Cloud, which allows your citizens to exist within a virtual data cloud and control multiple robotic bodies as needed. This doubles the number of citizens that can be built on all planets across your empire.

    Misc Features and Changes:

  • Temporal Rifts, Legendary Commanders, and Revenant Attacks now all happen on timer systems so that they happen regularly throughout the game rather than just being random. Revenant Attacks can also be switched off for sandbox games using the galaxy creation menu as below.
  • Added a new "Revenant Attack" slider to the New Game galaxy creation screen that varies the strength and frequency of revenant attacks. Options are: Small, Average, Large, Insane, and Off. (Small produces a 50% strength revenant attack every 90-110 turns, Average produces a 100% strength attack every 115-135 turns, Large produces a 200% strength attack every 140-160 turns, and Insane produces a 200% strength attack every 40-60 turns.)
  • The planet interface now remembers which tab was selected when you zoom in and out of the planet, and remembers where each of the tabs' scroll bars were.
  • Improved the tooltips for all the race stats on the Race Select screen
  • Improved the graphics on the Race Select screen by using the race logos instead of text and changing the bar image
  • Added capability to have ships with no FTL drives. These have red text saying "No FTL" on the system window and are left behind if you try to move them from one system to another.
  • Replaced the combat type damaged ship with a new more powerful ship with shields, armour plating, lasers, and mass drivers but no FTL drive. This should help it stay useful later into the game.
  • Increased the Fleet Combat field size when a large fleet is involved, and placed them further apart.
  • Temporal Rifts can now spawn on maps with no AI races. This could not happen in a standard game but could in singleplayer missions with no AI.
  • Updated the Planet AI to take into account the need to build Entertainment Center infrastructures to keep the tax rate comfortably at ~40%.
  • Homeworlds can now generate with additional deposits of resources specifically near the first city or elsewhere on the planet. This can be from either a racial trait or a singleplayer map generation parameter.
  • Planets now generate fewer ore deposits, but the deposits that are generated are larger and less random (2-4 times mineral roll, plus 1 times mineral roll in deep core deposits).
  • Toxic planets now generate more gas deposits and fewer ore deposits.
  • Coal now generates in small groups deposits on any planet that has it, rather than isolated single deposits. Planets with lots of coal may have it split over more than one deposit.
  • Cleanup: Removed old code for disease outbreaks, rioting and radiation on planets. We've re-built these things as Disaster events with immediate consequences.
  • Cities now get +1 ground troop per 1000 population, or +1 per 500 population for Warlords. This is worked out using an even distribution of population proportionally across all cities.
  • Added new Ship Module passive effects to increase Security, Tax income, and max population to a planet.
  • Galaxies now generate 1 nebula per size category, regardless of galaxy age (1 for Tiny, 2 for Small, 3 in Medium, 4 in Large, and 5 in Huge). The size of the galaxies on larger maps have been slightly reduced to compensate, and Nebulae can now contain homeworlds. A fix was previously put in to prevent homeworlds in nebulae from being re-generated and accidentally annihilating a race at the start of the game.
  • Shipyards will now pause if there is no metal available due to colonies upgrading blueprints. Colonies are now always prioritised over the shipyard.
  • Shipyards will now pause if there aren't enough command points remaining to build the ship.
  • Replaced the ugly stat list on the System window's Stats tab with shiny icons
  • The City Stats window when zoomed into a city now draws starbases or other pieces of infrastructure with orbital ships attached by drawing the ship rather than the building. No more giant orbital tether sprawling across the screen!
  • Improved the diplomatic advisor reports to be more specific about how much a deal is in your favour or the enemy's, and separately to judge whether they'll accept it. For example, if a deal is clearly weighted toward you but you have positive favour with the race, they may accept it anyway.
  • The Homing Beacon Initiative now provides only a 33% increase in legendary leader spawn rate, down from 50%. This now stacks with the Charismatic trait (not currently used by any race yet).
  • When exiting the Shipyard Screen, if you were previously on the Planet Screen then the game will open the planet again rather than the Galaxy screen.
  • Cleaned up all of the Level creation code and split it into generation and cleanup methods that can be invoked separately. This allows me to create levels via other means (e.g. singleplayer missions) and then perform all of the Level creation cleanup manually.
  • AI races are now slightly more inclined to annoy each other and declare war on each other if they think they have the advantage. This will need to be looked at a little more closely as I implement the Diplomatic Demand AI.
  • Added new ini options tooltipAnimationFramesClose and tooltipAnimationFramesOpen so now they open faster than the tutorial windows.
  • All Disaster events now provide a short immunity to further disasters happening in your empire and a longer immunity to that specific type of disaster happening again. This should make them less frequent and annoying while maintaining them as punishments for running a poor empire.
  • The Habitation Module is now a non-combat starbase module that provides living space for 2,000 population, +4 BC/turn and +20 planetary morale. If it ever gets destroyed, the planet it was stationed on will suffer a permanent -20% morale penalty. Unlocks the Starbase (City) design.
  • Technologies can now contain a variety of Stat bonuses rather than just enabling pre-defined boolean flag that causes the stat increase. E.G. The +10 ground combat increase from Combat Boosters could now be done directly by specifying "Stat = GroundCombat, 10". This is used primarily for special singleplayer mission techs.

  • Added a copy of the Renegades ship parts under the Kazzir race files. This will slightly increase the loading times, but solves a wide variety of bugs and needs to be done before we can add the final Kazzir ship parts anyway.
  • Added the Ship Module ability to generate a flat amount of money per turn. Previously this multiplied for every planet in the system, which was wrong.
  • Reduced the impact of diplomacy actions on a race's favour, both for positive and negative reactions. Positive reactions reduced from 25% of net score to 10%, and negative reduced from 6% when extremely offended and 2% when offended to 5% and 1% respectively.
  • Damaged Colony Ship now gives +10 Health and Security so that it can handle the extra 2,000 population it stores without causing difficulty.
  • When exiting the Shipyard Screen, the game now remembers if you were at a planet or on the galaxy screen and re-opens the last screen you were on.

    Bug-fixes:

  • Fixed a bug causing tooltips to get stuck in a loop of rapidly opening and closing sometimes.
  • Fixed a bug preventing the Upgrade button from appearing on tiered buildings when zoomed into the city.
  • Fixed a bug with tutorial popups sometimes getting stuck on the diplomacy screen
  • Fixed a bug causing planet mineral deposits to be re-rolled differently depending on when you first open the planet. It was accidentally using the global random number generator rather than the planet seed.
  • Fixed a related bug causing extra Fertile Soil and Fish deposits to be generated on a planet using the global number generator rather than the planet seed.
  • Fixed a bug causing Gas Harvesters to get research points from gas other than Xenon.
  • Fixed a bug with the food bonuses from technologies not always applying if you have a racial bonus (e.g. Renegades)
  • Fixed a bug causing the planet's stats to not update immediately when you demolished a building.
  • Modified the nebular graphics to prevent a strange washed out effect that could sometimes be seen in the middle of some of them.
  • Fixed a bug causing ship weapons with ammo to magically refill on entering fleet combat or performing any action that refreshed its stats such as saving and loading. Ammo status is now maintained across weapon refreshes.
  • Fixed a bug where certain galaxy parameters were being set on a temporary galaxy during map creation rather than the actual galaxy being generated. This didn't cause any noticeable effects on gameplay, but was spotted when it caused problems for singleplayer missions using non-default options for some galaxy parameters.
  • Stars that visibly appear to be inside a nebula should now correctly recognise that they are in a nebula. This mostly affected Primordial age maps with their giant nebulae.
  • Fixed a number of instances of text misalignment in dialog boxes.
  • Fixed a rare bug that could happen after the Victory sequence played that caused the screen to just go black rather than quitting back to the main menu.
  • Fixed a small bug with the height of the Trade Route window, which would make it so you couldn't scroll down the whole list in the System Window for a star system with a large number of trade routes.
  • Fixed a crash if you attempted to sve a new ship design with the Save button instead of Save As. The Save button should be grayed out, but sometimes was not.
  • The AI will no longer attack your planets if the attack fleet was in transit when a peace agreement was reached.
  • Fixed a small bug causing the Revenant ships to sometimes get stuck in a star system because something happened to the planet they were on their way to attack.
  • Fixed a bug causing the Food starbase to use the Energy starbase design.
  • Fixed robotic AI accidentally setting a tax rate
  • Race-specific technologies are no longer considered equivalent to a technology which is functionally identical but belongs to another race. E.G. All races have a tech that gives +10 Spy Bonus but for Robotic races it's called Predictive Algorithms and for organic races it's called Psionics. Previously the game thought these were the same tech and allowed you to trade Predictive Algorithms to a humanoid race, grant them Psionics. This is no longer possible.
  • Fixed bug preventing the plural demonym of races from being loaded. Functionally, this made no difference as it wasn't used anywhere until now.
  • Fixed a bug causing some technologies to be incorrectly classified as race-locked techs just because they had been moved around in the race's tech override files.
  • Fixed a number of small mistakes in the tutorials, and updated a few of the tutorial text files with new information.
  • Fixed a bug in the Robotic tech trees where Bytanium Battle Armour didn't link to one of the techs it was supposed to.
  • Fixed one of the premade frigate ship designs having Asteroid Miners attached instead of fake cosmetic ones.
  • Fixed a bug where tooltips would display for elements that are currently invisible. Sprites drawn with an alpha of over 0 were being drawn even if the supplied colour had an alpha of 0, which caused the game to think they were still visible and pop up tooltips on mouseover.
  • Fixed a crash that could happen if a singleplayer mission limited the tech eras to pre-warp only.
  • Fixed a bug where clicks could go through the Diplomacy screen and into the Galaxy screen behind it in rare circumstances, allowing you to hit the End Turn button accidentally.
  • Fixed a strange bug that could allow the diplomacy event queue to persist through load game calls and even new level creation, leading to some strange effects and even crashes. This was extremely rare, and I'd be surprised if anyone encountered this bug in the wild.
  • Fixed bug where the AI wouldn't evaluate all races until the 2nd turn after creating or loading the game.
  • Fixed bug causing the game to only attempt to save or load the game once. Now it retries a few times if something goes wrong rather than just crashing immediately.

    **Truncated bug list due to length. Full patch notes are available in the official Development Tracker thread**

    Cheers,
    -- Brendan, Lead Developer