Jump to content

UomoCapra

Members
  • Posts

    341
  • Joined

  • Last visited

Posts posted by UomoCapra

  1. Hello everyone!

    I remember when I joined the KSP-team back in the summer of 2016. Update 1.2 was still in the making, the team was smaller, and Felipe had recently left his role as lead developer. The game community, though, was very passionate, but many were skeptical about our ability to continue the game’s legacy without Felipe and a few other developers who would also leave shortly after… It is needless to say that it was a bit overwhelming to take over the role of community manager around that time. I remember that one of my first tasks was to craft a text to reassure the community and let them know that we were committed to continue our efforts to make KSP the best game it could possibly be, and we asked you to believe in us and to let our actions and our work speak for itself. Five years later, here we are, ten major updates later, two expansions, a sequel on its way, and with the brightest possible future for the KSP universe. You believed in us, and you welcomed me into this amazing community as if I had always been part of it, and for that I’m wholeheartedly thankful :)

    These past 5 years have meant everything to me. Just before joining Squad I was struggling with the way my life was unfolding: I had a job I hated, was unmotivated, and my mental health was slowly declining… I needed a change. Then one day, I received a call from @nestor inviting me for an interview. I knew this was my chance to turn things around and start doing something I was passionate about, I couldn’t mess things up. Little did I know that the same evening I would be coming home with a new job, and oh boy… What a job! I got to meet and befriend a team of extremely talented and amazing human beings, who were always there to help and support each other, and with whom I feel extremely privileged and grateful to have been able to work along with. I felt at home and was happy to wake up every morning to go to work, thank you @SQUAD for letting me be part of this!

    But all great things have to come to an end, and for me, one of the most exciting chapters of my life is reaching its closure. This was of course a very difficult decision to make, but I’m ready for a new challenge, and I’m excited for what’s to come. My time at Squad and in the KSP community allowed me to grow so much and learn so many things that I now feel confident and ready for whatever the future may hold. 

    Finally, I just want to thank once again all my colleagues at Squad, Intercept Games, Private Division, the all the might moderation team, and you, Kerbonauts. I will always hold you dearly close to my heart and will eternally be grateful for changing my life for the better. I know the game and the community are in great hands, and I’m looking forward to seeing what’s coming next. SPOILER ALERT: it’s going to be amazing! 

    I’ll see you around and wish you the best of luck!

    Happy lauchings!

    Daniele “UomoCapra” Peloggio

    PS: If you need anything from the Community Management Team, don't hesitate to reach out to @KSPStar , @St4rdust, or any of the moderators, they are awesome and will certaintly do everything they can to help you out. :wink:

  2. Hello Kerbonauts!

    Kerbal Space Program 1.12.2 is live! 

    This patch focuses on fixing over 90 bugs and adding a few improvements to the game, such as a locking functionality to docking node rotations that allows autostruts to cross over docked nodes. We are also adding revamps for the LV-T30 Reliant and LVT-45 Swivel liquid fuel engines. Additionally, and more importantly, 1.12.2 includes the previously-teased Ground Anchor - a brand new element in KSP, that when paired with EVA construction, will give players the ability to anchor their vessels to the ground or create a solid foundation for bases.

    Even though we still may release a minor patch here and there when needed, with this patch we are officially completing the 1.12 update, as well as the sustained development of the original KSP, as we are now shifting gears towards the development of KSP2.

    Check out this patch's changelog for further details:

    =================================== v1.12.2 ============================================================
    +++ Improvements
    * Set the default value of Override Safety Check to false, in both cheats.
    * Implement Steam folder for subscribed craft.
    * Add locking functionality to docking node rotations allowing autostruts to cross over docked nodes that are both locked.
    * Add the current game name to the directory browser Current game label.
    * Selecting the same target body in the maneuver tool dropdown forces the tool to recalculate.
    * Add a Loop mode of None-Restart to the KAL. This will play once and stop, if play is pressed once the sequence is complete it will restart and play once.
    * Remove unnecessary warning log messages from DirectoryController.
    * Ring type fireworks orientation is now randomized, not simply vertical pane.
    * Expose the kerbal end of ladder setting in the in-game settings.
    * Make parts able to surface attach to structural flags and include checks and balances for child part attachment and size/variant changing.
    * 'Disable Staging' PAW option in editor scene now affects all symmetry counterparts for decouplers.
    * Add some randomness to the firework bursts to improve the look.
    +++ Localization
    * Fix when discovering a new launch site the facility name was only displaying in English.
    * Fix the localization tags for ground deployable parts that are stock.
    * Added autoloc code to Cheat Menu for Set Orbit Override Safety Check.
    * Fix maneuver tool circularization UI string in French.
    * Add localization of timescale suffixes for alarm date time fields.
    * Add localization of maneuver alarm error messages.
    * Fix Steering Adjustment string in PAW in Russian.
    * Fix new game KSC welcome message in Japanese.
    * Make the repair all parts cheat button wide enough for all languages.
    * Craft browser search options 'subfolders' and 'all games' localized.
    * Picking up deployed parts without Breaking Ground expansion installed - strings now localized.
    * Localize cheat option 'Override safety check' in the Set Position menu.
    * Fix Craft Browser missing Enter text... localization.
    * Fix Craft Browser missing Cancel button localization.
    * Adjust text size of ActionGroups text to fit asian font characters.
    * Craft browser search text placeholder updated from 'Enter Search...' to 'Enter Text...'
    +++ Parts
    * Fix OX-10L solar panel break/repair functionality.
    * Add a variant to the Clamp-o-Tron Sr. Now you can turn on and off the yellow stripes.
    * Revamp LV-T30 Reliant and LVT-45 Swivel.
    * Add Pitch and Rotate to the Small Work Lamp.
    * Fix the MK 1-3 pod flag.
    * Changed display name of RCS tanks to better order and name them relative to each other, and similar to the FL-T series. FL-R10 , FL-R25 and FL-1 become FL-R20, FL-R120 and FL-R750 with the number indicating resource amount.
    +++ Bugfixes
    * Fix Linux Scrollwheel direction.
    * Fix spacing on Current Game, Stock and Steam folders.
    * Fix ESA Mission not playing in base game when Breaking Ground DLC is not installed.
    * Fix the MK2 Clamp-O-Tron's control point orientation.
    * Fix Comet module subscribing to events multiple times.
    * Fix Craft and Part persistentIDs being duplicated when launching the vessel using a craft file.
    * Fix KAL losing part references when using craft files or when reverting to the VAB.
    * Fix KAL being unable to control another KALs playspeed and play position.
    * Fix KAL Presets not working for other KALs.
    * Fix issue not dropping held parts when exiting construction mode.
    * Fix compound parts losing their connections when edited in EVAConstruction mode with dropped parts.
    * Fix for certain parts getting blank icons when placed in inventories and changing variants.
    * Fix the ship engine volume setting not being applied in flight.
    * Fix handling of non-matching system timezones (EG Hong Kong).
    * Fix Craft names with special characters not saving correctly.
    * Fix Player-saved craft in Missions not showing thumbnail correctly.
    * Fix docking port errors when manipulating them in EVA construction mode.
    * Fix Root part visibility when hovering over it's PAW in the editor scene.
    * Fix vessel mass being incorrect when drilling has removed mass from attached asteroids.
    * Fix intercept trajectories in patched conics when in relative mode.
    * Fix Input lock getting stuck on when you open the action groups app.
    * Fix an NRE when staging a docking port when it's not connected to another part.
    * Fix SAS autopilot skill checking in sandbox and career games against kerbal experience and full SAS in sandbox game settings.
    * Non-surface placeable items can no longer be dropped or placed while intersecting other parts during EVA Construction mode.
    * Fix cargo container inventory duplicating on detaching and attaching the cargo part in EVA construction mode.
    * Fix missing stored parts in cargo containers after attaching/detaching/dropping cargo part.
    * Fix NRE occuring with Alarm Clock in Scenarios and Training games.
    * Fix NRE occuring with KerbalInventory in Scenarios and Training games.
    * Fix Maneuver Tool showing up in Scenarios and Training games.
    * Fix Cargo settings for SmallHardpoint and StructuralPylon - They were reversed.
    * Fix Mission Clock masking issue on warp to sunrise when CommNet is not enabled.
    * Fix NextAlarm UI in Mission Clock when CommNet is not enabled.
    * Fix Add Burn time setting being cutoff in the Alarm Clock details pane.
    * Fix maneuver alarm time not updating when its not the active vessel.
    * Fix some alarms firing immediately when initially created.
    * Fix maneuver alarms getting stuck if the maneuver is removed.
    * Fix Maneuver Tool error when initially loading flight scene.
    * Fix Maneuver Tool calculation when making first selection in flight scene.
    * Fix Maneuver Tool clearing the information text when it shouldn't.
    * Fix Maneuver Tool inclined Same SOI transfer calc being inconsistent.
    * Fix shaders on new slim suit.
    * Non-retractable parts will now still be able to be toggled in the editor, even after saving and reloading or switching editors.
    * Fix initial transfer window calcs shown in Maneuver Tool top window.
    * Fix NRE when attempting to use the middle mouse set position cheat. Force camera out of map view when using this option to avoid vessel exploding.
    * Fix Color Picker causing Crashes.
    * Fix Color Picker alignment in PAW.
    * Fix engine FX scaling issue.
    * Fix part being deleted when closing Construction Mode UI while the cursor is holding a part.
    * Fix the R&D's level 3 floor shading.
    * Fix landed and deployed vessels coming off rails positioning, particularly on slopes.
    * Fix NREs could fire when detaching first a compound part from a vessel and additional ones after it.
    * Fix audio issue happening when enabling infinite fuel cheat.
    * Fix the map view rotating with vessel orientation when mouse is over the alarm clock app.
    * Fix the actiongroup app locking the camera controls.
    * Fix the KerbalEVA incorrect collider name in boundsignorelist - EVAStorageSlim_flagDecals.
    * Fix BinkRate not being set properly in Deployable Light configs.
    * Fix parts dropped in EVA Construction do not play their deploy animation when a game is loaded and could get stuck.
    * Fix for wrong shortcut letter in KSPedia EVA Construction mode Slide.
    * Fix debris not becoming a controllable vessel when attaching controllable parts in EVA Construction.
    * Fix the camera being locked when the actiongroup app is open.
    * Fix the camera toggle being active when the actiongroup editing is active.
    * Fix Contract Map Nodes firing an NRE on mouse over.
    * Fix fairing staging options being inconsistent with symmetry setup when staging toggled.
    * Fix text overlaps in the Next Alarm UI element.
    * Fix Z fighting between deltav indicator for a stage and the Time warp UI element.
    * Fix NRE when date entry fields are empty in the alarm clock.
    * Fix Day field converting incorrectly when editing a manual time alarm.
    * Fix Alarm message not firing when no active vessel and set to display if not this vessel.
    * Fix Manual Alarm changing the linked vessel when editing an alarm.
    * Fix the blue maneuver directional arrow blurriness when texture quality set to eighth res.
    * Fix maneuver node dragging between patched conics, and refocuses camera as required.
    * Fix unable to drag maneuver nodes that are in the past. Can now drag them forward in time again until they are past the current game time.
    * Fix issue disabling hotkeys when cargo panel was open in the editor.
    * Fix grapple errors when disarming from same vessel grapple.
    * Fix grapple errors when lock PAW option is clicked when it shouldn't be available to the player.
    * Fix parts being able to attach in construction mode when colliding with ground.
    * Fix Easter Egg Launch sites ladders were unusable for EVA Kerbals.
    * Fix Manual Alarms always being linked to a vessel regardless of the chosen settings.
    * Fix the variant selector buttons ignoring locked variant options.
    * Fix RCS being left on when a Kerbal exist construction mode after welding when in space.
    * Fix picking up a strut or a fuel line and attaching it caused the endpoint to enable a collider, and moving around the target could cause undesired collisions in EVA Construction mode.
    * Fix the firework trail particles lasting for the entire duration of the explosion delay.
    * Fix rare CTD using the Maneuver Tool App.
    * Fix Manuever Tool App calculations when calculating transfer from future maneuver nodes (not current orbit).
    * Fix the save confirm dialog prompting for overriding saves when special characters in vessel name and saving while editing an existing craft.
    +++ Modding
    * Adjusted AppUIMember Initializers to ensure attributes get setup correctly in the right sequence.
    * Expose ModuleRCS.EPSILON which controls the minimum latch for thrust.
    * Expose ModuleSAS.targetSASServiceLevel so that modders can override the parts SASServiceLevel.
    * Expose UIApp.IsShowing so modders can see if an apps frame is showing.
    * Expose AlarmClockUIFrame.IsDetailsShowing for visibility of the details window.
    * Expose AppUIMemberDateTime.DateFormatter for date input fields in ManTool and AlarmClock.
    * Exposed the state of the nextalarm visibility in flight on FlightUIModeController Singleton. FlightUIModeController.Instance.NextAlarmShowing bool.
    * Fix DoubleCurve initialize and evaluate method.
    * Add attachRules to PartVariant so different variants can have their own attachRules setup.
    =================================== Making History v1.12.1 ================================
    +++ Parts
    * Fix M1-F wheel radius.
    * Changed display name of RCS tanks to better order and name them relative to each other, and similar to the FL-T series. FL-R5 becomes FL-R400 with the number indicating resource amount.
    * Fix the Onion, Pea, and Pomegranate instantly turning black during reentry effects.
    +++ Bugfixes
    * Fix Meet me In Zero G mission.
    * Fix test grapple node errors when not in flight scene.
    ====================================== Breaking Ground v1.7.1 ==============================
    +++ Bugfixes
    * Fix deployable parts don't always launch at frame 0 of their animation when they start retracted.
    * Moved fan shrouds sooner in the tech tree.
    

    You can still  help us find bugs/issues by reporting them into our bugtracker, but keep in mind that we’re shifting our attention to KSP2 development and bug fixing for the original game will be slowed down significantly from now on. 

     

    Happy launchings! :happy:

  3. Hi everyone!

    In need to ask a favor to y'all... I'm currently working on my master thesis, which is about the impact of different tiers of content creators as communication drivers of videogames, and how this might influence consumer attitudes and behaviors. I created the following survey to collect data to support my hypothesis and I need as many answers as I can get for my results to have statistical significance.

    This study has no relation with the KSP brand (besides being the inspiration for the topic I chose), Take-Two, Private Division, or any other party whatsoever. It is, as I mentioned, a personal favor I'm asking to collect data for my master thesis.

    I'm not collecting any personal data (except some basic demographic questions), all answers will be anonymous, and the information I collect will be treated in strict confidence

    The survey takes about 15min to complete.

    You will have to watch a short video at the beginning, so highly recommend having headphones or speakers at hand before you start.

    https://www.befragungen.ovgu.de/videogames_and_influencers/

    Thank you so much in advance to everyone who takes the time to help me out with this. You're awesome! :grin:

    Happy launchings!

    (I did get permission from my employers to post this here... if that's a concern ;p)

  4. Hi everyone,

    I hope you are all enjoying our latest release KSP 1.12: On Final Approach!

    As all other suits in the game, you can also design your own custom color schemes for the new Slim Suit!

    Last year, @Just Jim created a detailed guide that shows you the steps you need to take in order to achieve this, which we highly recommend you to check out!
     

    On 7/2/2020 at 7:46 PM, Just Jim said:

    Hi everyone. We hope you all are enjoying KSP 1.10: "Shared Horizons”.

    We wanted to take a minute and point out something you all might not be aware of yet, but we here think you're going to really like.
    Not only do we have the new Suit Picker in 1.10, it is very easy now to make your own custom colored suits!!!

     

    screenshot002.png

     

    screenshot001.png


    screenshot003.png

     

    So here are the complete instructions. You will find the link to download the blank texture files at the bottom of this post.

     

    The Suit Picker

    It is a tool introduced in KSP 1.10 Update, designed to let players choose among the available suits and colors for EVA.
    si0OYeZypwmtZVFQTLLespljSKxVPbsYW3fYrXrI

    The Materials

    Attached you will find the following (link to attachment below):

    A UV Map file that lets you identify the wireframe of the model of the character.

    84njQX9_LyLHmE6lG11Hn9JjuPVXotCwd5HwGnlbafHHM4OpWOUoqd7S4cxDw7UifRN-j3BFYGOIq5H7

     

    And an ID Map so it is easier to select colors and create combinations.

    SGp5hI7uyIRY3YR_N2xo0Y7opz1iux_03nd-TJWlrbMF_zQPKUkhbCS_woWHlSANBAtTT8zXKsIROiSC

    Adding Customized Suits - Instructions

    In order to add a new suit variant the player has to create a folder called Suits inside the GameData/Squad folder.

    Inside Suits, other three folders called Config, Icons and Textures.


    DkrL97xOWmLnPf1wU60SpTY1_dQssIneR5yMam1v

    Then in the Config folder we need to create a .cfg file called SUITCOMBOS with the following properties:

    • DisplayName: The name of the variant shown at the suit title in the suit picker window.
    • SuitType: The suit type the variant belongs to; Default, Vintage (Making History) or Future (Breaking Ground)
    • Gender: The gender this variant belongs to; Male or Female
    • Name: A unique string to identify the suit combo, example CustomSuit1
    • Suit Texture: The path where the custom suit texture is (Textures folder).
    • Sprite: The path where the texture variant icon is (Icons folder).
    • Primary Color: The primary color used in the texture variant button, in hexadecimal.
    • Secondary Color: The secondary color used in the texture variant button, in hexadecimal.

     

    Example:

    
    
    
    
    
    
    
    
    
    
    
    
    
    SUITCOMBOS
    {   
        SUITCOMBO
        {
            displayName = Custom Suit 1
            suitType = Future
            gender = Male
            name = CustomSuit1
            suitTexture = Squad/Suits/Textures/futureSuit_diffuse_redBlue
            sprite = Squad/Suits/Icons/kerbalicon_suit_future
            primaryColor = #012957
            secondaryColor = #b3313a
     	}
    }

     

    To add more variants there’s no need to create multiple files, adding a new “SUITCOMBO“ block in the cfg like the one above is enough.

     

    PNG or DDS:

    EnTaKnSZQ0wSIeaHULLrNMctZ1e-Qkg_OC9lT_tU

    PNG or DDS file formats have a different orientation in the game, if you notice your texture isn’t displaying in a correct way it may be missing a vertical flip.

     

    ICON:

    E2vY9_JiHRpxXqEpgFeehYB7DlRbFKcaZv_A5ezM

    Icons should be added to the “Icon” folder. It should be a small image only 33 pixels width 54 pixels height, preferably with transparency.

    VEalo6QoQF2LV-Qeocxf3L6TlcF6OMC9ntw8pw9y

    Make sure to add the texture and icon files in their respective folders: Icon and Textures. And more importantly; have fun!

     

    BIjKvtgQqHgLv9Evvv-2cMleCMJ-CjQQgoskc99Y

     

    Here is the link to the map files you can use.

     

    This is quickly becoming one of my favorite features in 1.10, and all of us here really look forward to seeing what you come up with.

    To help you out with the new suit, we wanted to share the following with you:

     

    • A UV Map file that lets you identify the wireframe of the model of the character.

    ksp_1-12_suit_uvmap.gif
    ksp_slimsuit_uv_map.png

    • And the an ID Map so it is easier to select colors and create combinations.

     

    ksp_1-12_suit_idmap.gifksp_1-12_suit_idmap.png

    You can download the map files within the attached zip file below!
    ksp 1-12 suit idmap uvmap.zip
     

    If you are interested in modding you can check the Modders Notes of 1.12.0 for useful information, as well as the latest PartTools package for modders:

    On 6/28/2021 at 7:35 AM, JPLRepo said:

    Modders Notes the Dev team have thrown together for 1.12.0.

     We upgraded the project to Unity 2019.4.18f1 LTS to position KSP on a long term support version of Unity. This should not have any major impact on mods.

    API documentation can be found here.

     

    Wheels and Landing Legs changes
    ModuleWheelBase.useNewFrictionModel by default is false. Which means all wheels and landing legs using this module will use the old behaviour/logic by default. Set it to true in the part.cfg file to use the new friction model.

    ModuleWheelSuspension.useDistributedMass by default is false. Which means all wheels and landing legs using this module will use the old behaviour/logic by default for suspension processing. Set it to true in the part.cfg file to use the new friction model.

    ModuleWheelSteering.autoSteeringAdjust by default is false. Which means all wheels and landing legs using this module will use the old behaviour/logic by default for steering processing. Set it to true in the part.cfg file to use the new friction model.

     Refer to the Wheels Devblog for more information about the functional changes that were made to wheels and landing legs. 

     

     Maneuver Tool
    The maneuver tool app has been designed in such a way to allow modders to easily add additional maneuver types to the app.

    To do this you will need to create your own mod c# class that inherits class 

    TransferTypeBase - Base class for the transfer types.

    The Manuever Tool app on startup finds all classes based on this base class and adds them into it’s maneuver type list. Refer to the API documentation for the abstract methods your class has to implement.

    Additionally you must implement your own data class for your transfer type. Use this class as the base and assign to currentSelectedTransfer: 

    • TransferDataBase - Base class for the TransferData for each transfer type. This class inherits AppUI_Data class that allows you to define UI fields for your transfer that will appear in the center part of the manuever tool UI. See the section below called “Generic UI framework” on how to define your UI fields.  You will also want to assign your dataChangedCAllback and calculationStateChangedCallback.

    Additionally you can use the following base class to define your own data class for the top slide out section of the maneuver tool app: 

    • TransferDataTopDataBase - Base class for the TransferDataTop for each transfer type. This class also inherits from AppUI_Data class.

    Another important class is ManeuverToolUIFrame. This manages the UI for the Manuever Tool App and has a number of useful methods. Refer to the API documentation.

      

    AlarmClock App
    The Alarm Clock follows a similar idea to most moddable things in KSP. The fundamental building blocks are:

    • AlarmClockScenario: The scenario module that runs and manages the alarms
    • AlarmTypeBase: The abstract class that all alarm types inherit from

    I won’t go into all the specifics here as the API help should cover many of these things, but here’s some key pointers.

    The scenario maintains the list of alarms and persists them into the save file. AddAlarm, RemoveAlarm, GetNextAlarm, etc help you manage the alarm list.There are GameEvents for changes to the list as well. 

    There is currently no “GetAllAlarms” method - Triggers apologies - this will be fixed

    You define the input fields you want by attributing fields or properties with AppUI_Control types. These fields/properties can then be used in the AlarmType class to define the time for the alarm and any other behaviour. An example here is AppUI_InputDateTime which will give you a datetime input when creating/editing an alarm.

     Some key fields/overrides in the alarm type include:

    • id - the persistent identifier for an alarm
    • GetDefaultTitle() - the string that will be the title of a new alarm
    • iconURL - a gamedatabase path to the icon to use in the drop downs and lists - the default ones are 64x64 pngs
    • ut - the time of the alarm in universal time
    • RequiresVessel() - when true the alarm will only be available in the UI to add when a vessel can be selected
    • CanSetAlarm(AlarmUIDisplayMode displayMode) - lets you control when the inputs are valid in add and edit mode to save changes
    • OnInputPanelUpdate(AlarmUIDisplayMode displayMode) - called in the Monobehavior update loop by the app for each alarm when it is displayed in the app
    • OnScenarioUpdate - called in the Monobehavior update loop by the scenario when the alarm is in the list.

     Here’s an example of a very simple alarm type that will let you set a date

    
    
    
    public class AlarmTypeTest : AlarmTypeBase
    {
        [AppUI_InputDateTime(guiName = "Alarm Date", datetimeMode = AppUIMemberDateTime.DateTimeModes.date)]
        public double alarmDate;
        public AlarmTypeTest()
        {
            iconURL = "TriggerTech/TestMod/AlarmIcons/DavesTest";
        }
    
        public override bool CanSetAlarm(AlarmUIDisplayMode displayMode)
        {
            return true;
        }
    
        public override string GetDefaultTitle()
        {
            return "Daves Test Alarm";
        }
    
        public override bool RequiresVessel()
        {
            return false;
        }
    
        public override void OnUIEndInitialization(AlarmUIDisplayMode displayMode)
        {
            if(displayMode == AlarmUIDisplayMode.Add)
            {
                alarmDate = Planetarium.GetUniversalTime() + 600;
            }
            AppUIMemberDateTime m = (AppUIMemberDateTime)uiPanel.GetControl("alarmDate");
            m.DatetimeMode = AppUIMemberDateTime.DateTimeModes.date;
        }
    
        public override void OnInputPanelUpdate(AlarmUIDisplayMode displayMode)
        {
            ut = alarmDate;
        }
    }


    Generic UI framework
    The key driver for this system is the idea of moddable inputs to applications for various moddable functions. The fundamental idea being that in a UI you can place a panel that has a vertical layout group and an AppUIPanel component, call Setup with a data class and it will present the user with an editable section of UI that correlates to the data inputs. It edits the data class and the code can then use the edited object directly.

    Steps to use it:

    1. Create a “panel” in your UI that will hold the input fields.
    2. Create a class that holds the inputs (inherits class AppUI_Data).
    3. Apply the attributes to the fields that are for input within the class.
    4. “Setup” the panel at the right time in code.

    Classes of interest
    AppUI_Data - this is your data class which can use attributes on fields to create UI controls.

     The following UI controls can be used as attributes on your fields in your AppUI_Data class.:

    • AppUIMemberDataTime
    • AppUIMemberDropdown
    • AppUIMemberDropdownMultiLine
    • AppUIMemberHeading
    • AppUIMemberInput
    • AppUIMemberInputFloat
    • AppUIMemberLabel
    • AppUIMemberLabelList
    • AppUIMemberRadioBool
    • AppUIMmeberSliderFloat
    • AppUIMemberSliderFloatMultiLine
    • AppuiMemberToggleBool


    File Folder Browser
    Craft files are still stored as text in .craft files. The thumbnail naming convention has changed, but otherwise the thumbnail itself is generated no differently.

    The search classes don’t have any exposed methods that can be used to actually do anything aside from literally starting and stopping a search using whatever information is in the search input text field.

    The folder-action confirmation dialog for deleting and creating folders can be created and passed callbacks that are fired when the indicated action is confirmed.

    The folder browser doesn’t use any config files that could be modified. Public methods and properties include querying if the currently selected folder is a player-craft or stock-craft folder, and querying if the currently displayed folder structure is for the VAB or SPH. Folder highlighting can be overridden using a craft’s file-path, and folder highlight overrides can also be turned off. Also exposed is a method for updating folder file-counts for all folders as well as for a specific folder.

    Properties are exposed that return the local machine’s file path for the stock craft folder, the expansion directory folders, and the mission craft folders

     
    Lights
    We added the ability to disable and enable the Color Picker of the lights - use the KSPField disableColorPicker in the part.cfg file.

    Also if one light has more than one transform you can control it with the same Module light. You can do this by defining one or more LIGHT submodes within the ModuleLight node in your part.cfg file. Eg:

    
    
    
    MODULE
    {
        name = ModuleLight
        …. (normal ModuleLight fields)
    
        LIGHT
        {
            lightName = light1
            lightR = 1.0
            lightG = 1.0
            lightB = 1.0
            flareRendererName = flare1
        }
        LIGHT
        {
            lightName = light2
            lightR = 1.0
            lightG = 1.0
            lightB = 1.0
            flareRendererName = flare2
        }
    }

     

     

    Docking Port rotations.
    Docking port parts are now able to do an alignment rotation once they are docked. In order to make a dock being able to rotate, you need to configure them so:

    • canRotate: set to True, when this rotating feature should be available to this part
    • rotationTransformName: Name of the transform of the model that will rotate.
    • maxMotorOutput: this is used for the electric charge resource consumption calculations. set this according to the part’s design guidelines
    • RESOURCE definition: this one should be the same for all docking ports that use this rotating feature. This is used to specify which resource is consumed by doing the rotation

    These other KSPFields are optionally available to configure as well:

    • rotationAxis: The rotation axis, defaulted to the z axis. This is necessary as some docks might have a different rotation axis. Can be "X", "X-", "Y", "Y-" or "Z", "Z-"
    • traverseVelocity: The traverse speed (in deg/s for rotational motion)
    • hardMinMaxLimits: The angle range that's defined by the physical limits of the part model and/or the part's designer. The default values are -15, 15. A player must not be able to set an angle beyond this range. This is a Vector2 so, could be defined as “-15, 15“, for example.
    • efficiency: Servo efficiency (1 = 100%)
    • baseResourceConsumptionRate: Base resource consumption on motor output when the servo is moving
    • referenceConsumptionVelocity: The transform velocity (angular or positional) at which the resource consumption is 1 x the baseResourceConsumptionRate

     

    New Slim Suit ID Maps

     

    ksp_1-12_suit_idmap.gifksp_1-12_suit_uvmap.gif

     

    ksp_slimsuit_uv_map.zip 859.5 kB · 4 downloads

    ksp_1-12_suit_idmap.zip 454.11 kB · 2 downloads

    Other misc modding changes

    • Failed reflection calls to incompatible or otherwise invalid mods are now handled, so they don't stop the game from loading.
    • Custom suits now show the corresponding icon in all relevant screens. These have to be provided by the mod, the game will not generate them.
    • Added an additional useCustomThreshold field to ModuleOrbitalSurveyor. Setting it to true will allow the module to recalculate the minimum and maximum altitudes beyond the stock values.
    • When multiple versions of the same assembly are present, KSP now makes sure only the most recent one is loaded. It’s still a good idea to encourage people not to do this, to avoid clutter.
    • Tuned the logic to calculate space object resource percentages based on the lowRange and highRange values, preventing space objects from always having > 80% resources regardless of the range values.
    • Added a GameEvent for revert to launch that returns the current FlightState.

     

     

    On 5/11/2017 at 8:30 AM, JPLRepo said:

    The PartTools package is a set of utilities provided by Squad to be used by modders to:-

    • Create their own 3D models and parts in KSP.
    • Create KSPedia pages for their mods.
    • Create Internal 3D models for their parts in KSP.

    PartTools also includes the coloranimation tool and the KSPAssetCompiler tool (for compiling asset bundles).


    PartTools have been updated and re-compiled for Unity 2019.4.18f1 for KSP 1.12+ to include all of these tools in one unity asset bundle.
    Current latest version is here

    PartTools_AssetBundles_2019.4.18f1.zip 1.3 MB · 3 downloads


    To install Follow these Instructions:

    • Download Unity 2019.4.18f1 and run it. Then open your Mod project, upgrade it to Unity 2019.4.18f1.
    • Uninstall the built-in Unity TMPro package from Unity 2019.4.18f1 - Go to Window - Package Manager in Unity and Select TMPro and uninstall it.
    • Download this exact file "TextMesh Pro Release 1.0.56 - Unity 2017.3 " from https://forum.unity.com/threads/useful-information-download-links.458634/#post-3304434 and import it into your Mod project in Unity using Assets - Import Package, Custom Package menu option.
    • Import the custom bundle in the zip file above into your Unity project.
    • Disable "Validate References" for the KSPAssedCompiler.dll and KSPAssets.dll in the "Assets/Plugins/KSPAssets" folder.
    • Restart Unity and reopen your mod project.
    • That's ALL you have to do.

    For information about how to build and use fonts for Localization please refer to this link.

    Previous Versions:

    For the old Unity 2019.2.2f1 PartTools use this file:

    PartTools_AssetBundles_2019.2.2f1.zip 1.29 MB · 2 downloads

    For the old Unity 2017 PartTools you can use this file:

    PartTools_AssetBundles_2017.zip 1.28 MB · 2 downloads

     

     

    Have fun and happy launchings!

     

     

  5. 1.12-Update-Feature-Image.png

    Hello everyone!

    Today we wear our party helmets to celebrate the 10th anniversary of the first publicly released version of Kerbal Space Program, as well as the launch of our most ambitious free update ever! Kerbal Space Program 1.12: On Final Approach is the last major update of what became one of the most influential space flight simulators ever, but it also marks the beginning of a new chapter in the Kerbal universe. Looking forward to the future, but proud of what KSP has achieved, we want to give players our most sincere thanks. The support you’ve given us throughout all these years has helped to excite and inspire us to bring you the ultimate KSP experience before KSP2 hits the shelves next year.

    Kerbal Space Program 1.12: On Final Approach is packed with a great deal of content including a brand new ‘Slim’ suit inspired by the feats of the private aerospace sector industry, on-demand disconnecting struts, and rotating docking port collars, just to name a few. This update also includes many new requested features & quality of life additions to improve the user experience of KSP, such as a huge revamp to craft and game save loading menu-system, a large amount of wheel and landing leg improvements, and much more! Rejoice and explore the Kerbal universe once more... you might even encounter some of the new easter eggs and unlockable launch sites scattered around the solar system. Are you ready?

    Let’s go through some of the update’s highlights below:

    Maneuver Creator App

    The Maneuver Creator app is an incredibly useful tool that enhances the accuracy of your space maneuvers by allowing you to quickly generate transfers to other celestial bodies, see upcoming transfer windows and get a good understanding of where you’re going and how much deltaV it will take to get there.

    image.png

    Alarm Clock App

    Use the Alarm Clock app to set alarms for maneuvers, manual time alarms and alarms for various orbital positions, which will certainly come in handy for those long trips that require several burns to complete. 

    image.png

    New Solar Panels

    This update also includes 4 brand new photovoltaic panels, including enhanced versions of the SP and OX-4 series, but also two large circular retractable solar panels with very cool deployment methods.

    image.png

    10th Anniversary Fireworks!

    Celebrate KSP’s 10th anniversary with these highly configurable firework launchers to attach to your vehicles. Choose from different trail and burst types, but also tweak the force, duration, star size, launch velocity, explosion delay, and the colors of the fireworks at any given time. Let the party begin!

    And more!

    To learn more you can read the full Changelog here:

    =================================== v1.12.0 ============================================================
    +++ Improvements
    * Upgrade project to Unity 2019.4.18f1 LTS.
    * All module filter buttons in advanced filter mode in the VAB/SPH now have icons.
    * Adjustment to Kerbal hiring formula to make it not prohibitive, while still making it cheaper if the player has lost most/all of their kerbals.
    * Wheel and landing leg suspension now spreads weight across all grounded wheels.
    * Wheels have new improved friction model with more realistic physics.
    * Wheel steering response is now modified to give lower response at higher speeds (less oversteer).
    * Add new stock Slim suit.
    * Color picker PAW field now shows current color to left of name.
    * Adjustments to PAW groups to let controls in groups fill the PAW better.
    * ChooseOption PAW field now marquees text for long value choices.
    * Revamp of Pol's terrain textures.
    * Implement new structural variants to Flag parts and ensure non-structural ones have no colliders.
    * Add limited rotation to Docking Port parts so they can now slightly rotate to help align both sides of the vessel.
    * Add Disconnect action for compound parts like fuel lines and struts, so you can disconnect these via the part menu, actions and controllers.
    * Add folder structure display and navigation for craft storage and the craft-load dialog.
    * Add middle mouse click handling to set lat, lon, alt when using the set position cheat from flight and map mode.
    * Add Maneuver Tool app to create inter-body transfer maneuver nodes.
    * Add file folder browser to craft load and save dialog.
    * Add ability to search games in load screen.
    * Add ability to search craft in vessel load dialog.
    * Add 10th Anniversary Patch to classic astronaut suits.
    * Add an alarm clock app to help players not miss important events.
    * Implement cheats - Ignore Kerbal EVA Construction Mass Limit, Ignore Kerbal Inventory Volume/Mass Limit and Fix repairable parts.
    * Change error message color and added Override safety check to the set Orbit cheat.
    * Command Pods are now allowed to be edited in EVA Construction Mode.
    
    +++ Localization
    * Move Action Group App heading text to correct localization files.
    * Italian only. Fixing incorrect tense used for verbs in three Mission Control strings.
    * KSPedia EVA Activities fix, in all 9 languages.
    * Fix KSPedia Parachute slide for all 9 languages.
    * Fix outdated translation on Kerbal parachute KSPedia page of one string in Chinese only.
    * Fix on grammatical error on Dzhanibekov effect EVA science experiment, for English only.
    * Fix translation in one string (#autoLOC_8003405) , only for Russian.
    * Fix for missing comma in SEQ-24 Cargo Storage Unit description, English only.
    * Fix for misspelled 'efficiency' in Construction training, English only.
    * Fix translation in game for one string to match cfg file (#autoLOC_309388) , only for French.
    * Fix translation in one string for Bepi Colombo, only for German.
    * Fix translation for several uses for 'crew' , only for Chinese.
    * Fix 'Ice Cream' is two words, English only.
    * Fix for apostrophe missing in 'comets' for one line in Rosetta mission. English only.
    * Fix for several part names showing untranslated in description, Japanese only.
    * Fix for using a capital C on the noun Comet for Rosetta mission summary, English only.
    * Fix for UI to show whole translation for KAL-1000 Controller details, Russian only.
    * Fix for spelling mistake in the part description window for the EVA Repair Kit, English only.
    * Fix for punctuation in Data from Science slide, French only.
    * Fix for spacing in Tools VAB/SPH KSPedia slide, Portuguese only.
    * Fix wheel stress PAW item text in Japanese.
    * Fix for typo issue in 'Dres' KSPedia slide, Portuguese only.
    * Updated text for OX-Stat-PD Photovoltaic Panel, 8 languages.
    
    +++ Parts
    * New solar panels! OX-10L 1x5, SP-10L 1x5, OX-10C and SP-10C Photovoltaic Panels.
    * Fix LV-N Nerv, Stayputnik, RA-15 Relay Antenna, LV-T45 Swivel, LV-T30 Reliant, Z-200 Rechargeable Battery, Girder Adapter and Z-4K Rechargeable Battery overlapping z-fighting issues.
    * Fix MK1-3's Kerbal hatch exit point.
    * Allow surface attachment to the PB-X50R Xenon Container, Stratus-V Cylindrified Monopropellant Tank and Stratus-V Roundified Monopropellant Tank.
    * Revamp all docking port parts.
    * Add a new set of parts. Fireworks dispensers!
    
    +++ Bugfixes
    * Fixed audio issue caused by too many sounds triggering at the same time.
    * Fix Part Loader handling of invalid animations in parts on load.
    * Fix the map icon for Deployable Ground Parts like Work Lamps to not show the unknown question mark.
    * Fix parts being tilted when taken from inventory in Construction mode, they now match the rotation in the editor.
    * Fix kerbals being able to walk and jump their way to orbit.
    * Fix null references occuring on part icons after the mission flag is changed after moving a cargo flag from cargo to a vessel.
    * Fix issue flag parts in cargo were changing their thumbnail when changing the mission flag while in the VAB/SPH and also when held over PAWs or EVA Construction Panel.
    * A new screen message will appear when a Kerbal attempts to pick up a deployed cargo part when it's carrying capacity limit would be exceeded. The part will not be picked up until the Kerbal has freed enough capacity in its inventory slots.
    * Fix potential game crash when attempting to attach a part created from an undo (crtl+z)in editor.
    * Decreased a height error check from 0.2m to 0.1m, in order to support smaller parts, and preventing them to sink into the ground.
    * Fix edge case where robotic pistons shoot off at high speeds when dropped in EVA Construction Mode.
    * Fix Mobile Launch sites where all the legs will now try to extend if one does not find a ground collision.
    * Fix Mobile Launch Sites could end up with a null reference for positionMobileLaunchsite.
    * Deployed science SFX is no longer interrupted while placing more than one instrument.
    * Fix the consistency of Extendable parts. When they are moved they should retain their state, when stored they are retracted into storage and need to be extended once attached from storage.
    * Fix key not found exception after an EVA Kerbal dies followed by staging a decoupler in flight.
    * Fix ability to review and transmit science experiments whilst resetting the experiment.
    * Fix NRE on closing Construction Mode while holding robotic parts after detaching it from vessel.
    * Fix flag parts not moving with the rest of the craft when manipulating the root part in editor.
    * Fix flickering Orbit lines in Mapview/Tracking station (really fixed this time).
    * Fix for UI to allow proper space for the word "Small" to display in a single row in the PAW.
    * Fix for UI to avoid misaligned column text in "Active Strategies" column, in the Administration Building.
    * Fix wheel stress tolerance not taking gravity into account.
    * Fix wheels not taking steering curve into consideration.
    * Fix landing legs violently decompressing when fully compressed.
    * Fix landing legs shaking on low gravity.
    * Fix light weight rovers using S2 wheels sliding everywhere.
    * Fix landing legs shaking when attached to parts placed horizontally.
    * Fix vessels moving across the surface with landing legs placed at >= 45 degrees.
    * Fix toggle wheel motor action group.
    * Fix max speed on M1.
    * Fix some contract craft not loading in career games.
    * Fix quicksave text input being too short and characters being cut off.
    * Fix deploying ground parts interrupting SFX on other parts.
    * Fix NRE occurring during repairing a part.
    * Fix Rover Construction, Satellite Upgrade and Vessel repair contracts losing track of the contract vessel.
    * Fix any vessel arriving at a rover repair contract from triggering the waypoint on the contract.
    * Fix Satellite upgrade contract asking for parts that are not usable in EVA Construction mode.
    * Fix Ap and Pe markers appearing in future patches in space not aligned to current patch rendering when in career games that have yet to have patched conics available.
    * Fix EVA kerbals on a ladder in Construction Mode holding a part from floating off the ladder.
    * Fix the banana pieces velocity when performing the EVA science experiment whilst wearing the default suit.
    * Fix physicsless root part on decoupled vessel creating havoc.
    * Fix a Key Not Found Exception error message is fired when a Grip Strip is removed from any vessel through EVA Construction Mode.
    * Fix held part keeps its position in the scene on closing Construction Mode instead of reaching the ground.
    * Fix Mk1-3 Pod's rcs' SFX volume.
    * Fix toggle of suspension auto spring and damper not resetting spring and damper when toggled from override to auto.
    * Fix the Protective Rocket Nose Cone Mk7?s collider.
    * Fix prebuilt craft qualification for contracts based on tech nodes as they are purchased.
    * Fix Non-retractable deployable parts having a Retract option when they cannot be retracted.
    * Inventory part tooltip panel no longer closes as soon as the mouse exits the inventory slot. It is therefore now possible to read all the information when the panel has many widgets.
    * Extended part information panel and inventory tooltip are now more clear about mass information.
    * Fix audio issue where sounds makes a pop sound when engines shut down.
    * Fix NREs when expanding a stage from a vessel marked as debris.
    * Fix audio issue where sounds differed between map view and flight view.
    * Fix the MenuNavigation on the CraftBroswer dialog so that when browsing with the up and down arrows, the scrollback focuses on the highlighted element.
    
    +++ Modding
    * Changes to Wheel and Landing Legs systems by default are not applied to old parts. ModuleWheelBase.useNewFrictionModel, ModuleWheelSteering.useNewModel, ModuleWheelSuspension.useDistributedMass must be set to true in the Part Modules cfg for each part that wants to use the new functionality.
    * Failed reflection calls to incompatible or otherwise invalid mods are now handled, so they don't stop the game from loading.
    * Custom suits now show the corresponding icon in all relevant screens.
    * Added an additional useCustomThreshold field to ModuleOrbitalSurveyor. Setting it to true will allow the module to recalculate the minimum and maximum altitudes beyond the stock values.
    * When multiple versions of the same assembly are present, KSP now makes sure only the most recent one is loaded.
    * Tuned the logic to calculate space object resource percentages based on the lowRange and highRange values, preventing space objects from always having > 80% resources regadless of the range values.
    * Add a GameEvent for revert to launch that returns the current FlightState.
    * Add ability for modders to be able to turn off the color changer UI.
    * Add ability to support multiple lights from the single ModuleLight instance.
    * Allow ModuleLight's toggle action to simultaneously toggle other animations.
    
    =================================== Making History 1.12.0 =================================== 
    +++ Parts
    * Kerbodyne S3-S4 adapter's dark stripe now matches with the S3 and S4 tanks.
    * Add 1.25m Engine plate.
    * Fix SM-25 gap at bottom of the doors.
    
    +++ Bugfixes
    * Kerbodyne KE-1 Mastodon Liquid Fuel Engine's shroud clipping fix
    * Fix spacing in Mission Builder for 'Seed' field in the SAP.
    * Fix max speed on M1-F wheels.
    * Fix EP-12's preview attach nodes size.
    * Fix MEM's rcs' SFX volume.
    =================================== Breaking Ground 1.7.0 ===================================
    +++ Localization
    * Fix unnecessary colon for one string in Spanish only.
    * Fix for spelling mistake in Duna's stone objects, English only.

    Kerbal Space Program 1.12: On Final Approach is now available on Steam and will soon be available on GOG and other third-party resellers. You will also be able to download it from the KSP Store if you already own the game.

    Click here to enter the Grand Discussion Thread for this release.

     

    Happy launchings!

     

    About the Ground Anchor: The Ground Anchor will be a brand new element in KSP, that when paired with EVA construction, will give players the ability to anchor their vessels to the ground or create a solid foundation for bases. Unfortunately we encountered a late bug for this feature, so it will not be included as part of the 1.12 update. We believe we have a fix for it, but it was too late and too risky to do at the last minute. As a result, this feature will be included with the 12.1 patch, so stay tuned.

  6. bwJGubF3CUjVS2vmBVJdYo0fFZ-cKCQJ6OF2gWNz

    Hello everyone!

    Today we wear our party helmets to celebrate the 10th anniversary of the first publicly released version of Kerbal Space Program, as well as the launch of our most ambitious free update ever! Kerbal Space Program 1.12: On Final Approach is the last major update of what became one of the most influential space flight simulators ever, but it also marks the beginning of a new chapter in the Kerbal universe. Looking forward to the future, but proud of what KSP has achieved, we want to give players our most sincere thanks. The support you’ve given us throughout all these years has helped to excite and inspire us to bring you the ultimate KSP experience before KSP2 hits the shelves next year.

    Kerbal Space Program 1.12: On Final Approach is packed with a great deal of content including a brand new ‘Slim’ suit inspired by the feats of the private aerospace sector industry, on-demand disconnecting struts, and rotating docking port collars, just to name a few. This update also includes many new requested features & quality of life additions to improve the user experience of KSP, such as a huge revamp to craft and game save loading menu-system, a large amount of wheel and landing leg improvements, and much more! Rejoice and explore the Kerbal universe once more... you might even encounter some of the new easter eggs and unlockable launch sites scattered around the solar system. Are you ready?

    Let’s go through some of the update’s highlights below:

    Maneuver Creator App

    The Maneuver Creator app is an incredibly useful tool that enhances the accuracy of your space maneuvers by allowing you to quickly generate transfers to other celestial bodies, see upcoming transfer windows and get a good understanding of where you’re going and how much deltaV it will take to get there.

    F3m5aNujia_dpLtEMPDz0fGxxOHLNw8guOrA9Skb

    Alarm Clock App

    Use the Alarm Clock app to set alarms for maneuvers, manual time alarms and alarms for various orbital positions, which will certainly come in handy for those long trips that require several burns to complete. 

    iCt-LQHVHN-5Lal-upjhKYGYy-8g70Olz2PGELJe

    New Solar Panels

    This update also includes 4 brand new photovoltaic panels, including enhanced versions of the SP and OX-4 series, but also two large circular retractable solar panels with very cool deployment methods.

    g7pTdgVXN6eJfBFO8zOpitqtgy5YVlZf_FXJv3ja

    10th Anniversary Fireworks!

    Celebrate KSP’s 10th anniversary with these highly configurable firework launchers to attach to your vehicles. Choose from different trail and burst types, but also tweak the force, duration, star size, launch velocity, explosion delay, and the colors of the fireworks at any given time. Let the party begin!

    And more!

    To learn more you can read the full Changelog here:

    =================================== v1.12.0 ============================================================
    +++ Improvements
    * Upgrade project to Unity 2019.4.18f1 LTS.
    * All module filter buttons in advanced filter mode in the VAB/SPH now have icons.
    * Adjustment to Kerbal hiring formula to make it not prohibitive, while still making it cheaper if the player has lost most/all of their kerbals.
    * Wheel and landing leg suspension now spreads weight across all grounded wheels.
    * Wheels have new improved friction model with more realistic physics.
    * Wheel steering response is now modified to give lower response at higher speeds (less oversteer).
    * Add new stock Slim suit.
    * Color picker PAW field now shows current color to left of name.
    * Adjustments to PAW groups to let controls in groups fill the PAW better.
    * ChooseOption PAW field now marquees text for long value choices.
    * Revamp of Pol's terrain textures.
    * Implement new structural variants to Flag parts and ensure non-structural ones have no colliders.
    * Add limited rotation to Docking Port parts so they can now slightly rotate to help align both sides of the vessel.
    * Add Disconnect action for compound parts like fuel lines and struts, so you can disconnect these via the part menu, actions and controllers.
    * Add folder structure display and navigation for craft storage and the craft-load dialog.
    * Add middle mouse click handling to set lat, lon, alt when using the set position cheat from flight and map mode.
    * Add Maneuver Tool app to create inter-body transfer maneuver nodes.
    * Add file folder browser to craft load and save dialog.
    * Add ability to search games in load screen.
    * Add ability to search craft in vessel load dialog.
    * Add 10th Anniversary Patch to classic astronaut suits.
    * Add an alarm clock app to help players not miss important events.
    * Implement cheats - Ignore Kerbal EVA Construction Mass Limit, Ignore Kerbal Inventory Volume/Mass Limit and Fix repairable parts.
    * Change error message color and added Override safety check to the set Orbit cheat.
    * Command Pods are now allowed to be edited in EVA Construction Mode.
    
    +++ Localization
    * Move Action Group App heading text to correct localization files.
    * Italian only. Fixing incorrect tense used for verbs in three Mission Control strings.
    * KSPedia EVA Activities fix, in all 9 languages.
    * Fix KSPedia Parachute slide for all 9 languages.
    * Fix outdated translation on Kerbal parachute KSPedia page of one string in Chinese only.
    * Fix on grammatical error on Dzhanibekov effect EVA science experiment, for English only.
    * Fix translation in one string (#autoLOC_8003405) , only for Russian.
    * Fix for missing comma in SEQ-24 Cargo Storage Unit description, English only.
    * Fix for misspelled 'efficiency' in Construction training, English only.
    * Fix translation in game for one string to match cfg file (#autoLOC_309388) , only for French.
    * Fix translation in one string for Bepi Colombo, only for German.
    * Fix translation for several uses for 'crew' , only for Chinese.
    * Fix 'Ice Cream' is two words, English only.
    * Fix for apostrophe missing in 'comets' for one line in Rosetta mission. English only.
    * Fix for several part names showing untranslated in description, Japanese only.
    * Fix for using a capital C on the noun Comet for Rosetta mission summary, English only.
    * Fix for UI to show whole translation for KAL-1000 Controller details, Russian only.
    * Fix for spelling mistake in the part description window for the EVA Repair Kit, English only.
    * Fix for punctuation in Data from Science slide, French only.
    * Fix for spacing in Tools VAB/SPH KSPedia slide, Portuguese only.
    * Fix wheel stress PAW item text in Japanese.
    * Fix for typo issue in 'Dres' KSPedia slide, Portuguese only.
    * Updated text for OX-Stat-PD Photovoltaic Panel, 8 languages.
    
    +++ Parts
    * New solar panels! OX-10L 1x5, SP-10L 1x5, OX-10C and SP-10C Photovoltaic Panels.
    * Fix LV-N Nerv, Stayputnik, RA-15 Relay Antenna, LV-T45 Swivel, LV-T30 Reliant, Z-200 Rechargeable Battery, Girder Adapter and Z-4K Rechargeable Battery overlapping z-fighting issues.
    * Fix MK1-3's Kerbal hatch exit point.
    * Allow surface attachment to the PB-X50R Xenon Container, Stratus-V Cylindrified Monopropellant Tank and Stratus-V Roundified Monopropellant Tank.
    * Revamp all docking port parts.
    * Add a new set of parts. Fireworks dispensers!
    
    +++ Bugfixes
    * Fixed audio issue caused by too many sounds triggering at the same time.
    * Fix Part Loader handling of invalid animations in parts on load.
    * Fix the map icon for Deployable Ground Parts like Work Lamps to not show the unknown question mark.
    * Fix parts being tilted when taken from inventory in Construction mode, they now match the rotation in the editor.
    * Fix kerbals being able to walk and jump their way to orbit.
    * Fix null references occuring on part icons after the mission flag is changed after moving a cargo flag from cargo to a vessel.
    * Fix issue flag parts in cargo were changing their thumbnail when changing the mission flag while in the VAB/SPH and also when held over PAWs or EVA Construction Panel.
    * A new screen message will appear when a Kerbal attempts to pick up a deployed cargo part when it's carrying capacity limit would be exceeded. The part will not be picked up until the Kerbal has freed enough capacity in its inventory slots.
    * Fix potential game crash when attempting to attach a part created from an undo (crtl+z)in editor.
    * Decreased a height error check from 0.2m to 0.1m, in order to support smaller parts, and preventing them to sink into the ground.
    * Fix edge case where robotic pistons shoot off at high speeds when dropped in EVA Construction Mode.
    * Fix Mobile Launch sites where all the legs will now try to extend if one does not find a ground collision.
    * Fix Mobile Launch Sites could end up with a null reference for positionMobileLaunchsite.
    * Deployed science SFX is no longer interrupted while placing more than one instrument.
    * Fix the consistency of Extendable parts. When they are moved they should retain their state, when stored they are retracted into storage and need to be extended once attached from storage.
    * Fix key not found exception after an EVA Kerbal dies followed by staging a decoupler in flight.
    * Fix ability to review and transmit science experiments whilst resetting the experiment.
    * Fix NRE on closing Construction Mode while holding robotic parts after detaching it from vessel.
    * Fix flag parts not moving with the rest of the craft when manipulating the root part in editor.
    * Fix flickering Orbit lines in Mapview/Tracking station (really fixed this time).
    * Fix for UI to allow proper space for the word "Small" to display in a single row in the PAW.
    * Fix for UI to avoid misaligned column text in "Active Strategies" column, in the Administration Building.
    * Fix wheel stress tolerance not taking gravity into account.
    * Fix wheels not taking steering curve into consideration.
    * Fix landing legs violently decompressing when fully compressed.
    * Fix landing legs shaking on low gravity.
    * Fix light weight rovers using S2 wheels sliding everywhere.
    * Fix landing legs shaking when attached to parts placed horizontally.
    * Fix vessels moving across the surface with landing legs placed at >= 45 degrees.
    * Fix toggle wheel motor action group.
    * Fix max speed on M1.
    * Fix some contract craft not loading in career games.
    * Fix quicksave text input being too short and characters being cut off.
    * Fix deploying ground parts interrupting SFX on other parts.
    * Fix NRE occurring during repairing a part.
    * Fix Rover Construction, Satellite Upgrade and Vessel repair contracts losing track of the contract vessel.
    * Fix any vessel arriving at a rover repair contract from triggering the waypoint on the contract.
    * Fix Satellite upgrade contract asking for parts that are not usable in EVA Construction mode.
    * Fix Ap and Pe markers appearing in future patches in space not aligned to current patch rendering when in career games that have yet to have patched conics available.
    * Fix EVA kerbals on a ladder in Construction Mode holding a part from floating off the ladder.
    * Fix the banana pieces velocity when performing the EVA science experiment whilst wearing the default suit.
    * Fix physicsless root part on decoupled vessel creating havoc.
    * Fix a Key Not Found Exception error message is fired when a Grip Strip is removed from any vessel through EVA Construction Mode.
    * Fix held part keeps its position in the scene on closing Construction Mode instead of reaching the ground.
    * Fix Mk1-3 Pod's rcs' SFX volume.
    * Fix toggle of suspension auto spring and damper not resetting spring and damper when toggled from override to auto.
    * Fix the Protective Rocket Nose Cone Mk7?s collider.
    * Fix prebuilt craft qualification for contracts based on tech nodes as they are purchased.
    * Fix Non-retractable deployable parts having a Retract option when they cannot be retracted.
    * Inventory part tooltip panel no longer closes as soon as the mouse exits the inventory slot. It is therefore now possible to read all the information when the panel has many widgets.
    * Extended part information panel and inventory tooltip are now more clear about mass information.
    * Fix audio issue where sounds makes a pop sound when engines shut down.
    * Fix NREs when expanding a stage from a vessel marked as debris.
    * Fix audio issue where sounds differed between map view and flight view.
    * Fix the MenuNavigation on the CraftBroswer dialog so that when browsing with the up and down arrows, the scrollback focuses on the highlighted element.
    
    +++ Modding
    * Changes to Wheel and Landing Legs systems by default are not applied to old parts. ModuleWheelBase.useNewFrictionModel, ModuleWheelSteering.useNewModel, ModuleWheelSuspension.useDistributedMass must be set to true in the Part Modules cfg for each part that wants to use the new functionality.
    * Failed reflection calls to incompatible or otherwise invalid mods are now handled, so they don't stop the game from loading.
    * Custom suits now show the corresponding icon in all relevant screens.
    * Added an additional useCustomThreshold field to ModuleOrbitalSurveyor. Setting it to true will allow the module to recalculate the minimum and maximum altitudes beyond the stock values.
    * When multiple versions of the same assembly are present, KSP now makes sure only the most recent one is loaded.
    * Tuned the logic to calculate space object resource percentages based on the lowRange and highRange values, preventing space objects from always having > 80% resources regadless of the range values.
    * Add a GameEvent for revert to launch that returns the current FlightState.
    * Add ability for modders to be able to turn off the color changer UI.
    * Add ability to support multiple lights from the single ModuleLight instance.
    * Allow ModuleLight's toggle action to simultaneously toggle other animations.
    
    =================================== Making History 1.12.0 =================================== 
    +++ Parts
    * Kerbodyne S3-S4 adapter's dark stripe now matches with the S3 and S4 tanks.
    * Add 1.25m Engine plate.
    * Fix SM-25 gap at bottom of the doors.
    
    +++ Bugfixes
    * Kerbodyne KE-1 Mastodon Liquid Fuel Engine's shroud clipping fix
    * Fix spacing in Mission Builder for 'Seed' field in the SAP.
    * Fix max speed on M1-F wheels.
    * Fix EP-12's preview attach nodes size.
    * Fix MEM's rcs' SFX volume.
    =================================== Breaking Ground 1.7.0 ===================================
    +++ Localization
    * Fix unnecessary colon for one string in Spanish only.
    * Fix for spelling mistake in Duna's stone objects, English only.

    Kerbal Space Program 1.12: On Final Approach is now available on Steam and will soon be available on GOG and other third-party resellers. You will also be able to download it from the KSP Store if you already own the game.

    As with every release this thread will be used to bundle all general discussion about the new version so that the forums can continue to actively host threads on other topics as well. CLICK HERE for the official release announcement for Kerbal Space Program 1.12: On Final Approach.

     

    Happy launchings!

     

    About the Ground Anchor: The Ground Anchor will be a brand new element in KSP, that when paired with EVA construction, will give players the ability to anchor their vessels to the ground or create a solid foundation for bases. Unfortunately we encountered a late bug for this feature, so it will not be included as part of the 1.12 update. We believe we have a fix for it, but it was too late and too risky to do at the last minute. As a result, this feature will be included with the 12.1 patch, so stay tuned.

  7. To answer some of the questions that have risen about what is expected of you in this challenge: 
    Basically this is a creative challenge, where we want to hear your ideas about how to stop a potential asteroid/comet collision threat. The gameplay is meant as a tool to showcase your ideas, so mods/cheats are ok to use. Imagine  your pitching an idea to a Planetary Defense Coordination Division within a space agency. The scenario and the how-to is completely up to you, just be creative ;p

  8. ZK2lEpWzPf1gFkhzGp0vshX8jhz97K7dnhviztGR

    Welcome to our official newsletter, KSP Loading…! If you want to learn about all the current developments of the KSP franchise, then this is the place to be!

    And now, let’s talk about everything KSP!

    Kerbal Space Program Final Update on PC

    On June 24th, 2011, Kerbal Space Program 0.7.3 was publicly released. Back then the game looked very different with a very limited parts catalogue, no celestial objects except Kerbin which would not rotate, and not even a proper Sun, just a light source at an infinite distance. No one ever expected that this modest game, created by a small studio in Mexico City with no experience in videogames, would turn into a worldwide phenomenon that brought space exploration closer to our households. Therefore it is almost unfathomable that in a couple of weeks we will be celebrating the game’s 10th anniversary. And on that day, we are releasing Kerbal Space Program 1.12: On Final Approach, our 12th major free update!

    Kerbal Space Program 1.12: On Final Approach is going to be special in many ways. We are not only packing this free update with a massive amount of new content, player requests and all sorts of fixes, but it is also our thank you letter to everyone in our community who supported us along the way and made our dreams come true. Unfortunately, all good things must come to an end, or rather move on to the next chapter. So yes, On Final Approach is the last major planned release for Kerbal Space Program. While there may still be occasional minor updates to address bug fixes as needed, Squad’s efforts will now shift towards joining Intercept Games in the development of Kerbal Space Program 2.
    F_ogH9PUJckmM_SCzULavu2fZaqgKHsbqA9oS-ml

    So what can you expect on June 24th with Kerbal Space Program 1.12: On Final Approach? We’ve already shown a couple of things in our last issue of KSP Loading, and now it is time to reveal the other main changes. So buckle up!

    Craft and Save Loading Improvements

    On Final Approach includes a huge revamp to craft and game save loading. Search, foldering, and cross-save access are added to craft loading in the editor, and search has been added to craft loading on the launchpad/runway and to the quicksave loading dialogue. This will help you to better sort out your saved craft and games, especially if you have a ton of them. This feature will also allow you to load or save craft with different game saves. 

    IPb-vONEy0mBF7LEjmLuPqOVizQQREB1Yc3BvhveI56a0ynO1cYImj4UqsWMU6G3yMC4pyDHz4SnS3K1JxcwFlrasQ8bAGd1OzZ8GguVeh22dyPK1gz6n3d4

    Alarm Clock App

    One of the main features in the upcoming 1.12 update is the Alarm Clock app. With this tool, you will be able to set alarms for maneuvers, manual time alarms and alarms for various orbital positions, which will certainly come in handy for those long trips that require several burns to complete. Additionally, you will also be able to pick alarm sounds to go with your alarms, cool right?

    ew4Ba33_YFR0L-XbWbj394ZyqzEJGnolj-kF9fPR

    Maneuver Creator App

    The Maneuver Creator app is another of the main features within On Final Approach. With it, you will be able to quickly generate transfers to other celestial bodies, see upcoming transfer windows and get a good understanding of where you’re going and how much deltaV it will take to get there. This will cut down time spent fiddling with maneuver nodes and enhancing the accuracy of your space maneuvers, but you’ll need a level 3 tracking station to use it, so you’ll still need those maneuvering skills for your first visit to the Mun.

    nZZ__BB3ByrKaLFM2dUheo42kefYJ7Ke-4xoXpwF

    Wheel Improvements

    Wheels have undergone major tuning. We have fixed previous issues with the stress tolerance and we have made some improvements to the suspension and friction model. Additionally, wheels now have a few new tweakable controls that will help reduce how easy it can be to flip rovers and other wheeled vehicles.

    10th Anniversary Fireworks!

    What better way to celebrate this milestone than to launch bright and colorful fireworks into the air! With this update we will be adding two firework launchers for you to attach to your vehicles - one with 8 bursts, and one with 32 bursts. These pyrotechnic devices will also be highly configurable, with different trail and burst types for you to choose from, as well as the ability to tweak the force, the duration, star size, launch velocity, explosion delay and the colors of the fireworks at any given time. Fill up those canisters and let the party begin!

    New Slim Suit

    A brand new sleek-looking spacesuit, inspired by the feats of the private aerospace sector will be available with the upcoming update. As with the other spacesuits available in the game, the Slim Suit will be available in three different variations: black and grey, grey and orange, as well as blue and grey.

    This covers the main features coming in Kerbal Space Program 1.12: On Final Approach. But there are plenty of smaller ones coming in this update, check them out with us when it releases on the 24th!

    KSP 2

    Since our last KSP Loading, we also got a preliminary glimpse at the new Kerbal Space Center to be found in Kerbal Space Program 2. It surely looks gorgeous and would make Mortimer, Gene and the rest of the KSC crew proud. Check it out if you haven’t!

    Remember, you can share and download craft and missions on CurseKerbalX, the KSP Forum and the KSP Steam Workshop.

    That’s it for this edition. Be sure to join us on our official forums, and don’t forget to follow us on TwitterInstagram and Facebook. Stay tuned for more exciting and upcoming news and development updates!

     

    Happy launchings!

     

  9. 5jfC1HS2niYQpJwao9IzO0rnCo4BcHAytiniiA2c

    Welcome to our official newsletter, KSP Loading…! If you want to learn about all the current developments of the KSP franchise, then this is the place to be!

    And now, let’s talk about everything KSP!

    Kerbal Space Program Update 1.12 on PC

    Coinciding with the game’s 10th anniversary, Kerbal Space Program is getting ready for its 12th major free update since its official release, and it’s going to be epic! This update will be packed with brand new content such as new parts, features, revamps, and more! Buckle up, and let’s learn about some of the content that will be included in this upcoming update.

    Eeloo and Pol Texture Revamps

    With update 1.12, our effort to revamp all the celestial bodies within the Kerbal solar system will finally come to an end. Eeloo, the distant frozen dwarf planet, and Pol, the smallest natural satellite of Jool, are now looking better than ever with new high-quality textures & shaders. Surely many astronauts will take this opportunity to revisit them and explore what lies within these remote destinations. 

    Revamped and Rotating Docking Ports

    All the docking ports have gotten a well deserved aesthetic revamp. Among the bundle of requested features & quality of life additions we’re including in the 1.12 update, we are giving players the ability to rotate docking port collars added to docking ports. Lining up attached craft perfectly has never been easier!
     

    qbgqnZ4YVfyZSOo2zqogrGXtLGKP1B5CEYj0lYrF

    nFhtqAQy3ACSPG0TvckgNnmuSzro19JNOE9tLVUvOKaVsUwFzTfk3Ki6zwU23QVk2nP5S0n6O_yCjsHeb5QYyHjvl8jpai4rezjYb1GDRpGSWbboENU2HTw7
    CqnzS8lzEDLKOsk43Qx6Zv8-ELoLc2r8DT9yoRoL-0vfQr3pC38Ln5W_cz9209KjLhyZa03l6QyQqzPM

    New Solar Panels

    This update will also include 4 brand new photovoltaic panels, including enhanced versions of the SP and OX-4 series, but also two large circular retractable solar panels with very cool deployment methods.

    SP-10L 1x5 Photovoltaic Panels

    This large retractable solar panel is an enhanced version of the SP series. With a five fold increased solar array area, the SP-10L will provide improved electrical charge generation. This solar panel also includes a case to protect this sensitive technology when it is not being used.
    Lze6Dlop78J693kc1h7lW_Q-1L2oQfaOVmeApojb

    OX-10L 1x5 Photovoltaic Panels

    The OX-10L 1x5 is a larger version of the OX-4 series of solar panels. It includes advanced heat radiators, and a deploying bracket to keep the panels safe when launching, although these panels are not retractable once deployed, so beware…
    XCg9i427Svbk7WB4ACJsnbYvNLx2YLeAt77mv1w7

    OX-10C Photovoltaic Panels

    The crown jewel of the new circular retractable solar panels, the OX-10C provides a great output of electrical charge with a very decent solar array area. When folded it is compact and easy to transport, but although it deploys very graciously, it won’t retract back.

    KUD7duY97HEBZXDJADJdLbA6cFDUzcBHqenZsodz

    SP-10C Photovoltaic Panels

    The SP-10C photovoltaic panel also has a circular design that folds itself on command, making it an excellent alternative if you’re looking for versatility.

    bHnA9HdVBkj1TUSxeHVzt6542_JBtT-DkqaJri0q

     

    Ground Anchor

    The Ground Anchor is a brand new element in KSP, that when paired with EVA construction, will give players the ability to anchor their vessels to the ground or create a solid foundation for bases.

    The deployable ground anchor will work as other deployable parts, so it will have to be put into a Kerbal’s inventory and then use the deploy functionality to have it successfully anchor itself to the ground in order to build a base from. 

    8LjbDBOAoqCqgwpFQo_M3YjwZkkU85qkshB_T5y-

    bUhRDsd9B-sL8FguuA7p8cx6d8iO2BHM8cZBMUzt

    KSP 2

    Kerbal Space Program 2 has also had a few developments since our last KSP Loading

    For instance, last week we released the third episode of the KSP 2 feature series, which delves into Intercept Games' mission to onboard the next generation of space industry experts with new tutorials, UI/UX improvements, quality of life features, and more.

    Additionally, in the past few months we have released two additional dev diaries for KSP 2, including a very interesting and informative look into what a game producer actually does in the development process of a title.  

    On 2/11/2021 at 4:00 AM, Intercept Games said:

    Hi, friends! I’m Nate Robinson, senior producer on the KSP2 team, and I watched a lot of Apollo 13 as a kid – to the point that I practically wore out our family’s VHS copy.

    Naturally, I always imagined myself in the role of astronauts Jim Lovell, Fred Haise, and Jack Swigert. Every 90s kid wanted to go to Space Camp, become an astronaut, and fly on the Space Shuttle, and I was no different.

    But a funny thing happened a couple of decades later when I watched the film again as an adult: I didn’t find myself associating with the astronauts.

    I, of course, had long ago moved on from any dreams of being an astronaut myself (I blame my poor vision, but trigonometry was truly where I gave up the ghost). Instead, I found myself far more engrossed in another role – that of flight director Gene Kranz.

    Kranz, spends the entirety of the film not in space, but on the ground, trying to keep on top of an ever-shifting situation. He works feverishly with the bright minds around him for clever solutions to unpredictable problems and to keep everyone focused on the important goals in front of them.

    In other words, he’s a game producer.

    Dev-Diary-NateR-1.png
    A game producer in their natural habitat.

    The role of production in games is often tricky to define as it can vary from studio to studio and game to game, but it’s similar to that of a Product Owner or Project Manager in software development and other industries.

    At Intercept, we have a team of three terrific* producers – including Fernanda Diaz and Paige Ketcham – whose job it is to ensure that development is running smoothly. We create and manage team processes, set goals and measure deliverables, coordinate cross-discipline efforts, prevent roadblocks, and do our best to keep everyone pointed in the same direction. Doing the job well requires strong communication, organization, multi-tasking, and leadership skills, along with a deep knowledge of the game you’re trying to make.

    As you can imagine, it’s a lot to manage across a game with the mind-boggling size and scale of Kerbal Space Program (I have incidentally come to understand flight director Kranz’s evident chain-smoking habit), but it’s also the most rewarding job I’ve ever had. Establishing or optimizing a workflow that lets your team’s talented artists, engineers, or designers do their job even better may not sound sexy, but the reality is that it results in a much better game — and that never really gets old.

    Dev-Diary-NateR-2.png
    The KSP 2 dev team celebrates a successful milestone

    On the KSP2 team, production’s fingerprints are everywhere. One day, we may be helping sort out the pipeline for creating new parts (What are the requirements for the part? Who will do the modelling and texturing? How many parts are needed and how much time do we have?) and another you may find us sort through bugs from a recent playtest (What is the priority of this issue? Who can help fix it on the dev team? When should it be looked at? Who replaced the Poodle engine with an actual dog?!). We are intimately involved in practically every aspect of development, which keeps us on our toes and no two days from being quite the same.

    Of course, in order to get the answers to a lot of these questions and to ensure that the whole team is on the same page, we make use of another superpower of ours: Meetings. It’s a terrifying power, one that has been known to break lesser men (noted Kerbothropologist Paul Zimmer among them) and one we do not wield lightly. Running a meeting well is a criminally underrated skill and one that is essential to keeping a diverse, multi-discipline team moving forward hand-in-hand.

    Dev-Diary-NateR-3.png
    The normal dev-team response to me scheduling a meeting

    Perhaps our most important responsibility, however, is managing the team’s short- and long-term tasks. Like much of the software world these days, the KSP2 team runs on a version of Scrum. Every three weeks, we gather our teams to review the previous cycle’s work, discuss how to improve our processes, and then get alignment on what the goals are for the next three weeks. There’s a lot of overhead involved in keeping a team of 30+ people busy, so we are constantly juggling a backlog of tasks in JIRA, our task-tracking software, so that the tasks are correctly prioritized and groomed (read: documented and clear).

    For long-term planning, we build and maintain a development roadmap. A roadmap is simply a development schedule that lays out major milestones and when game features will be built. Some sections of the team — the part and planet artists, for instance — have their own roadmaps, but all development efforts are coordinated around a central roadmap for the entire project that is constantly being refined with adjustments to specific features and new estimates from the team itself. Even NASA’s Artemis team has a roadmap:

    Dev-Diary-NateR-4.png
    Though, where they’re going, they won’t need roads

    We talk a lot about the roadmap on the production team because everything stems from it. No games are made by accident and one as complicated as Kerbal Space Program requires a lot of forward planning to ensure that our rocket leaves the launchpad on time and in one piece.

    In future dev diaries, I hope we can give more insight into different aspects of production work as I barely scratched the surface of what is involved in this role. We didn’t get to cover our coordination with the marketing team or Squad, our instinctual need to document everything, or our unshakable convictions as to why Google Docs is a poor substitute for traditional Excel sheets! But I’ll just have to leave you with that tantalizing teaser — nothing gets people more excited for a dev diary than promises of spreadsheets!

    … or maybe that’s just a producer’s thing.

     

     

    *: I’m admittedly biased

    View the full article

     

    And, if you've ever wanted to dive into the technical side of KSP 2's development, this dev diary goes into the intricacies and challenges of drawing accurate orbits that look stellar, and how orbit tessellation turned out to be the solution to this problem in KSP 2.

    On 4/15/2021 at 10:00 AM, Intercept Games said:

    Hello all, I’m Johannes Peter – A programmer on Kerbal Space Program 2 – and I love solving interesting problems!

    The problems we face in game development rarely have a single “correct” answer. The more specialized your game is, the more specialized your problems are, and the more creative your solutions need to be. As a rocketry simulator on an interplanetary scale, Kerbal Space Program has already tackled a wealth of unique programming challenges.

    Today I want to share a solution I’ve worked on for a problem that is fairly unique to KSP: How to draw accurate orbits that look stellar regardless of where they’re viewed from?

    I’ll briefly cover a standard approach for drawing orbits, touch on some of the issues with that approach, and then look at the solution that KSP2 is using now: screen space orbit tessellation.

    This dev diary will get a bit into the technical side of KSP2’s development, with diagrams to help illustrate some of the core concepts. We will mainly focus on this test scene of Kerbin orbiting Kerbol:

    image-20210316-111746-1024x576.png

    Quick disclaimer:

    • All visuals were created specifically for this dev diary, and are in no way representative of how anything may look in the final game.
      It’s just programmer art.
    • All code, while functional, is simplified for clarity.
    • All orbits are to scale and celestial bodies are a constant screen size to make them easy to see.

    Orbital Trajectories in KSP

    I hope it isn’t too hyperbolic of me to say, but KSP is all about orbits. Building, flying, and crashing rockets are all core to KSP’s identity, but if I had to describe KSP with one defining characteristic, it would be that it teaches you how orbits work on an intuitive level, just by playing it.

    While there are definitely exceptions (you know who you are), most players depend on the Map View to plan their journeys from launchpad A to crater B, so being able to display lots of orbits without visual artifacts is critical.

    What is an Orbit?

    An orbit is the path that an object takes as it moves through space while under the gravitational influence of other objects around it. Real life orbits are chaotic and not deterministic. Without performing many small iterative calculations, it is generally not possible to say for certain where an object will be in space at an arbitrary point in time.

    This is one of the reasons why KSP simplifies its orbital mechanics so that generally you’re only within the sphere of influence of one celestial body at a time. These kinds of orbits are known as Kepler orbits where position and velocity at any point on the orbit can be described using parametric equations. With a parametric equation we can plug in a parameterlike a time or an angle—and get an accurate position or velocity.

    If a curve can be described as a parametric equation it is easy for us to draw.

    Drawing Parametric Curves

    In general, to draw a parametric curve we need to:

    • Choose a start and end parameter, as well as how many points we want to generate.
    • Generate the points by passing values into the parametric function that range from start to end.
    • Draw a line between each consecutive pair of points.

    For example, to draw a standard sine wave, we can use this parametric function:

    
    
    
    
    
    
    Vector3 GetParametricPoint(float parameter)
    {
        float x = parameter;
        float y = Mathf.Sin(parameter);
        return new Vector3(x, y, 0);
    }
    

    With that function we can use a start and end parameter to generate our points:

    
    
    
    
    
    
    void GenerateParametricPoints(
        List<Vector3> points, float start, float end, int count)
    {
        points.Clear();
        // Need at least two points to draw a line
        if(count < 2) return; 
    
        // Generate points using a parameter that
        // inclusively ranges from 'start' to 'end'
        float stepSize = (end - start) / (count - 1);
        for(int step = 0; step < count; ++step)
        {
            float parameter = start + stepSize * step;
            Vector3 point = GetParametricPoint(parameter);
            points.Add(point);
        }
    }
    

    And assuming that we have a function to draw a line between two points, we can finally draw the lines between the points we just generated:

    
    
    
    
    
    
    void DrawParametricCurve(List<Vector3> points)
    {
        int count = points.Count - 1;
        for(int step = 0; step < count; ++step)
        {
            Vector3 from = points[step];
            Vector3 to = points[step + 1];
            Draw.Line(from, to);
        }
    }
    

    Here is an example of what that looks like:


    The green line is the ideal sine curve that we want to draw, and the blue line is the result of our GenerateParametricPoints and DrawParametricCurve functions.

    Changing the start and end parameters (shown here in degrees) affects the position and length of the curve and the more points we generate the better the lines match the ideal curve.

    Drawing an Orbit

    Let’s assume that we have the following:

    • A parametric equation of our orbit. The exact equation is outside the scope of this post, but for those curious, you can see better results if it uses the eccentric anomaly as its parameter.
    • A start and an end parameter that we’ll step between. A full orbit’s parametric equation generally ranges from 0 to 2π radians, or 0 to 360 degrees.
    • The number of points we want to generate. The default in KSP1 is 180 points for a full orbit.
    • A graphics package to do the rendering. We need a way to draw a line between two points.

    As with the sine wave, we generate points using parameters ranging from the start to the end value, and by increasing the number of points we generate, we get a smoother looking orbit:


    Of course there’s a lot that I’m glossing over here, such as more efficient ways to draw lines than one at a time or other optimizations, but in a nutshell this is how orbits were drawn in KSP1.

    Adding some Perspective

    Evenly distributing the points of an orbit yields excellent results when viewed from far away, specifically when the camera is not close to the plane that the orbit is on.

    However, in KSP you frequently view orbits from extremely flat angles. For example, when zoomed in close enough to see the moon of a planet, the orbit of the planet will be almost completely flat.

    Let’s add the orbits of Kerbin’s moons Mun and Minmus to our example scene:


    When we zoom in on Kerbin’s moons, we see sharp corners on Kerbin’s orbit. The orbit line also misses Kerbin by a significant margin.

    Even though we generated Kerbin’s orbit with 180 points, the distance between two points is still about 5 times larger than Minmus’ entire orbit:


    If we evenly distribute the points around the orbit, then with orbits as large as those in KSP we run into scenarios where there may not be enough points from the camera’s point of view to look smooth.

    We could increase the point count, but we’ll quickly run into diminishing returns. Much of the orbit already looks smooth so adding points there would be a waste, while due to the angle of the camera other parts of the orbit don’t have enough points.

    … What if we could add points only where they’re needed?

    Screen Space Line Tessellation

    If you have two points that were generated with a parametric equation you can generate a new point between them by averaging their parameters:

    
    
    
    
    
    
    Vector3 pointA = GetParametricPoint(parameterA);
    Vector3 pointB = GetParametricPoint(parameterB);
    
    float parameterMid = (parameterA + parameterB) * 0.5f;
    Vector3 pointMid = GetParametricPoint(parameterMid);
    

    We can start with a small set of points and insert new ones by averaging their parameters. The curve becomes smoother each time we do this:

    SubdivIterations-1024x338.png

    In computer graphics tessellation is the process of dividing geometry to make it smoother. We are effectively tessellating our parametric curve.

    We really only care that the curve appears smooth on the screen, so we want to evaluate the smoothness of our points in screen space, where the X and Y coordinates correspond to the point’s screen position:

    
    
    
    
    
    
    Vector3 screenA = camera.WorldToScreenPoint(pointA);
    Vector3 screenB = camera.WorldToScreenPoint(pointB);
    Vector3 screenC = camera.WorldToScreenPoint(pointC);
    

    With our points in screen space, we can insert a new point between points A and B based on how smooth the curve is there. But how do we define ‘smoothness’?

    Choosing a Smoothness Heuristic

    A heuristic is a rule-of-thumb; a method for solving a problem very fast while being adequately accurate. We need a heuristic to efficiently decide if our points are ‘smooth enough’.

    We’ve mentioned two heuristics so far:

    • The distance between points. If points are visually close together then they’re less noticeable.
    • The angle between points. The closer three points are to a straight line the less their middle corner stands out.

    A convenient heuristic that incorporates both is the triangle area, which we can compute very quickly using the Shoelace formula:

    
    
    
    
    
    
    float ComputeTriangleAreaXY(Vector3 a, Vector3 b, Vector3 c)
    {
        return Mathf.Abs(a.x*b.y + b.x*c.y + c.x*a.y 
                       - a.y*b.x - b.y*c.x - c.y*a.x) * 0.5f;
    }
    

    If the triangle of a, b and c in screen space has an area larger than a given upper limit, then we insert a new point between a and b to smooth out the curve.

    We evaluate our heuristic on every consecutive set of three points, until all points satisfy our heuristic, or we reach another end condition like how many points we have in total.

    It can help to visualize the triangles:


    Putting it all together

    We can apply the triangle heuristic to our orbits, coloring each point based on the Iteration it was added in—red first, then orange, yellow, and so on:


    The orbits are tessellated using the top-right camera and the turquoise lines show the viewing bounds of that camera. The top-left shows a close up of Kerbin and its moons.

    The closer the camera moves to the orbit, the more iterations need to be performed to satisfy our heuristic, but we also use far fewer points overall because we only generate points where needed. For example the orbits of Mun and Minmus only generate new points when they become visible.

    Here’s the original shot again with tessellation enabled and all debug drawing removed:


    And that, in a nutshell, is how orbits are drawn in KSP2.

    Closing Thoughts

    When working on programming problems your first solution is rarely perfect, and it’s possible for your solution to have its own problems that you need to solve.

    There is far more that went into the development of this feature that I’d love to share here, from implementation details like additional heuristics, culling optimizations and choosing the right data structure for efficient point insertions, to how this can be used for more than just Keplerian orbits, but this is enough for one post.

    If you enjoyed this technical deep dive and want to see more stuff like it please let us know! Having the chance to share something like this with you all is very special to me. I wouldn’t be in this industry if it wasn’t for so many developers sharing their passions and inspiring me through their work online.

    I’ll leave you with one last debug visualization, showing the spatial partitioning used to decide when points are worth subdividing even if they’re not on screen (but one of their descendants might be):

     

    View the full article

    Finally, don’t forget to check out the Kerbal Space Program 2 - Show and Tell Highlights from February & March, where the KSP 2 team has shared some really neat footage of some of the stuff they’ve been working on recently, like new power generation modules for colonies, colony fuel factories, new engine exhaust effects, and some amusing kerbal skin experiments.

    Remember, you can share and download craft and missions on Curse, KerbalX, the KSP Forum and the KSP Steam Workshop.

    That’s it for this edition. Be sure to join us on our official forums, and don’t forget to follow us on Twitter, Instagram and Facebook. Stay tuned for more exciting and upcoming news and development updates!

     

    Happy launchings!

     

  10. Hello Kerbonauts! 

    Kerbal Space Program 1.11.2 is live! 

    This small patch focuses on fixing a few remaining bugs from the last update that were causing some headaches to players.

    Check out this patch's Changelog for further details:

    ChangeLog:

    =================================== v1.11.2 ============================================================
    +++ Bugfixes
    * Fix craft can wobble or even have some parts destroyed when interacting with parts and inventory slots during EVAConstruction in Flight.
    * Fix NRE on returning to physics range of RCSFX on command pods causing game to become non-savable or usable in some cases.
    * Fix the Place Anywhere 1 linear RCS part thrusting the wrong way.
    * Fix same part collisions invalidating valid EVA construction placement on some parts.
    * Fix Resource App resource totals UI display for EVA kerbals carrying multiple resources including EVA propellant total on every resource.
    

    Remember that you can help us find bugs/issues by reporting them into our bugtracker and that you can also upvote reports to make them more visible.

     

    Happy launchings! :happy:

  11. 各位坎巴拉宇航员,大家好!

    已通过中华人民共和国国家新闻出版署审批的《坎巴拉太空计划》,于今日在WeGame
    平台上线更新补丁,方便玩家与社区成员分享自己的飞船。
    本补丁包含了用于分享用户创作内容的UserSpace中心,为游戏和WeGame平台添加可
    查看和分享制作飞船文件的支持功能。
    本作于上个月登陆WeGame,首发折扣价25元(二五折),优惠截至3月23日。
    谨在此热烈欢迎新玩家们加入我们的全球模组制作社区。

    NKN3V_iSd37GpaIQcoHYSYsUOQ9M7Y8c7Eu2W3G8

    8N2QFgEE7V9rnptL6ldgHu9MiwG8CqoXIEuUdOKL

    h-sGhhDUVnWz-iUp6je1WiHAXd9h91a_OLSK8kp_

    祝您欢乐起航!:happy:

  12. Planned to land on February 18th, the Mars 2020/Perseverance rover is designed to better understand the geology of Mars and seek signs of ancient life. The mission will collect and store a set of rock and soil samples that could be returned to Earth in the future. It will also test new technologies for future exploration.

    Curiously enough, Kerbals have also been preparing a similar mission to Duna, but they need some help to design and successfully complete the entry, descent, and landing sequence of their Dunian Rover. Are you up for the challenge?

    To successfully complete this challenge, you’ll need to:

    • Build a six-wheeled rover that looks as closely as possible to NASA’s Perseverance Rover, plus all the components needed for the entry, descent and landing sequence.

    • Use an orbiting CommNet relay to control the spacecraft.

    • Perform a cruise stage separation before entering the atmosphere.

    • Use a heat shield and fairings for the backshell to enter the atmosphere.

    • Include a parachute deployment and heat shield separation stage.

    • Separate from the backshell and begin a powered descent

    • Separate from the Descent stage and touchdown!

    • Collect some samples using the robotic rover arm.

    • Post a video or screenshots on this thread showcasing your successful mission.

    NMXiM25E6Ddo6HZh-_VAVLlJ3vCBEIS7zkkDisjq

    • Additional points if you deploy a Duna Helicopter, too. 

    • Additional points if you land on a Dunian Crater 

    g8oZcvPBu6K82K76S9ignWsgUvMQmR2iEkwO_vR8

     

    You have until February 18th to complete the challenge. As we did with the Demo-2 Mission and the Space Station Anniversary, NASA will be reviewing submissions and liking their favorites, so don’t miss out!

    Looking for some tips/inspiration? Check out Matt Lowne’s Kerbal-take on the Perseverance/Recovery mission here.

×
×
  • Create New...