Hi everyone. Nick here, the lead developer of From the Depths. I am writing this on the day of FTD’s exit from early access. This is a special moment for me (made only slightly less special by working 20-hour days and being slightly deranged with exhaustion).
FTD has been in development for 8 years. It started out as (to cut a long story short) a one man indie dev project but to call it that now is entirely inappropriate given the monumental amount of work put into the game by the team, community contributors and the community themselves.
I’d like to give special thanks to my team. Jeff Madole (Majyst) who has been looking after the game’s planet/faction content for years now, which is a monumental job made even harder by the frequent rebalancing of the game and introduction of numerous new mechanics.
Draba (János Blaskó) whose dedication to getting the game mechanics balanced and streamlined has been indefatigable even in the face of the frequent pushback that changes inevitably create. Without these two the game would be nowhere near as enjoyable and polished as it is today.
Many thanks also to Joris Wingelaar (HerpeDerpeDerp) who has spent the last year at the coal face of strategic AI (and many other things) and produced a campaign that is significantly more interesting to play. Huge thanks to Arnaud Lewden (Gladyon) who has been coding on FTD for many years now and contributed an enormous amount to so many different areas.
Thanks to Haoyu Weng (WengH) for putting in the undo-redo mechanic for building, amongst many other epic things.
Further thanks to my business manager Sean Darling (Beastman) and community manager Jonathan Bacon (BaconsTV) who have allowed me to focus on what I love to do best, which is coding. You both work tirelessly to bring the community feedback to the team (whatever the timezone). It’s fantastic to know I can rely on you guys to keep things going smoothly.
Thanks to Peter ♥♥♥♥♥ (Khaz) for creating the visual aesthetic of the game and doing a bunch of coding as well. Peter worked for years alongside Jeff and me and together we brought the game a long way forward.
Thanks to Mattia Pizzaia (Mangmod) for all his work on the trailer, UI buttons, sounds, artwork and many other things.
Thanks to Rhea for your modelling contributions, and Joan Palacios (Strivvy) for yours, and thanks to the more recent members of the art team as well such as Mira Dzhantova for the new box art branding and trading cards and Claire Monoghan (Claire) for new block models and textures.
Thanks to Ben Reeve (BlueNexus) for his work getting the game localised ready for translation. This was a monumental job.
Thanks to Charlotte Nguyen (Hikari), Scarlet Devil and Karim Ben Ghorbal (Karbengo) for your significant contributions to the game’s content and community management.
Thanks to Mike Haynes (ABYAY) for coming to Scotland and working on the content, the tutorials, the build guides and much more.
Thanks to Lukaz Guzman for Rambot character art and loads of the original models and textures.
Thanks to the dozens of translators working on getting our translations of the game ready.
Thanks to Tor Johan (OwO) for testing.
Thanks to everyone I’ve forgotten (I’m sure I’ll remember once I get some sleep).
Thanks to our moderators, wiki editors, bug reporters, feature suggesters, donators and players. Special thanks to our dozens (hundreds?) of “Keepers of the Lore (KOTL)” for helping our content team create the blueprints of the factions Neter, AOTE and Glao. And thanks to all the youtubers and streamers who have adopted FTD and stuck with it. Without you the game would not have reached the audience it and development would have run out of funding a long time ago. Thanks to my wife, Laura, for putting up with this ♥♥♥♥.
So with the important part done I’d like to talk about what FTD means to me. It’s become my life now. When I started the project, I had hardly any coding experience, no 3D modelling or texturing experience, no unity experience, no UI experience (shocking, right?) and had never run a business. With the support of you all I’ve been able to make game development my life and am now recognised officially, in many player reviews as “one of the worst UI coders in the world". It has been a really great experience working with such talented people and making a product so many people are passionate about. I know FTD is very special to a lot of you as well and seeing you all enjoying it so much has been the driving force for me for this whole time.
So what does leaving early access mean for us. I know a lot of you are celebrating this achievement with us, but I know a lot of you are worried for one reason or another. Don’t be. Leaving early access just means that I think that we’ve got a sufficient breadth of features that are now in a stable state. This means I am proud to put it on general sale, rather than a limited sale to enthusiastic early accessors. This absolutely isn’t the end of development for us, it just means that our existing engines, weapons, armour, game modes, etc are now pretty much in place and won’t be changing every month.
So for people coming back to FTD to see what the release version looks like… here are some highlights for you… depending on how long you’ve been gone there will be too many to mention... Universal Production Music UK have provided us with an epic sound track of 90 songs that you can listen to in game. You can now add camouflage textures to your alloy, metal, heavy armour and wing materials You can get back into the game more easily with voice acted build guides and interactive tutorials, and new manual pages You’ll find a new and improved steam engine system to play with. That’s fresh out today…. The campaign’s 8 enemy nations have improved strategic AI making the campaign more interesting to play The story mission arcs have been recreated and contain an interesting story for DWG, and some fun combat for Steel Striders The multiplayer is now much more stable, and you can play adventure mode multiplayer now (as well as campaign co-op and many standalone multiplayer maps) Achievements and leaderboards have been added Visuals for jets, ion thrusters, torpedos and missiles have been refined.
To those of you coming to FTD for the first time, I really look forward to meeting you on the Steam discussion forums, the Reddit or the official FTD Discord. I hope you all enjoy the release, and thanks again for all your support over the years. Nick Smart, Lead developer and Director Brilliant Skies
And here's a wonderful video Jon put together for the release
The final version of steam engines is finally here! So let’s go over the changes!
The difference between main power sources
Fuel engines: versatile and the components are very cheap. If they aren’t consistently used at their maximum output they will cool down, and their efficiency will be above what’s shown on the stat screens. Good for backups and craft with erratic power usage.
Custom jet generators: efficient, but the components are very expensive to buy and have strict placement rules if you want to use their full potential. Very attractive if you already have a working jet engine, and just have to pay for the generator and some extra combusters/compressors. Cost-inefficient if they are consistently taking damage.
Steam engines: very cheap components and they are much more compact than fuel engines with the same efficiency. No placement restrictions, but their efficiency drops sharply when they aren’t running at their maximum output. Good as the main power source of craft with consistent power usage.
Important QoL changes
All components save the steam and kinetic energy they have when the craft is saved or pulled from play. On loading, everything is instantly restored to that point
Boilers do not burn materials when they reached maximum pressure now, out of play resource usage is similar to the in-play one
Crankshafts and multipurpose shafts are not separate anymore. If it’s a rod and it rotates it can connect to axis shift gears, propellers and drills.
Reduction gears do not need to be and can’t be stacked anymore. They were renamed to transmissions, see their pros and cons below
The changes above hopefully emphasize the different pros/cons of steam and take away the focus from some usability problems
Pressure differential, kinetic energy
Pistons and turbines have a fixed maximum steam throughput. How much steam can actually pass through them depends on the difference between input and output pressure (output pressure for turbines is 0)
Pistons convert 40% of the steam passing through them to kinetic energy on the crankshaft, pass the remainder to their output
Small turbines get 2 turbine blades for each body, large ones 1 blade for each body. How much steam they convert to kinetic energy depends on the input pressure, divided by the blade count. Lower pressure drop/blade = higher efficiency
Piston and turbine output scales with the kinetic energy of the crankshaft or the turbine’s rotating assembly
kinetics loss
Crankshafts and turbines both slowly lose a portion of their kinetic energy over time. This loss is proportional to rotation speed (so more significant at lower outputs), could be thought of as a combination of friction/inefficiency from lubricants gunking up at lower temperatures
Each gearbox, crank, piston, crank generator, flywheel and turbine blade increases maximum kinetic energy loss
At maximum output, this loss is low enough for steam to handily beat fuel engines, but gets more significant when power needed drops. You can combat it by shutting off by cutting steam from the rotating components, but you’ll still lose their stored kinetic energy over time and have to respin them when they are needed
Reusing steam from pistons
Single-stage pistons and turbines now have decent stats, very high power density but low efficiency (still much higher efficiency than before)
Feeding the piston outputs into another set of pistons or turbines adds another processing step and increases efficiency. Also reduces the pressure difference in the pistons whose output is reused, so total volume-efficiency goes down
When you resuse piston steam you also add parts increasing kinetic loss, so how many steps are worth it depends on you crank size, layout and use-case. More stages mean noticeably higher kinetic loss: total output ratios
This means your choice is between a dense+inefficient engine, or efficient+high volume one. The dense engine also has lower total mass and a lower portion of its output is kinetic loss, so tolerates changing demand better.
Crank sizes
Small crank lines are the most power-dense, all efficiency-improvements are dropped in favour of being compact so they also have the highest relative kinetic loss
Medium cranks have similar raw output to small ones, but their relative kinetic loss is much lower.
They are slightly less dense and more efficient and lose less at lower output. Also, have higher relative crank mass so their response times are slower
Huge cranks are very efficient and have a low relative kinetic loss. Volume-efficiency is slightly lower but still very good to compensate for the awkward form-factor
Shape and volume considerations
Each individual piston and crank adds the same base kinetic loss, so sharing cranks between multiple pistons means that loss is slightly lower relative to the total output. Can also make the crank lines harder to place, especially for large-huge pistons
Turbines can be very conveniently fit anywhere, so their base stats are slightly lower than something like 12 huge pistons sharing 4 cranks
Propellers and transmissions
Transmissions are single blocks that can take a fixed amount of kinetic energy/s from their input shaft and add it to their output. Their output shaft has a minor kinetic loss
Transmission braking takes away kinetic energy at the same rate, wastes the kinetic energy taken from the output shaft
Steam propeller thrust scales with their rotation speed
Steam propellers can now be used directly on the crankshaft, reducing volume and removing the minor kinetic loss. Also means their rotation speed can’t be directly controlled
Transmission’s max output: input shaft rotation speed ratio can be set on the transmission. Twice the output rotation speed for propellers means twice the thrust, but also 4 times the kinetic energy stored (responds slower and wastes more energy when braking)
The previous system had very narrow and specific rules, had to break some of the designs using engines made under those rules to open steam up and add some variety. We are sorry about that, but it had to be done to make the game better in the long run.
With the release and steam being done the big breaking changes and reworks are out of the way.
Changelog
Addition
BLOCKS
The material gatherer and oil drill get 5 seconds of effective 100% power after spawning to ensure they can jump-start a gathering unit with 0 materials. Just a quality of life thing, really.
CAMPAIGN
Vehicle engine statistics used for out of play simulation are no longer updated when the vehicle is damaged since the effect of damage is applied out of play are applied anyway. Engine stats will be recalculated when the vehicle is fully repaired (and back in play).
EFFECTS
You can now stop the jet engines and custom jet engines smoke from being emitted by setting the custom colour to (0 ; 0 ; 0) (before it made it invisible, now it’s not emitted anymore)
Change
GAME
Splash screen pictures and icon updated with new art
Fix
SOUNDS
Fixed the steam engine sound and the CJE sound which have been broken for a while
UI
Fixed some QoL issues with the selection/deselection of fleets and forces in the map
A quick bug fixing round, sorry no new toys :'( but plenty of multiplayer fixes.
Changelog
Addition
CAMPAIGN
Added in little UI tips showing your creator types, cargo types, and some hopefully useful resource warnings
Strategic AI will scuttle vehicles that haven’t done anything useful in a while
Change
CAMPAIGN
Changed how the fleets are assessed for usage in fights to make the AI more likely to engage large groups of enemies
Changed how the strategic AI chooses what to build to favour important tasks more
Improved performance for strategic AI pathfinding
Strategic AI pathfinding tweaks
UI
Character sheet UI updated
VISUALS
Changed the jet, CJE, propeller, ion thruster, torpedo and missile visual effects
Fix
AVATAR
Fixed the minigun textures and tidied up minigun code a bit
CAMPAIGN
Fixed issues with AI fleets that consist of both flying and not flying vehicles. AI will now correctly use Sal’s fleet
Lots of bug fixes that I can’t remember
The AI no longer places extra unnecessary resource harvesters next to HQs
The AI will no longer create multiple jobs to capture the same board sections simultaneously
Various strategic AI fixes
CJE
[BUGS-2696] the ‘fuel’ usage out of play for movement using CJEs now properly considers how much of each CJE was being used for the generator.
LUA
Main drive will now properly be set to 0 when calling RequestControl with the MainPropulsion type and value 0
MAP
You can no longer see the waypoints of enemy teams
MULTIPLAYER
Corrections made to the out of play repairs for both standard block damage and the ‘extra damage’ AI fleets receive in offscreen combat with each other
Fixed the synch of avatar weapons when one of the players has a mod installed- it used to knock the items out of order and cause mayhem.
Fleet positions are now calculated on the server and synched to the clients as and when necessary
Force deletions on the server are now more reliably executed on the clients
Misc improvements to the multiplayer lobby and some issues removed
Player team units following waypoints will now let the server decide when a waypoint has been reached, and that is synched to the clients
The Blueprint Spawner block now functions fully in multiplayer
The strategic AI state in a multiplayer campaign save is now correctly loaded and applied on the server, rather than creating a fresh state each time
Various important multiplayer synch fixes and bug fixes
PREFAB
Hover Frame prefab changed and fixed.
SHARD CANNON
Shard cannon no longer destroys itself.
TRANSITION BLOCKS
Hard edge fixed on some models. Should stop the wavy effect seen sometimes.
WINGS
Fixed the display of the centre of lift. It now displays the centre of lifts any/all of the 6 directions, as applicable.
Removed
AVATAR
The ‘telekinesis torque’ player item has been removed
We know most of you have been waiting eagerly for the Camo and CJE power/energy generation, and we thank you as always for your patience and support!
This update also has a number of voice-overs for our tutorials with more coming soon! A load of music and you can now play adventure with your mates in multiplayer! I wish I had friends now :'(
You may be thinking why are those CJE’s not in the usual orientation facing the front with the exhaust towards the back, and this is because they now have another function and that is generating power or energy.
By no means are these two made optimally, that’s for you all to figure out :p but they do generate a decent amount of power or energy for their size and fuel consumption. Hoping to see some optimal builds from you, good peeps!
I guess I should wrap this up with some more epic news and that is the ability to skin our constructs and not the White Flayer way.
The first screenshot is showing my Green Hornet, its hull colour slot 21 and the “cockpit” paint slot is 2. It’s looking quite dull right?
But what about now?
In this instance, I did not want the “cockpit” colour which is slot 2 to have any camo texture so I turned that off by right-clicking on the paint slot 2 “Enable camouflage for this colour” to off. I also turned off any paint colour in slot 21, which allows me to increase or decrease the alpha of the camo texture. Had I left “apply paint over the top of the camo layer”, the alpha would increase or decrease the actual colour set on slot 21, so if you are unable to see the camo while you have the paint active I would suggest decreasing the paint alpha until the camo is visible.
You can access the skinning section by pressing V on your construct and “Camouflage textures” tab, and choose which material should take the camo skin. Even wing parts can be skinned!!
Changelog
Addition
CAMO
Added a camouflage texture skin system for adding skins to alloy, metal, heavy armour and wing blocks on the vehicle. Press V to engage with it.
Added non-PBR support for camo textures
Vehicle colour palettes now include an option for each colour to disable/enable the rendering of the new camo textures on blocks painted that colour
You can also decide whether you want the paint on top of, or below, the camo
CUSTOM JET GENERATOR
ACB commands added for switching between jet generator output modes (power/energy), and for changing the maximum thrust reserved
Generator reserves a fraction of the custom jet’s maximum thrust and generates up to THRUST_RESERVED * 0.05 power or energy/second
Generators are 3x3x1 and 1x1x1 parts fitting the main block’s line, costs are 100 and 20 materials
New block for both custom jet sizes: generator
MULTIPLAYER
Adventure mode can now be played multiplayer
TUTORIALS
Added a voice over for the APHE cram tutorial
Added a voice over for the APS build guide
Added a voice over for the Carb engine tutorial
Added a voice over for the Injector engine tutorial
Added a voice over for the laser build guide
Added a voice over for the resource management tutorial
Added a voice over for the strategic control tutorial
Added a voice over for the Vertical Launch missile tutorial
Change
CIWS
Anti missile cannons can now target and damage CRAM shells. Max diameter slider up from 1000 to 2000mm
Building tutorials are now better at figuring out whether a placement is functionally equivalent to the recommended placement and allowing it
The rotation instructions in the building tutorials have been tweaked to be a bit more clear
The tactical control tutorial now has a voice over
Change
MANUALS
Many updates and tweaks to the in-game manuals and how they are displayed
The manuals are more usefully integrated into the inventory now
STRATEGIC AI
Strategic AI now uses a finer pathfinding grid- all custom campaigns must recalculate the grid in the ‘garrison’ tab of the map editor
Fix
ACHIEVEMENTS
Fixed the achievement for declaring war on an ally
Fixed the Oynx watch HQ achievement for QfN
AI
The empty manoeuvre routine no longer bothers to check for ‘out of control’ state
CAMPAIGN
AI scuttling rules for distance now only take effect if the unit is moving away from all of your units at least 5 m/s
Capturing a board section now takes 10 minutes (1 minute at x10 speed), this gives the AI more time to respond.
DUCTS
Set EMP susceptibility and resistivity values to match parent blocks.
MULTIPLAYER
A number of adventure mode (beta_test only) issues fixed that resulted in clients not spawning properly or receiving incorrect data
Fixed an AI exception on clients in multiplayer
Players who are not in an adventure mode (beta_test only) session have their previously saved positions wiped (when saving) so they don’t end up spawning in the middle of no-where should they join a future session
A quick sneaky update and a new addition...Achievements xD
Changelog
Addition
ACHIEVEMENTS
Added a stats and achievement viewer, accessed from the main menu single player tab
Added achievements (32 of them) for defeating faction HQs in Quest for Neter on various difficulties.
Added an achievement for building up 1 million explosive combo damage (in campaign/adventure/missions of built-in planets with standard game constants)
Added an achievement for doing high damage per second in a campaign battle
Added an achievement for getting a unit with maximum radar range in campaign
Added an achievement for getting into a 3-way battle in campaign
Added an achievement for going 150m/s under 500m in designer, in your own vehicle
Added an achievement for killing 20 planes in the campaign, story mission or adventure mode (in built-in planets with standard game constants)
Added an achievement for RTG usage
Added an achievement for Scarlet Dawn kills in campaign and adventure
Added an achievement for shooting down 1000 missiles in built-in campaigns/missions/adventures with standard physics
Added an achievement for winning a battle in the campaign where you bring approximately an x10 smaller force and defeat the enemy with approximately 60% of your force intact
Added in achievement for saving a huge sub-object (i.e turret)
Added in two achievements for creating and gifting commodities in campaigns
Added in two achievements for killing large and small godlies in (fixed difficulty) campaigns/missions/adventures in built-in planets
Change
LUA
Lua missile transceiver cost to 100 (from 2000). Lua missiles are now affected by ECM unless they have an intact cable connection
UI
Updated the enemy spawning UI for designer
CAMPAIGN
Damage difficulty for all preset difficulties is now 1 (easy was 0.4, hard was 2, godly was 4). You can still edit this slider in ‘custom’ if you want.
In the campaign, the kill to death ratio used to adjust difficulty is now only calculated for blocks destroyed on a vehicle with >85% health. This should get a better estimate as below 85% health the fate of most vehicles is sealed.
CIWS
CIWS damage multiplier down from 2.5x to 2x
Flak damage up from 50% of HE to 85% of HE. Increased armour effectiveness bonuses against flak and the customizer tooltip now shows that flak is weak against armour
Kinetic projectiles now do not check the angle of impact against missiles and CRAM shells. Damage is noticeably higher/more consistent, performance increased
DAMAGE
Frag AP up from 3 to 4. The buff paired with ricochet changes was not enough to keep frag close to HE damage
HE mechanics adjusted so it does less damage with lower variance, and smaller HE is comparatively better. Geometry is more important(hits on flat walls relatively weaker, in tight places stronger)
HE scaling adjusted to make huge explosions slightly stronger
Missile impact damage done for each m/s speed up by ~11%
LASERS
Base AP without frequency doublers up from 20/30 to 40/60 AP (pulsed/continuous)
Frequency doublers give 1 AP if there are 100/150 pumps in the system, down from 180/270
Laser cavity capacities down to 5/6 the previous value
Non-armoured optic variants have 300 health and 60 armour, up from 250/40
Pumps convert 30 power into 24 cavity energy/second, down from 30
Short-range combiner armour up from 50 to 60
LEADERBOARDS
All old leaderboards wiped
Leaderboard UIs updated and added, where applicable, to the debrief screen and mission launch screen
Missions and campaigns with leaderboards will now frequently check to see your game configuration constants are standard and offer you the choice to reset them or opt-out of the leaderboard
New leaderboards added for all DWG and SS missions. Quest for Neter retains it’s four leaderboards
MISSIONS
Mission allied units are now all configured so they spawn full of material but you cannot resupply from them, build on them, scrap them or retrofit them. This is an optional setting, should custom campaigns need different settings for allies.
NETER
Fixes to board section capture locations, many of which were erroneously on land, sorry about this
SCUPPERING
The old ‘fleeing’ check that would kill a unit that was deemed to be running from battle has been removed, now that the out of control check is in for problematic faction vehicles.
You are alerted when you AI thinks it is out of control
Fix
MISSIONS
The system that migrates your selected custom vehicle from one mission to the next (where appropriate) has been fixed
YOUTUBE
Fixed a bug where the youtube plugin would spam error messages. All old error messages will now be deleted
Hey all :) A quick little hotfix for our 2.9.3 stable release.
Changelog
Addition
UI
Added back in left-hand side HUD the bars representing ammo and fuel allowances of the current vehicle. These can be disabled in the options menu, as they are non-essential.
Fix
FUEL ENGINE
A bug when fuel allowance runs to 0 has been fixed- engines will now slow down as they run out of fuel access.
MULTIPLAYER
Fixed a UI bug in the server screen when a server is using a planet you don’t have
In adventure mode the adventure’s reference frame for the world is updated when you save the adventure, to improve the likelihood of a smooth loading process.
UI
Removed an out-dated reference to Easy campaign using centralised materials (it doesn’t)