Jump to content

[1.1.2] Kerbal Konstructs v0.9.7.1 - Slopey Glidey


AlphaAsh

Recommended Posts

I'll try to explain the issue a little better.

A part, a craft, a facility at KSC, any 'native' object of KSP, is stored as data in a database specific to a save game (this is the persistent.sfs file). KSP and its API (the 'interface' modders can use to tell KSP to do stuff and tell them stuff) has base functions that tend to work with little need of extension. Some wrappers and a scripting layer is pretty much what all plug-ins are.

Things get messy when you want to add non-native objects in to KSP and interface with those. What's available in the API for third-party statics is limited. One of the biggest problems is storing data for said objects in KSP's database. It doesn't 'stick' - that is, whenever KSP does a commit to the database, this data is flushed down the toilet.

Therefore, Kerbal Konstructs and KerbTown before it, doesn't try to store data per save game (well KerbTown did, but it didn't work). What I can and do do though, is save the open and close state of bases per save game in a 'third-party' or 'external' database. When you fire up KSP, all the instances of static objects are spawned when you're looking at the main menu. Only when you load a save game is the third-party database then consulted to determine whether a base is open or closed.

The immediate solution to the issue that may seem obvious is to save object placement per save game and then spawn everything upon loading a save game. Then despawning everything upon returning to the main menu. This is a messy solution I've actually been pursuing with little success and is also a similar solution KerbTown attempted and failed to do.

Possibly the most annoying thing about using an external database is that it is proving impossible to properly support mission reverting and quick-loading, allowing for 'abuse/cheating'. This is already possible when opening bases or buying fuel from working fuel tanks.

Edited by AlphaAsh
Link to comment
Share on other sites

How does one create a new static to use with the base editor? What kind of programming do I have to do to make it work?

3D modelling help this way :) If that doesn't scare you, you're half-way to starting.

Link to comment
Share on other sites

v0.7.7 available from KerbalStuff.

Changelog:

It's all editor updates this time.

Instance Editor

  • Duplicate feature is now working again.
  • Latitude and longitude of the instance is now shown as you are positioning it.

Statics Editor

  • Spawn New now supports categories (defined in the config) for statics and has a filter feature on both category and title.
  • Spawn New now has an information button for displaying some basic info about a selected static object.
  • All Instances has a filter feature for group.
  • All Instances now has an Export Custom button. Click this to export all your custom instances to GameData/medsouz/KerbalKonstructs/ExportedInstances. Use this before updating your static asset packs to back-up any bases you've made yourself.
  • The Import feature is still WIP. Ready for the next update hopefully.
  • Local Instances now has a simple control for setting what the local range is. Default is 10000m. Minimum is 2500m. Maximum is 80000m.

Link to comment
Share on other sites

Let's break this down in to a set of requirements.

  • - No massive, and horribly ugly parts.
  • - No bunch of other missions just to get the resource chain set up.
  • - No vanishing launchpads.
  • - No base shaking and krakened save files.
  • - Achieves the same thing but in a far more light weight packaging.
  • - Cargo modules that you ship a couple to the off planet site you want.
  • - Once you have enough within a certain radius they and the ships they are on get gobbled up to "build" the base.
  • - Custom building where the model looks to have elements of industry on it.

Technical challenges:

- Freedom to set static objects per save game as part of gameplay and not 'externally' with an editor.

An alternative to a permanent ground base using statics would be a "station" at 2,868.75 km up from Kerbin. Like Ike's old Magic boulder static anomaly. Deliver 200 tons of Ore resource (20,000 units of Ore) to the orbit and the game would "build" a station launch site that can launch stuff like the level 1 launchpad on Kerbin. Upgrades to the station would require much more Ore to be delivered. The game already has "Deliver X amount of Ore to orbit Y" contracts and Ore would fit the resource needed.

Doesn't solve the technical issue though.

Link to comment
Share on other sites

v0.7.8 available from KerbalStuff.

