HarvesteR

Members
  • Content Count

    3,542
  • Joined

  • Last visited

Community Reputation

1,176 Excellent

About HarvesteR

  • Rank
    KSP Creator

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. HarvesteR

    My farewell to Kerbal Space Program

    It's much too early to talk about what's coming next, but rest assured there is something coming. You'll hear of it in time. As for the team, I'm leaving on the best of terms with everyone. I'm going to keep in touch with all of them. Cheers
  2. HarvesteR

    My farewell to Kerbal Space Program

    There are certainly plans for the future, but it's far too early to talk about any of that. Fear not though, there will be new tidings soon enough. Cheers
  3. HarvesteR

    My farewell to Kerbal Space Program

    It sure has come a long way, hasn't it? Those character graphics have been much improved! Cheers
  4. HarvesteR

    My Farewell to KSP

    Hi, There's no good way to ease into news like this, so here it is: I'm stepping down as Lead Developer of KSP. For the last five and a half years, I put all my work, my thoughts and my time into KSP. I've watched it grow from this little unassuming idea for a 2D game in which you'd put together rocket parts to see how high you could get, into a complete spaceflight simulator, a space agency tycoon, a planetarium of truly astronomical scale, a home for little green men and their space program, a Kerbal space program. KSP has become far more than the game I imagined half a decade ago. When we first set out to take on this project, I could not have expected anything even remotely close to what it ended up becoming. To say KSP surpassed my every expectation would be, at best, a colossal understatement. There was a time, years ago, when any single design decision of mine had the power to drastically change the direction of the project. There was the danger that by even moving ahead on development of one area instead of another, the entire feel of the game, the intent it carried, could be morphed into something else. There was a fine line we needed to stay on, lest we let the project slip and become something other than what we intended. That is no longer the case, and that's a very good thing. It means that conceptually, the game is complete. This isn't to say KSP's development is complete, however. Far from it. Plans for KSP reach far into the future, and there are enough ideas to keep us all going for years. The console versions are coming up, there are new updates in development, the list goes on. For myself, however, I desperately need to have something new, to create more than one game in my life. I need to make one thing perfectly clear: development on KSP will continue as always. No features, upgrades, bugfixes or anything of the sort are being discontinued because of my leaving. This I say with absolute confidence, because I have complete trust in every member of the KSP team, and I know they are fully capable of handling anything that comes their way. The KSP team deserves more praise than I can give them. This is a band of outstanding people, all brilliant and excellent at what they do, never tiring, never doing anything less than their best. I'm very proud of what we have accomplished together. It's something I'll carry with me for ever. I also know beyond any question that KSP would not have become what it is without every single one of them. I am forever grateful and in awe of all the work they put in. And of course, I must give all my thanks to the founders at Squad, Ezequiel and Adrian, who took this wild leap of faith with me, putting their unconditional trust in me without ever requiring any failsafes or guarantees of success. We all know games are a notoriously risky proposition in the best of times, and they nonetheless extended their full support to me, at a time when none could tell what lay ahead. Lastly, but most certainly not least, I have to thank every single one of you, the community, our players, kerbalnauts, space enthusiasts, reckless rocket engineers, our friends. All of you, who like us, believed in our weird little game and supported us throughout the years with your ever-inspired ideas, your unparalleled willingness to help, your relentless honesty and your unfailing loyalty. I cannot thank you enough for all of it, and I can only hope I am so lucky to see you again in whatever comes next. This isn’t goodbye. It’s just farewell for now. In the meantime, however, I hope you all enjoy playing KSP as much as I enjoyed being part of its making. Signing off, Felipe Falanghe, aka HarvesteR Please post comments in this forum topic.
  5. Hi, There’s no good way to ease into news like this, so here it is: I’m stepping down as Lead Developer of KSP. For the last five and a half years, I put all my work, my thoughts and my time into KSP. I’ve watched it grow from this little unassuming idea for a 2D game in which you’d put together rocket parts to see how high you could get, into a complete spaceflight simulator, a space agency tycoon, a planetarium of truly astronomical scale, a home for little green men and their space program, a Kerbal space program. KSP has become far more than the game I imagined half a decade ago. When we first set out to take on this project, I could not have expected anything even remotely close to what it ended up becoming. To say KSP surpassed my every expectation would be, at best, a colossal understatement. There was a time, years ago, when any single design decision of mine had the power to drastically change the direction of the project. There was the danger that by even moving ahead on development of one area instead of another, the entire feel of the game, the intent it carried, could be morphed into something else. There was a fine line we needed to stay on, lest we let the project slip and become something other than what we intended. That is no longer the case, and that’s a very good thing. It means that conceptually, the game is complete. This isn’t to say KSP’s development is complete, however. Far from it. Plans for KSP reach far into the future, and there are enough ideas to keep us all going for years. The console versions are coming up, there are new updates in development, the list goes on. For myself, however, I desperately need to have something new, to create more than one game in my life. I need to make one thing perfectly clear: development on KSP will continue as always. No features, upgrades, bugfixes or anything of the sort are being discontinued because of my leaving. This I say with absolute confidence, because I have complete trust in every member of the KSP team, and I know they are fully capable of handling anything that comes their way. The KSP team deserves more praise than I can give them. This is a band of outstanding people, all brilliant and excellent at what they do, never tiring, never doing anything less than their best. I’m very proud of what we have accomplished together. It’s something I’ll carry with me for ever. I also know beyond any question that KSP would not have become what it is without every single one of them. I am forever grateful and in awe of all the work they put in. And of course, I must give all my thanks to the founders at Squad, Ezequiel and Adrian, who took this wild leap of faith with me, putting their unconditional trust in me without ever requiring any failsafes or guarantees of success. We all know games are a notoriously risky proposition in the best of times, and they nonetheless extended their full support to me, at a time when none could tell what lay ahead. Lastly, but most certainly not least, I have to thank every single one of you, the community, our players, kerbalnauts, space enthusiasts, reckless rocket engineers, our friends. All of you, who like us, believed in our weird little game and supported us throughout the years with your ever-inspired ideas, your unparalleled willingness to help, your relentless honesty and your unfailing loyalty. I cannot thank you enough for all of it, and I can only hope I am so lucky to see you again in whatever comes next. This isn’t goodbye. It’s just farewell for now. In the meantime, however, I hope you all enjoy playing KSP as much as I enjoyed being part of its making. Signing off, Felipe Falanghe, aka HarvesteR
  6. I did. I had to upgrade my rig to work properly on KSP, so I think that counts. Went from a Core i7 920 to a Core i7 4790K, OC'ed to 4.6GHz (stock 4GHz). Also upgraded the mobo to an Asus Sabertooth. That is definitely a badS piece of hardware. Compile times went from 1min+ to less than 30 seconds! Cheers
  7. HarvesteR

    Devnote Tuesday: Joe was censored!

    Parts don't use raycasting to detect collisions. For normal colliders, collision events are sent up directly from the physics engine, and parts listen for those to manage their collision states. Wheels, on the other hand, are a totally different thing. The wheel raycast is the main source of contact information, so it needs an entirely separate ground detection logic. Mind though, that the ground detection logic I'm talking about is KSP's own logic, used to figure out vessel situations and so on. The wheels have their own internal 'grounded' flag used in the wheel simulation. The code I wrote here was essentially the 'bridge' between those two things. Cheers
  8. HarvesteR

    KSP 1.0.5 is live!

    Greetings, Kerbonauts! It has been a while, longer than we anticipated in any case, but we're now here with a new update for Kerbal Space Program: version 1.0.5! This update features content, bugfixes and rebalances that were part of the upcoming monster update 1.1, which will feature such things as multithreaded physics calculations and 64 bit support for Windows and OSX. That update is taking longer than anticipated, and we came to a point where a lot of content was ready to go through testing and be released on its own merits. With these parts ready we wanted to get them to you as fast as possible, and I think we have succeeded in a speedy delivery of this patch. Here are some of the highlights in this patch: Contextual Contracts & Contract Changes The contracts system has had a major overhaul with the goal of providing you with more varied and relevant contracts. Front and center in this overhaul are the contextual contracts, which adapt to your progress in the game. Contextual contracts will take your existing infrastructure consisting of bases, stations, satellites and rovers, and will challenge you to do things such as adding new modules, rotate crews, fly in a Kerbal with a specific skill, explore the surface around it, move the orbit and so on. The goal of the integration of the contracts with your existing missions is to integrate them more in the natural gameplay. You will be asked to use what you have built already, alongside the existing contracts that mostly ask you to launch new items. More changes can be found in the passive milestone rewards, which automatically reward you for any milestone you cross. These rewards are not only reflected in reputation gains, but also in funding and science bonuses. Higher rewards are still available to players who actively pursue a goal from a World's First contract they've accepted. New milestones are also available, targeting objectives such as space walks, crew transfer and atmospheric flights on alien worlds, and if you're not someone who spends a lot of time at mission control then a new strategy available from the Administration Building is right up your alley: leadership initiative increases the passive milestone rewards at the expense of contractual rewards, providing a boost to more independent players. Finally, the game now tracks manned and unmanned progress separately. Thermodynamic improvements Update 1.0.5 features many improvements to the thermodynamic systems. The thermodynamics ('thermo') system has been reworked to correct the various issues encountered in 1.0.4. In addition the thermodynamics at high timewarp feature more customizability, and support differential skin-internal temperatures and non-instant changes. We've also corrected some issues with the atmospheres of other celestial bodies, and better tuned re-entry and aerobraking across the board. When loading a long-unloaded vessel, unloaded thermal changes will be applied, too. The concept of core heat was also introduced, which in combination with various fixes should stop unexpected overheating of parts. Probably the best analogy of how this interacts with the rest of the thermal system (internal and skin temperature) would be to compare it to your computer’s case temperature, the temperature inside of the case, and the temperature of your CPU. For example, the ISRU should be capable of smelting materials, yet not melt the rocket it’s attached to. In game, this means that the ISRU works best with a core temperature of about 2000K, even if the part only has an internal temperature of 200-300K. This system allows us to be very expressive with the core temperature and simulate things such as warm-up time & overheating without it being directly coupled to the part temperature, which would become problematic as we enter analytics warp and temperatures equalize. New buoyancy model The water buoyancy has been completely reworked. Water is now less soupy and it's very possible to build seaplanes. In keeping with our commitment to make the game as moddable as possible all the physics values can be tweaked in config files. The density of oceans differs across celestials bodies, invoking new gameplay challenges. The impact speed not only depends on the speed of the craft when it hits the water, but also the angle at which it hits the water. New rocket and spaceplane parts A wide range of new and overhauled parts were introduced. The toroidal aerospike rocket engine has had an overhaul, as did the basic- and ramjet engines, the radial air intake and many mk.1 spaceplane parts. Among the new parts we find a complete working kit for mk.0 jet engines, the "Goliath" turbofan engine that would be a great fit on a large airliner and the "Vector" rocket engine, which mimics the Space Shuttle's main engines. The mk. 3 Cargo Ramp is a brand new part as well. This'll allow you to drive a payload into the back of an aircraft, or perhaps you want to create a docking bay on a space station with it! These are just some of the updated parts, we're hoping to see many new creations that incorporate them. We've also added new stock craft in the game for you to play around with. Bugfixes & Tweaks KSP 1.0.5 has seen a big focus on bugfixes. Over 100 issues were fixed, including launch clamps following you to orbit, . And good news for anyone with a fine eye for detail: the black stripes on the NASA tanks now line up perfectly! There were of course plenty more bugs on the 'fixed list', and a more comprehensive list is available below. As always there is much more to discover in the update, and we hope that our fantastic people on the Media Group and KSPTV have given you a taster of what to look for. Changelog =================================== v1.0.5 ============================================================ Hotfixed (build 1028+): * Reduced engine heating: less explosive decoupling. * Fixed NRE on Kerbal when the part it's on dies. * Fixed IVA breaking on crew transfer. * Fixed typo on Dynawing craft. * IntakeAir resource is now fully hidden in Resources App. * Fixed body lift (it now exists again). * Fixed every instance of part name, so root parts can be detected in all contractual instances. * Used Unity drag to avoid integration errors on splashdown. * Clamped parachute radiation. * Upgrade outdated instances of vessel situations in career saves * Included layer 19 objects in potential enclosing colliders for cargo bays Parts: * Added 'Juno' 0.625m jet engine * Added 0.625m air intake * Added 0.625m Liquid Fuel tank * Added 'Panther' afterburning jet engine * Added 'Goliath' giant turbofan engine * Added S3 KS-25-1 'Vector' Rocket engine, with super-large gimballing range * Added Mk3 size Cargo Ramp * Added Mk3 engine mount piece * Added Mk1 crew cabin, seats two * Added new Mini-ISRU part * Mk1 Cockpit model overhauled * Mk1 Cockpit IVA space overhauled * XM-G50 Air intake model overhauled * Mk1 Fuel, Structural and Intake Fuselage parts overhauled * T1 Toroidal Aerospike engine model overhauled * J-33 'Wheesley' Jet engine model overhauled * J-X4 'Whiplash' Jet engine model overhauled * Engine Nacelle and Engine Precooler parts overhauled Contracts: * Added Station and Base Contextual Contracts, requiring you to modify/expand existing bases and stations * Added Satellite Contextual Contracts, requiring maintenance operations to previously deployed satellites * Added Survey Contextual Contracts, which target existing landed vessels to request (applicable) survey missions of them * Part Test contract generation logic has been modified. Each part now has a much more specific set of constraints before it generates, to give it much more consistent and realistic altitudes, speeds, and envelopes. * Passive Progress Rewards: gives a light reward automatically to any new achievement. These are given independently of accepted World-Firsts Contracts, but are not as substantial. * Contract Decline Penalty: A small reputation penalty is incurred when a contract is declined, to prevent Mission Control from being abused as a slot machine. * New early game part haul contracts - easier part tests that only require you to bring the payload to a designated location. * Early game focused surveys balanced to be much more forgiving. * New part tests added for fairings and heat shields. * Many milestones added that involve the player doing hidden fun stuff. Strategies: * Added Leadership Initiative Strategy: increases passive rewards for achievements, at the cost of reduced contract rewards. Useful to boost self-driven playstyles. Progress Tracking: * Added new World First contract types for space walking, crew transfers, and flight on atmospheric planets. * There is also now a fourth record "track" for oceanic depth. * Many progress nodes now track progress in separate manned and unmanned tracks. This allows several contracts to appear at more relevant times. * Base and Station, plant flag, kerbal recoveries (rescues), crewed surveys, tourism, and some World Firsts contracts now require manned progress. * Satellite contracts now require unmanned progress. * The algorithm to choose planets for all contracts is now more reliable. Max CB "distance" has been reduced to two. This means you will no longer see contracts for Duna and Eve right after taking off from Kerbin. Science and Comms: * Science Transmission messages now show strategy changes to science, funds, and reputation. * All antennae now cut a transmission that has been interrupted due to power loss to prevent severely devaluing the resulting science. * Added an option to antenna context menus to manually enable partial transmissions. * Interrupted transmissions no longer delete science data. The data will attempt to return to the container it came from. * Transmission from orbital surveyors and science labs was tweaked slightly to look and behave more like standard science transmissions. NavBall: * The navball is now available on EVA to assist in surveys. * The EVA NavBall follows the orientation of the camera, rather than that of the Kerbal. This allows looking around to get your bearings. * The navball throttle and RCS lights are hooked up to the EVA jetpack. * The IVA navball now functions with survey navigation. * Survey navigation icon will now automatically target the next/closest adjacent waypoint in a survey upon completion of a targeted waypoint Thermodynamics: * Introduced the concept of 'Core Heat'. Allowing part systems to work much more expressively with temperatures, reducing unwanted cross-talk between temp effects on internal logic and heat transfer to other parts. * Radiators should have a significant impact on core heat, allowing ISRU modules to operate at peak efficiency. * Incredibly hot cores should bleed off some of their heat to the parent part, with the vessel very slowly getting warmer over time. * Parts should not explode from core overheating, but ISRU modules may shut down. * Thermal efficiency should be consistent across all warp levels - no cheating! * The mini-ISRU is balanced in that it cannot operate indefinitely. It will eventually shut down due to overheat and have to be allowed a cool-off period. * The RTG is also part of this mechanic, making it a viable heater (Kerbals have the added advantage of not requiring any potatoes for unplanned long-duration stays on desolate planets). * Fixed thermodynamics issues from 1.0.4 regarding unclamped conduction, shielded conduction, and other runaway cases. * Reworked upper atmospheres of planets for better aerocapture experience. Added convection and shockwave temperature multipliers per body. * EVA kerbals handled properly. * Lowered max internal temperatures of crewed parts. * Heating from engine exhaust rebalanced. * Thermo at high warp is now no longer instantaneous, and is moddable via new interfaces. * Unloaded vessels will have thermo applied for the unloaded time on reload. Buoyancy and Water: * Displacement is now calculated per part using dragcube information to estimate total actual volume of the part. * Bodies now have an ocean density: Kerbin/Laythe is 1 tonne/m^3, Eve is 1.5. * The lowest and highest points of parts are calculated with respect to the water, and a submerged fraction of volume is calculated to modify buoyancy force. * Impact speed (tested against crashTolerance) depends on impact angle, with a configurable minimum multiplier. * Drag in water uses drag cubes and an accurate dynamic pressure calculation. * Drag scales from high on first vessel contact down to a lower value after a few seconds. * Drag also ramps back up when the vessel is below a minimum velocity (to model the highly turbulent flow when starting from a stop, and to make sure vessels do come to a stop). * Lift behaves similarly, starting near zero for the madly turbulent flow of initial contact or first movement, up to a reasonable value. * Various hollow parts have their displacement tuned to account for hollowness. * Solar panels lose flow rate underwater, rocket engines lose Isp. * Added underwater fog and tint, fixed camera issues underwater. Physics: * PhysicsGlobals now properly create the default values when Physics.cfg is removed. It includes many new values. * Drag coefficient changes based on the same factors as turbulent convection (a Pseudo-Reynolds number). This means higher drag high up in the atmosphere, and slightly lower drag when going very fast very low. * Asteroids have correct drag cubes now. * Fixed issue with radiator dragcubes being incorrect when the panels rotate. * Add missing drag cube overrides for hollow parts. * Kerbal EVA drag cube can now be specified in Physics.cfg. * Fix issues with override drag cubes and root parts during revert/quickload/vessel switch. * Fixed issues with female kerbal ragdoll rigidbodies. * Fixed a bug in calculating how solar flux diminishes in atmosphere. * Jettisoned Fairing panels now exist in a new layer (L19) dedicated to non-part physical objects. * Contact with L19 objects does not cause vessels to shift into 'landed' state. * Kerbals are allowed to stand on L19 objects, regardless of their own landed state (similar to how they behave when on ladders). * Contact with L19 objects only allows Kerbals to stand and walk while within a surface-level altitude/speed envelope. (contact with these objects in orbit has the same effect as bumping into anything else). * Eve and Jool had upper atmosphere changes to thin the top band. Duna now shares the molar mass of Eve but has a lower presure than before, leading to the same density (and drag) at sea level but better physical characteristics. Misc: * Fix surface horizontal velocity being incorrectly calculated. * Launch clamps are now properly kept at the launch pad, they will not follow the current vessel. * Fix an issue with localisation and settings.cfg. Fix an issue with plugging/unplugging controllers breaking/losing settings. * Save and load kerbal trait in save games, trait is generated from name hash only if not specified in the save. * Fix issue with solar day length not being calculated correctly when setting Kerbin's rotational period. * Workaround for kerbals becoming debris added, to prevent serious issues. * Sped up finding a given AvailablePart (especially relevant when populating the Load Craft menu). * Sped up craft loading slightly. * Sped up FlightIntegrator and in particular the Occlusion part. * Fix some bugs in resource requests that would lower throttle or miss resources. Optimized resource calls. * Jets now use a fuel mode that draws an equal percentage from all reachable parts (no-crossfeed parts will block crossfeed). * Fixed an issue with camera pitch underwater. * Fixed an issue with error spam from failed raycasts when >600m under water. * Fix an issue with fast EVAing kerbals leading to NaNs. * Fix an issue with compound parts and zero look rotation vector logspam, also slight speedup. * Optimized several contract/progress parameters to not require any code running in update-loops (they're event-driven now) * Fixed orientation of the sun light in IVA * All older careers will have their contracts upgraded to new versions, maintaining compatibility. * Many new career cheats added. * Contracts.cfg now fully comments itself. Editor: * Fix an issue where non-root parts spawned in the editor did not have their partInfo set correctly. * Fix an issue where symmetry mode could be increased past its limits. Part Class and Modules: * Fixed some issues in RCS, made RCS toggleable in the editor and gave it a thrust percentage slider. * Solar panels and radiators: fixed curve issue with solar panel efficiency where when at high temperatures the generated EC could go negative. * Solar panels and radiators now use dynamic pressure instead of (linear) velocity when calculating breakage. * Fix Solar panels and radiators to support sun tracking drag cube changes even if no extend/retract animation is specified, add support for an offset angle when tracking the sun. * Solar panels can now extend and retract in the editor. * Solar panels now respect aero shielding regarding EC generation. * Parachutes: fixed exception spam in parachute module in the editor, fix where parachutes would cut on decouple. * Parachutes now have a disarm option when armed and not yet deployed * Parachute stack icon background shows red when unsafe and yellow when risky. * Parachutes no longer flutter identically. * Parachutes no longer instantly snap to the velocity vector. * Parachute tooltip in the editor shows safe deployment speed near sea level on Kerbin. * Allow alternators and FXAnimateThrottle to be bound to MultiModeEngine, to an indexed engine module, or to a named engine module. * Fix some issues in ModuleAlternator, add support for a threshold below which no resource will be pushed/pulled. * FXAnimateThrottle can now optionally depend on engine output or engine currentThrottle, not on the vessel/UI throttle state. Can also modify anim speed rather than time. * Added support for layers to ModuleAnimateGeneric, ModuleAnimateHeat, and FXModuleAnimateThrottle. * FXModuleAnimateThrottle can now weight its animation based on wether the engine is active or not (used with multimode engines). * Allow MultiMode engines to share throttle state when switching and to have automatic switching be disabled (and the toggle for it not show up). * Made ModuleAnimateHeat more tunable due to new thermo. * Docking ports now have gendered as an option, and support limited docking angles. * Docking ports crossfeed state is now persistent and can be toggled in the editor and by action group. * Docking ports can have their 'decouple' mode set to stageable. * Docking ports node type field supports comma-delimited lists of valid types. * Fix an issue with shielded docking port orientation causing logspam in the editor. * Various Claw bugs that could break games are fixed. * Fix Airbrake action group persistence. * Give airbrakes the same thermal tolerance as other airliner parts. * Fix issue where the airbrake had no orientation vector set, thus resulting in continues "Look rotation vector is zero" messages when trying to attach in the editor. * Lower some out-of-norm crash tolerances for aero parts. * Ladders now properly have multiple drag cubes (due to their animations). * Fixed ladder extend/retract failing after a load in the editor. * Shrouds no longer glow on revert and can be set to only detach when the node opens, not just when the part is activated by staging. * Shrouds can be toggled off in the editor. * Control surfaces deploy state is now properly persistent. * Offset cargo bay interior nodes so the inside and outside nodes do not precisely overlap, to aid in part placement. * Procedural fairings set part mass in the editor as well as in flight, properly offset CoL, CoP, CoM depending on fairing state, properly reset drag cube after deploying. * Fixed issues with intake logic and display airspeed. Intakes can now have mach curves which can affect their efficiency at different mach numbers. * IntakeAir is no longer displayed, since it was confusing, instead engines show whether their current requirements are being met. * Engine modules support new curves for modify Isp based on air density and current mach number, so multFlow no longer exists as a toggle. * Fixed an issue where throttle was not reset to zero on flameout. * Engine modules now show percentage of their current propellant requirements being met. * Fix flow cap not being used in tooltip info. * Corrected an issue with the 'fuel flow' display. * ModuleAnimateGeneric events and action can be independently enabled/disabled per scene. * Make hatch obstruction check distance tunable per part. * Allow no-activation-when-shielded to be toggleable in cfg for engines and RCS. * Fix bandwidth calculation typo for ModuleDataTransmitter. * Activate gimbals when an engine activates, not only when an engine activates from staging the part. * Fix Brake Torque tweakable on wheels to have fuller range, allow adjusting stiffness in cfg. * Fix flow cap not being set in jet engine cfgs. * Intakes and engines can be set in their MODULE config to be disabled when under water (disableUnderwater). * Decouplers can have their staging and their crossfeed toggleable. * Fixed several edge cases where CargoBays would not update the shielded status of contained parts correctly. * Connected cargo bays now propagate any state updates to all bays in the connected space, ensuring all bays refresh when any of them does. UI: * Units have been added to various part tooltips and Thermal Data, and the part tooltip has more and better information shown. * Thermal Data shows when skin temp shown is the exposed temperature only or the unified skin temperature. * Heatshields now show data when Thermal Data is enabled. * Fixed temperature gauges bug where it was using internal max temperature, not skin max temperature, despite comparing that against the current skin temperature. * Made edge highlight separately toggleable from the gauges. * The settings menu now shows the various settings, and F10 toggles through all four possible arrangements. * Flags no longer count as active flights on the Resume Game interface in the Main Menu. * Fix issues with FlightLogger's values not accounting for reference shifts. * If a part on a vessel is targeted, display the vessel label over the part, not the center of the vessel. * Fix Center of Thrust marker in the editor (was not properly calculating direction). * Fix an issue where loading a save via the Load Save menu would not properly clear, nor load, AppLauncher messages. * Fix an issue where an unreadable agent texture would break agent loading (and contracts generally). * Made crew transfer available from the part right-click menu. * Made 'rename vessel' available in flight for a vessel whether or not it is under command (though a ModuleCommand still must be present for renaming in the flight scene). * Fix issues where partname not part title was used. * Fix vector to target (on navball) to calculate from current control-from-here transform to target transform, rather than vessel root transform to target transform. * Fix an issue where a tweakable being open might spam OnVesselModified events in the editor. This also lowers memory leaks. Input: * Double-tapping RMB now enables a mouselook-toggle mode, similar to RMB behaviour in IVA views. * Added independent key binding [backslash] for mouselook toggle * Mouselook mode can be cancelled by double-tapping LMB, MMB, or by tapping RMB or Esc. * Mouselook mode will also self-cancel on any scene changes, but persists through camera mode changes, for uninterrupted panning through multiple view modes. * Tapping ModKey no longer releases mouselook in IVA. Graphics: * AeroFX now tuned better (and more tunable), leading to mach effects down low without flaming rockets at mid-altitude. * The glow parts make when they heat too much (not the same as the highlighting they get when near maximum temperature) has been tuned. * Fix issues with flags resetting to default, flags never changing for first two Pad tiers. * Fix Val's missing visor in the main menu scene. * Add RenderType to some PQS and Scaled shaders to aid in visual modding. * Allow eye position offsets specified for seats in IVA, both for normal view and for the portrait view (different variables). * Allow IVA and IVA-kerbal rescaling. * Credits scene now has column bars on screen aspects wider than 16:9 (clamping max aspect ratio to 16:9) Modding Support: * Support having KSPEvents available even when the vessel is not under command (defaults to false, can be set true for an event). * Fix an issue with VesselModule / PartModule instantiation order differing for fresh and loaded vessels. * Fix an issue where VesselModule order could not be set, they now can override GetOrder, by which all VesselModules are sorted. * VesselModules default to order = 999 but FlightIntegrator has order 0 (this will allow easy setting of some modules to run before FlightIntegrator and some afterwards, 0 is a good delimeter). * GameVariables are now aware whether they are called from the rocket (VAB/Pad) or spaceplane (SPH/runway) side. * Catch errors during ScenarioModule and Contract loading, preventing breakage when mods throw exceptions during these times. * Fix an issue in assembly dependency version checking. * Added a new interface IActivateOnDecouple that will call the stated method when the part decouples on the stated node. * ConfigNodes/values support comments (which will be serialized on write). * Add fallback tech tree URL in case the main URL fails to find a valid tech tree. * PartModules can toggle their part being in the staging list or not. * Decouplers (and docking ports, but it defaults unstaged) have it on by default. This is part of the base PartModule so all that is needed to implement is add some settings to the MODULE. * Resources now have an isVisible flag, which determines whether the resource is visible on the right-click menu. Applied it (as false) to IntakeAir. * KerbalEVA now uses the rotPower member. * Fix enum parsing in BaseFields (i.e. KSPFields). It should now work. * Support tagging models with Drag_Hidden (like Icon_Hidden) so they will not be rendered when rendering drag cubes. * Added OnFlightUIModeChanged event, fired from FlightUIModeManager. (notifies of changing between Staging, Docking and Map modes in flight) * High-warp (analytic) thermo supports three interfaces, IAnalyticTemperatureModifier, IAnalyticPreview, and IAnalyticOverheatModule for better customization, and uses new fields in Part for tuning. The update is now available on the KSP Store, Steam and will soon be available on GOG. We hope you will enjoy Kerbal Space Program 1.0.5 as much as we enjoyed making it. Happy Launchings! Cheers Update November 11th Hello everyone! As announced in the devnotes today we have published a 'silent' patch for 1.0.5. This quick patch brings a few fixes to issues that popped up in the update: - Reduced engine heating: less explosive decoupling. - Fixed NRE on Kerbal when the part it's on dies. - Fixed IVA breaking on crew transfer. - Fixed typo on Dynawing craft. - IntakeAir resource is now fully hidden in Resources App. - Fixed body lift (it now exists again). - Fixed every instance of part name, so root parts can be detected in all contractual instances. - Used Unity drag to avoid integration errors on splashdown. - Clamped parachute radiation. - Upgrade outdated instances of vessel situations in career saves. - Included layer 19 objects in potential enclosing colliders for cargo bays. (fixes some occlusion errors) Steam users will not have to do anything to have this patch applied to their game, those of you who have downloaded it through the KSP store can redownload the game, and finally if you've bought the game through GOG the patch is currently in their approval process, we'll update this thread once it's available. The build number in the main menu will jump from 1024 to 1028 after the patch is applied. The update is now available for download.
  9. You can also rest assured knowing that every one of us has read your letter now, and I'm fairly sure I speak for everyone when I say it was truly moving. This goes well above and beyond what we set out to do when we first started this project, and I really can't express how it feels to know something we've done has had such an impact on others. I'm very glad to hear KSP has had such a positive effect on you. All the best, from the entire KSP team. Cheers!
  10. HarvesteR

    Devnote Tuesday: Getting Ever Closer

    IIRC, audio assets are already loaded in parallel. I recently added (dev) controls here to bypass loading every type of asset, even parts, so audio assets can also be bypassed, mostly for the sake of completion. I don't think audio asset loading takes up a very significant chunk of time in any case. Cheers
  11. HarvesteR

    Devnote Tuesday: Getting Ever Closer

    All map nodes can be made sticky now, we just have to decide which. Ascending/Descending nodes should definitely be stickiable. 4.0GHz is the stock clock on this CPU. I'm running it at 4.6GHz here And like Kasper said, 12 seconds to load skipping every texture and audio asset. But still, I'm very pleased with the speeds I'm getting now. It's a quality-of-life thing if you consider our work hinges entirely on our workstation performance. Cheers
  12. HarvesteR

    Devnote Tuesday: The Weekly Grind

    I have to say I haven't encountered that one so far, but I can see how it would be very annoying indeed. The new UI system is native to Unity, so problems like input passing through controls and hitting stuff behind them should be much improved indeed. I can't guarantee this will be an implicit fix, but I'll definitely be keeping an eye out for just that sort of stuff. Cheers
  13. HarvesteR

    KSP 1.0.3 now Available!

    Hi, KSP version 1.0.3 is now live! This revision brings several much-needed bugfixes and improvements, as well as a few new parts. Most importantly, this patch introduces a big revision to the thermal system for parts. The heat simulation has been greatly improved, heat from reentry is now handled in a totally new (and more accurate) way, and we've also added five new Radiator parts, so you can have much more control over how your ship deals with excess temperatures. We've also fixed a significant amount of bugs. Here's the complete changelog: =================================== v1.0.3 ============================================================ New: Parts: * Added five new Radiator parts, three of which are deployable. Bug Fixes and Tweaks: Misc: * Fixed a bug where using the reset button with an Asteroid loaded would break the Mun tutorial. * Made part's internal highlighter much more efficient. * Disabled flashing highlighter in temperature gauges. (fixes memory leak with temperature overlay) * Fixed KSPUtil.PrintLatitude/Longitude giving wrong result for small negative values. * Fix for horizontalSrfSpd being incorrectly calculated. * Fixed unfortunate typo in the Docking Tutorial. * Fixed an issue where moving the camera using a 3D mouse would break drag-and-dropping of parts in the editors. Thermal: * 1.0.3 features a revised thermal mechanic to better balance heating/cooling between pods and spaceplanes. * Parts now have separate internal temperature and skin temperatures. * Skin temperature is the temperature used for radiation and convection, as well as engine exhaust damage. * Part internal temperature is increased by modules that generate heat and is used for part-part conduction. * Part internal and skin temperature also conduct between each other. * Solar panel efficiency is now calculated based on skin temperature. * When in an atmosphere, there is a divide between the exposed (to convection) and unexposed skin temperatures. * When not in an atmosphere, only one skin temperature is tracked; the two temperatures are unified on atmosphere exit. * Radiative outflux and influx is tracked separately for exposed and unexposed areas of skin (since the shock temperature is much higher than ambient temperature). Physics: * Added curve to control drag coefficient exponent to DCL and Physics.cs * With lowered drag for sharply-tapered cubes, wing lift and wing drag lowered to match. * Convection velocity exponent raised to 3.3 to increase reentry heat, as well as convection factor. * Convection min area typo corrected. * Newtonian convection kept pace with hypersonic convection. * Drag curves modified to lower transonic hump. * Wing curves modified to lower change in drag based on deflection. * Calculation of exposed area for convection fixed, spaceplanes no longer get as extreme heat. * Flight integrator: allow setting of newtonian density exponent (default 0.5) and use density or density^exponent whichever is greater. * Broke radiation into two parts, you get the regular background temp on your face not exposed to reentry flux, and the very high reentry one for the area that is. * Clamped convection correctly so you will never pass external temperature. * Added a factor to simulate the switch from laminar to turbulent flow (in layman's terms, if you're going too fast too low, you get a massive boost to heating). That corrects so steep reentries are in fact deadlier than shallow ones. * Added conduction-changer module to Mk1 and Mk1-2 pods (necessary to not kill chutes), buffed heat shields for new heat loads. Changed burn/rip numbers for drogue chutes. * Parachute module updated to use the new convection code. * Skin temperature variables are controllable on per-part basis. * Sped up Flight Integrator slightly by minimizing repeated loops through parts. * Better compute various vessel values This should lower phantom orbit changing and wobble! * Remove thermal mass as a factor in conduction rate: what matters is area. * Add conduction between parts' skins (as well as between the internals of parts, between a part's internals and its skin, and between the exposed and unexposed skin of a part, all of which were already in.) * Fix some small issues in conduction (better clamping), sped it up slightly. * Fixed issue with radiation (no longer have to use dirty hack to prevent parts blowing up). * Lowered skin thickness slightly globally, made magic number sane (part.skinMassPerArea is now in kg/m^2). * Added Hsp (resource thermal mass value) to Ore resource. Parts: * Updated Mk1 Inline Cockpit model. * Further decrease in LV-N heat production. * Rebalance of SRB for the new drag changes. * KR-2L description updated, mass to 9t, SL Isp to 255. * Jet thrusts rebalanced for new drag (thrusts lowered, BJE curves altered). Jet Isp halved due to increased fuel quantity and lower drag. * Lowered LV-N heat a bit, still a bit hot. * Edited KS-25x4 "Mammoth" engine description. * Update description of radial-mount engines to recommend use for extra attitude control. * Mk1 fuel tank: uses same dry mass fraction and resource filling compared to its LFO counterpart as Mk2 parts do. * Radial attachment point cost lowered. * Shielded docking port radial attach node fixed. * Aerospike mass lowered as a buff (it needed a buff to compete with late-tier engines) and tangents fixed. * Heat shield thermal mass modifier increased to 0.05 to deal with increased heating. Max temp lowered to 3000 to avoid totally overpowered radiation heatloss. * Mk3 cargo bays have override cubes (they got missed when cargo bays got custom cubes) - should now have expected drag. * New large landing gear have override cubes (cubes were reversed). * Mk3 parts have breaking forces/torques specified and should no longer break on landing. * Mk2 cockpits have same breaking force/torque as other Mk2 parts. * Ablator resource heat capacity increased. * Rebalanced LV-1 to have Sea Level ISP of 80. * Rebalanced Poodle to have Sea Level ISP of 90. * To fix spaceplane vs pod reentry and better allow hot reentries, temp is separated between part internal temperature and part skin temperature. * Fixed some occlusion issues. Occlusion is now over-generous rather than under-generous. * Buffed heat resistance of spaceplane parts. * Added in CoL and CoP offsets for wing parts, no longer at the attach node. * Fix for ablator and configs not taking skin temp into account. * Fixed Radian vs Lat/Lon bug in Overlay and made displays more consistent. * Fixed potential exploits with sci lab. * Removed transparency and added direct-attach node to heat shields. * Balanced heat shields for skin temps. A Mk1-2 straight-in reentry to Eve starting at 6.5km/sec surface (more orbital) is just barely survivable (ablator fully depletes), and regular Eve and Kerbin Munar reentries deplete about 1/6 to 1/4 the shield. * Added a tuning factor to conduction between parts with different shielded states, so a cargo/service bay won't conduct much to parts within it. Since radiation is disabled for parts within bays, they'd just increase in temperature with no way to cool during reentry, and parts in bays would be the first to blow up on reentry. * Upped non-drogue chute default full-deploy altitude since pods were crashing before the chute fully opened. * Upped non-drogue chutes' stress/thermal limits for deployment (safe speed is now around 290m/s at sea level rather than 250). Increased the time to fully deploy slightly so less of a G shock. * Increased max temp of linear RCS, slightly decreased max temp of RCS quad. * Tweaks to fairings to change the skin:internal thermal mass distribution, and better protect parts inside fairings and cargo bays. * Not-Rockomax Micronode side stack nodes corrected. * Parachutes now have deployment warnings in the Part Action menu, when it's safe to deploy etc. * Halved intakeAir requirements for jets. Slightly raises service ceiling, mainly helps mitigate flameouts due to resource transfer issues. * Balanced thermal mass of drogue chutes to correct max opening velocities. * Attach node refinements on Wing Connector Type A and Structural Wing Type A. * Removed drag from Intake context UI. Modding API: * flow multiplier curves can multiply thrust rather than flow. * Added method to convert string to ConfigNode. * Un-hardcoded altitude for navball velocity indicator to change modes. FX: * Heat animations for engine nacelles and 1.25m intakes. * SR-71 style exhaust flame for TurboRamjet. * Nose and tail cones heat animation. * Fixed incorrect transparency on the letter P on the UKSA flag. As always, the latest update is available at the KSPStore, Steam and GOG. Happy Launchings! Cheers
  14. Hi, Since we didn't have a full dev note this week in light of the PS4 announcement, I figured I'd write up some lines about what's currently going on on our end, which is for the most part related to the Unity 5 port at the moment. It's worth mentioning though, that our moving to U5, which I think is fair to say is something everyone has been asking for quite a while, has been largely sped up by our collab with FlyingTiger, who are developing the PS4 version. The first step for them was to move the game into U5, and because that was something that affected the entire project, we felt the best way to go about it was to work together on upgrading the project, so the PC version wouldn't be stuck on Unity4 as they moved on. So contrary to popular belief, the move into PS4 is actually giving PC development a boost, not hindering it. Anyhow, let's get into about what's going on development-wise. First off, the biggest hurdle/opportunity we came across was the game's UI. The current UI implementation (not design, mind) is, well, let's say it's not my favorite part of the project... The lack of a robust native UI toolset in U4 and earlier meant that over the course of development, we ended up with multiple different, sometimes conflicting UI systems working alongside one another. Unity's OnGUI code-driven UI, EzGUI, and the SSUI system I wrote back in v0.3 or so, all these systems were being used at the same time, each drawing their bit of UI, and trying not to step over the other's bits. Re-doing the UI was something we all wanted to do here, but the amount of work it would require was, to say the least, discouraging. That's all of the game's UI we're talking about. From part context menus to confirmation dialogs, to flight gauges to settings screens... all of it needs to be redone. Not a small task by any measure. So it's no wonder we weren't exactly in a hurry to deal with that before, even more so because before Unity's new UI system came along, the idea of consolidating UIs meant choosing one of those systems I mentioned earlier... so we wouldn't be upgrading to anything superior then. With the new UI system in U5 though, this became a much more interesting notion. Unity's new UI combines the best features of the many UI tools out there,into a flexible, sleek and very powerful all-around system. Good, but it still meant redoing the entirety of the game's UI. The final push came from the PS4 porting side. PS4 has its own set of tech requirements, and our 'eclectic' UI implementation was evidently not quite up to par with those reqs. For the past weeks then, we've been working on a total revision of the game's UI. Currently Jim (RomFarer), Mike (Mu) and DJ from FlyingTiger are assigned to that enormous undertaking. On my end, I'm tasked with the shaders and physics side of the U5 upgrade. Shader-wise, we had a few broken ones here and there because of upgrade issues, which were for the most part easy to fix (DJ helped me out there a lot too, he had been plugging away at it while we were still in exp for the 1.0 release). The ones that were most complicated were the terrain shaders. U5 compiles shaders differently, so that meant some of our terrain shaders were now above the SM3 limit for interpolators. A shader interpolator is the process by which the GPU figures out what a pixel that sits in the space inside a triangle ought to look like. It does that by (as the name implies), interpolating values from the surrounding vertices, which were calculated earlier, to compute the final colour of each pixel... Anyhow, the problem was that SM3 (DirectX9) imposes a limit of 10 interpolators, and with U5, we were now using 11. That wasn't all bad though, it meant we just had to reduce the shader by one interpolator, which I was able to do by moving some bits of the vertex code into the pixel program, and just pack the data that those bits needed to function into already existing interpolators which had one or two unused channels. It seems if you have a vector interpolator, it doesn't matter if it's a 3D or 4D vector, it will take up one interpolator. That means you can pack extra data into the 'w' axis of 3D vectors and cheat yourself some extra headroom that way. Shader issues dealt with then, I moved on to the physics. These were largely modified in U5, and at first sight, it appeared we were in for some real trouble, because all our joints were now less stable than before. Turns out, U5 opened up the range for some joint springs, so fortunately, all we needed to do there was up the stiffness of all joints again to have the same behaviour as before. Now, however, I ran into one real problem: The wheel colliders in the new PhysX are much less stable than their older selves in U4, and all our wheels were now effectively non-functional. Wheels are deceptively crucial things. You don't realize just how important they are, even to a game taking place mostly in space, until suddently they stop working. The broken wheels meant all spaceplanes would break up immediately on spawning, and of course, those that survived had very little chance of even getting up to speed on the runway, let alone making it off the ground. The wheels were not something we could apply a quick fix for. This needed a comprehensive new solution. Fortunately, this solution already existed, and just in time actually. A package called Vehicle Physics Pro (VPP in short), which is a more realism-focused vehicle simulation by Edy, who created Edy's Vehicle Physics, a widely used vehicle asset package, but more gameplay-focused than VPP, was just recently made available in 'early access' form. It's still not in the Unity Asset Store, as it's still being developed, but the bits we needed for KSP were all there already. So, I got in touch with Edy, and got us an Early Access license to VPP. Edy has been remarkably helpful also. He even wrote a wheel controller specifically for KSP in advance. VPP is primarily focused on cars and car-like vehicles, though, for normal-ish games where vehicles are a single rigidbody and gravity points 'down'. KSP is, well... not normal in that sense. There are no 'vehicles' as such, because every part has its own rigidbody, and gravity... well, let's just leave that by saying it doesn't point down, and not get into discussng what down even means in KSP. KSP's rather unique requirements meant that VPP also needed its set of modifications to work properly. For the most part, that was just a matter of replacing any bits of code that worked under the assumption that Vector3.up actually represents something meaningful in the game world by our FlightGlobals.upAxis and friends. Then, we also needed to contend with the vehicle setups themselves. In KSP, we can't rely on vehicles being set up as a single rigidbody. Each VPP 'vehicle' for us, just represents a single wheel or landing gear part, which is attached to others by joints. In practice, that means the simulation of suspensions and tire friction (which VPP does fantastically) can't rely on the vehicle's rigidbody mass to calculate the load a wheel is supporting (aka the 'sprung mass' of the wheel). Happily, there exists a law in physics called Hooke's Law, which states that the force exerted by a spring varies in direct proportion to its compression. That is to say, we can figure out how much weight a wheel (and its suspension spring) is supporting by looking at how compressed the spring is. Replacing the rigibody.mass bits in the VPP tire friction code with this 'trueWheelLoad' value made all the difference. The wheel tire friction and resulting traction are now correctly simulated as the weight shifts and changes in the vessel on top of them. Ok then, we now have a functional solution for wheel simulation, but that is still far from saying we have functioning wheels in KSP. The wheel part modules had all been written, long ago, to work with a simple Unity wheel collider component. That means all our wheel modules are now essentially obsolete, and have to be rewritten basically from scratch. Well, it seems 'rebuilt from scratch' is the phrase of the month here, so I decided to go ahead and do just that, which was something I had been wanting to do for quite some time. When we wrote the first landing gear components, IIRC, part modules didn't even exist. A part could be either an engine, or a fuel tank, or a langing gear, and if you needed something that combined any set of behaviours from those (like a wing that carries fuel), you had to write yet another subclass of Part to do that. Part Modules then came along and changed all that, but not before our existing landing legs and gear bays had already been written under the old paradigm. So when rovers came around, after modules and all that, they were given yet another set of code that basically did the same thing again. As a result, we ended up with part modules specific to rover wheels, other modules for landing gears (with retract/deploy animation control built-in), other modules for landing legs, none of which could be combined properly without creating a despair-inducing tangle that would drive a battle-hardened developer to drink in less time than it would take the resulting mess of physics objects to come to rest after jittering themselves to bits. Needless to say then, I've been wanting to write a new, modular, all-purpose wheel system for some time now, and the move to VPP wheels were the perfect opportunity. I'm currently working on this now. I've created a set of modules that work together to simulate different aspects of any wheel. One base module creates and manages the VPP wheel component, then other modules hook in and manage their specific parts. We have modules for Steering, Suspension, Brakes, Drive (motor), Damage and Deployment, each doing no more and no less than their jobs. Setting up every wheel type in the game then should become just a matter of plugging in the features that your wheel needs. Static landing gears? Just omit the deployment module. Want steering? pop it in. Rather steer it as a tank? set it up with a differential drive steering module instead. Also, don't forget the brakes if coming to a stop is part of your mission profile. There is still a lot to do there though. At the moment I'm working on the suspension module. This one is interesting, because suspensions are tricky things in KSP. You can't just set up the springs with fixed parameteres and leave it at that. Unless tuned to the mass they are meant to support, suspensions are pretty useless and can make a vehicle even less stable than if it had none. And in KSP, we can't ever assume we know anything about the vehicle sitting above the wheels. So, instead of defining suspension parameters by the usual spring and damper values, I set up a scheme where suspensions have in their cfg definitions a 'naturalFrequency' and 'dampingRatio' values, which are then used to calculate the spring and damper internally, thus properly supporting vehicles of any mass. This means suspensions should be nice and springy no matter what sort of monstrous contraption you put together in the editor. If they are meant to break under too much weight though, that's not the job of the suspension module, we have a separate damage module for that. Next up is steering. We did have steering already as a separate module, but it was incompatible with rover wheels (or was it rover-wheels only?)... anyhow, looking into it, I was suprised at just how much code there is at making a wheel turn either left or right. I reckon there must be an easier way to do steering... so that's up next on my to-do list. And while we are doing steering, we can set up the new steering system so all wheels on a vessel will behave properly and rotate to follow their own arcs (aka Ackermann steering), instead of just all just rotating to full deflection and leaving you to deal with drifting and doing donuts with an interplanetary rover. Anyhow, that pretty much accounts for everything that's been going on on the U5 development side of things. In the meantime, Ted, Mike and the QA and Experimentals teams have been also working on bugfixes for the next update. Whether or not that update will be built with U5 already is still being discussed, but chances are that it wont' be. U5 still has quite a ways to go, and we want to deliver bugfixes as soon as we can. Conversely, we don't want to spam everyone with tiny updates unless they are for fixing emergency issues, so right now we are getting together a set of fixes and improvements that will make for an update worth downloading (and doing the whole deployment process over). That's the story up to now. More news as they develop! Cheers
  15. HarvesteR

    KSP 1.0.2 is Up!

    Hi again, Just a very quick update this time, version 1.0.2 is now up: Changelog: =================================== v1.0.2 ============================================================ Bug Fixes and Tweaks: Thermal: * Fixed ships potentially overheating when splashed down. Parts * Small tweak to Mk16 parachute drag. As always, you can get the latest version from our KSPStore, GOG, or get auto-updated on Steam. Happy Launchings! Cheers