Changelog:

  • Launch Site Selector and Base Boss Map Manager now show altitude, latitude and longitude of a selected base. (Feature request met. AlphaAsh levelled up! Yay me. Fist-pump. etc.)
  • Bug-fixes to NGS and Instance Editor for accurate display of latitude and longitude.

Link to comment
Share on other sites

This looks so cool! I can't wait to try it out.

Would it be possible to use KAS to refuel? So you EVA then plug in the fuel hose.

Why exactly can't you make static bases on other planets? What's special about Kerbin?

Edited by beabop
Link to comment
Share on other sites

Why exactly can't you make static bases on other planets? What's special about Kerbin?

The way the launch system is set up makes it unreliable to launch from anywhere but Kerbin. You can put bases on other planets just fine, but not launch from them.

Link to comment
Share on other sites

That seems like a pretty clever solution. What if it was spawned as a flag? Those don't seem to get any physics calculations associated with them, and the "base" would just be one single "part" with functionality like EPL.

Link to comment
Share on other sites

A quick heads-up on an upcoming feature that will make connecting up elements of a custom base easier, that statics makers can already begin preparing for.

Similar to the connection nodes of parts, SnapPoints are points on statics that allow them to be 'snapped' together - especially useful for putting stuff on top of other stuff, or creating road networks, modular runways and so on.

Whilst this feature of KK's editor is not likely to be as user-friendly or as intuitive as the VAB or SPH for building craft, mostly because I'm not in any hurry to figure out mouse dragging of static objects, it should still make for more accurate connecting of base elements.

If you make statics, it's very simple to define a SnapPoint in Unity, if you'd like to future-proof for this feature. Under the parent gameobject, create empty transforms named snappoint, at each point on your model where you want other statics to be able to snap on to. The orientation of the transform is irrelevant (for now). Don't go too nuts - I'm testing with a max of 8 points on a model at the moment. There probably won't be a hard limit but too many SnapPoints and life is going to get messy again for base builders.

Link to comment
Share on other sites

How to Configure a Launchsite Model's Width and Length

Example static .cfg:

// Generated by Kerbal Konstructs

STATIC
{
name = kkrunway2
mesh = kkrunway2.mu
module = Part
category = Runway
author = AlphaAsh
static = true
cost = 0
title = Runway
manufacturer = KashCorp
description = Planes crash on it
DefaultLaunchPadTransform = kkrunway2_spawn
[B] DefaultLaunchSiteWidth = 45.0
DefaultLaunchSiteLength = 1700.0[/B]
}

See the bolded parameters. It's that simple.

Edited by AlphaAsh
Link to comment
Share on other sites

I'm sorry if the answer to this question is already somewhere on this thread, but does my model have to be converted to a .mu in order to be loaded in as a static object? I'm mostly asking this because the blender .mu converter is misbehaving for me. XD

Link to comment
Share on other sites

I'm sorry if the answer to this question is already somewhere on this thread, but does my model have to be converted to a .mu in order to be loaded in as a static object? I'm mostly asking this because the blender .mu converter is misbehaving for me. XD

I think KSP can still read DAE files in some limited capacity but I'm not 100% sure. MU is probably your best bed, though in truth I've never tried using the converter in that direction - I usually use Unity to convert.

Link to comment
Share on other sites

I think KSP can still read DAE files in some limited capacity but I'm not 100% sure. MU is probably your best bed, though in truth I've never tried using the converter in that direction - I usually use Unity to convert.

Alright, I'll give it a try. Thank you!

Link to comment
Share on other sites

I think KSP can still read DAE files in some limited capacity but I'm not 100% sure. MU is probably your best bed, though in truth I've never tried using the converter in that direction - I usually use Unity to convert.

Indeed. You're going to get more reliability if you produce an .mu with KSP's parttools in Unity. There may well be some legacy support for DAE but I'm in no hurry to confirm it. Nor to see if there's an alternative to compile an .mu other than with KSP's parttools. I'd highly recommend biting the bullet and get used to using Unity.

EDIT My production pipe is SketchUp -> DAE -> Blender -> FBX -> Unity -> mu -> KSP.

Edited by AlphaAsh
Link to comment
Share on other sites

v0.8.0 HOTFIX for KerbinSide v1.0 compatibility

Changelog:

  • Fixes issue with KK not handling length and width of instances that over-ride a static's default length and width (eg, the launch points on KSC Island, the old KSC 2 launchpad, the helipad on top of the VAB).
  • KK should now load correctly.
  • New career games should now have the KSC buildings correctly initialised.

Link to comment
Share on other sites

Getting some texture not found.

[LOG 07:49:51.097] Load(Model): KerbinSide/Parts/Static/ksidebiodome

[ERR 07:49:51.162] Texture 'KerbinSide/Parts/Static/emissiveall' not found!

[LOG 07:49:53.183] Load(Model): KerbinSide/Parts/Static/ksidelifeguardhut1

[ERR 07:49:53.203] Texture 'KerbinSide/Parts/Static/emissiveall' not found!

[LOG 07:49:53.205] Load(Model): KerbinSide/Parts/Static/ksidelifeguardhut2

[ERR 07:49:53.211] Texture 'KerbinSide/Parts/Static/emissiveall' not found!

[LOG 07:49:55.534] Load(Model): KerbinSide/Parts/Static/ksidetunneldown

[ERR 07:49:55.541] Texture 'KerbinSide/Parts/Static/emissiveall' not found!

[LOG 07:49:55.866] Load(Model): KerbinSide/Parts/Static/Admiral_Kerminsov_Class_Carrier/ks_carrier03

[ERR 07:49:55.963] Texture 'KerbinSide/Parts/Static/Admiral_Kerminsov_Class_Carrier/runway light d' not found!

Link to comment
Share on other sites

Getting some texture not found.

Looks like paint.NET corrupted a few tgas when they were converted to DDS and I never noticed. Should be harmless until I get them fixed. That last error is from Eskandare's Oceania Pack and to bring it to his attention, could you post over in the KerbinSide thread? TIA.

Link to comment
Share on other sites

Discuss. Please note that the following is open to change.

Bases can/will have three new characteristics:

Launch Refund

  • A percentage of the value of the vessel launched at the base refunded immediately upon launching a vessel from that base. Default is 0%. Base creators can change this.
  • Potential exploitation of gaining funds through immediate recovery will be handled. Reverting to launch or to VAB/SPH is also handled.
  • Future feature will allow players to upgrade bases to increase Launch Refund.

Recovery Factor

  • This is the percentage of recovery value actually recovered if the base carries out the recovery and the recovery takes place beyond the effective range of the base. Default is 50%. Base creators can change this.
  • Players will not be able to choose whether a base carries out recovery or not. The nearest base will always carry out a recovery.
  • If a base has a Recovery Factor of 0 it will be ignored when determining the closest base for recovery.
  • KSC has a Recovery Factor of 100%.
  • Future feature will allow players to upgrade bases to increase Recovery Factor.

Effective Recovery Range

  • Default is 100 km. Base creators can change this.
  • Between 10km and this range recovery will be 100% of the recovery value (modified by range as per standard KSP rules).
  • Below 10 km, it's 100% minus any launch refund rate the base has, regardless of whether the vessel launched from there or not. This is to disuade immediate recovery exploitation. Roleplay excuse: You practically landed on top of us. That actually costs more to recover you than if you hadn't.
  • Beyond effective recovery range, recovery factor is then applied to the recovery value (modified by range as per standard KSP rules).
  • KSC has an unlimited effective range. Note that recovery is always handled by the nearest open base however, and that standard KSP rules will still apply to the recovery rate per range.
  • Future feature will allow players to upgrade bases to increase effective recovery range.

Does this mean you'd rather not open bases near KSC for risk that they recover a vessel rather than KSC? You will get to decide that.

Edited by AlphaAsh
Spolling. Sense.
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...