Jump to content

[1.3.1, 1.4, 1.5, 1.6, 1.7] Procedural Parts - Tidal Stream Branch


Tidal Stream

Recommended Posts

Procedural Parts, Tidal Stream Branch.

Download Latest Releases for Procedural Parts

Starwaster has not recompiled Procedural Parts for Kerbal Space Program 1.3.1 so it is marked as incompatible in CKAN. There was a pull request for this on Github but it has not been merged. So I decided to fork it and make the necessary changes.

Full description in the original thread.

On 12/25/2017 at 11:10 PM, Starwaster said:

@Tidal Stream @flart @KerBlitz Kerman Guys I know you're anxious for an update and if someone wants to re-branch and release their own as I did, there's nothing wrong with that but can you make a new thread to do it please? Other than that, I will get the next update out when I can.

It supports 1.3.1 and 1.4+ (1.4, 1.5, 1.6, and 1.7), and the releases are on CKAN so people can install it easily instead of having to do it manually.

Licence

Remains as CC-BY-SA 3.0 Unported.

Spoiler
On 12/25/2017 at 2:34 PM, flart said:

Did you include https://github.com/Starwaster/ProceduralParts/pull/19 or just recompile ?

This pull request breaks dragging on the sliders, only the arrows work. This makes it really hard to make small adjustments. While fixing a bug, it also introduces a regression. This is why I cannot include it in my branch. I uploaded a compiled version of the pull request for 1.3.1 on Github if you want to test by yourself or if you find the tradeoff acceptabe.

Edited by Tidal Stream
Link to comment
Share on other sites

  • 1 month later...

Hi guys. This is my first post, as I made my account specifically to ask about a big issue I'm having with this mod. 

First of all, I'm playing KSP on OSX and recently managed to install CKAN using Mono. Procedural Parts is really what got me hyped up for KSP again. Its my dream mod. I've successfully installed many mods using CKAN and also tried to install this mod on KSP Version 1.3. However, my game freezes in the loading screen every time I try to use procedural parts (It happens when I want to launch a rocket). I've tried to find people having the same issue online, but can't seem to find anything. I've tried to launch the game with only this mod installed and it STILL happens.. on version 1.3, as well as 1.3.1 (I used this version of the mod for 1.3.1). I just don't know what the issue could be. It would be greatly appreciated if someone could help me out here. Thanks!

EDIT: https://www.dropbox.com/s/pe2l5fkdp3i7oeb/Player.log?dl=0

Edited by Stefflor
Added Player.log link
Link to comment
Share on other sites

On 2/21/2018 at 9:38 PM, JadeOfMaar said:

The OP explicitly mentions that CKAN problems are why this post was made. Please be patient. CKAN takes its good time.

Perhaps ask someone who can CKAN to handle it too?

After recompiling and releasing the mod on github so it can be downloaded by everyone, the next goal was releasing it on CKAN. I read the official CKAN guide but I got kind of stuck. The <identifier> must be a short, unique, name for the mod that will identify the mod inside the system. However, this mod is meant to replace the previous ProceduralParts so it cannot be unique. The main reason to be on CKAN is so it can be easily pulled by RP-0 when it gets updated for 1.3.1 (via recommended mods) so the name should stay the same. The maintainer of ProceduralParts gave me permission to fork it but now it is a separate mod so I think I cannot reuse the name on CKAN. So if I do not get contributor permissions for the original mod, the only way would be renaming this to something like Procedural Parts Continued and arranging with the RP-0 devs (NathanKell?) to recommend the fork in the next version.

And while I can do some minor maintenance work on this mod like recompiling it for newer KSP versions and merging pull requests by the community, I have neither the time nor the codebase knowledge to make major changes to resolve the open issues on github submitted by NathanKell like the high RAM usage. I have also noticed log spam by the rounded tank shapes because of too many vertices (tried to use MechJeb autopilot docking but it could not make out the boundaries on the spaceship because of the rounded procedural tank) so fixing this to use meshes similar to the stock rounded monopropellant tank should lower the RAM usage. Similar measures to lower cylindrical tank mesh vertices should ideally make RAM usage of a procedural part identical to a stock part. But again, I have neither deep knowledge of the codebase, nor much experience in game development apart from Unity 2D games (I have experience in other development though).

On 3/1/2018 at 12:00 AM, Stefflor said:

The null reference exception happens when writing the meshes in ProceduralShapeCone, does it happen with cylindrical tanks? As noted above, certain shapes have more vertices and higher RAM usage than others.

Edited by Tidal Stream
Link to comment
Share on other sites

3 minutes ago, Tidal Stream said:

After recompiling and releasing the mod on github so it can be downloaded by everyone, the next goal was releasing it on CKAN. I read the official CKAN guide but I got kind of stuck. The <identifier> must be a short, unique, name for the mod that will identify the mod inside the system. However, this mod is meant to replace the previous ProceduralParts so it cannot be unique. The main reason to be on CKAN is so it can be easily pulled by RP-0 when it gets updated for 1.3.1 (via recommended mods) so the name should stay the same. The maintainer of ProceduralParts gave me permission to fork it but now it is a separate mod so I think I cannot reuse the name on CKAN. So if I do not get contributor permissions for the original mod, the only way would be renaming this to something like Procedural Parts Continued and arranging with the RP-0 devs (NathanKell?) to recommend the fork in the next version.

And while I can do some minor maintenance work on this mod like recompiling it for newer KSP versions and merging pull requests by the community, I have neither the time nor the codebase knowledge to make major changes to resolve the open issues on github submitted by NathanKell like the high RAM usage. I have also noticed log spam by the rounded tank shapes because of too many vertices (tried to use MechJeb autopilot docking but it could not make out the boundaries on the spaceship because of the rounded procedural tank) so fixing this to use meshes similar to the stock rounded monopropellantcould could lower the RAM usage. Similar measures to lower cylindrical tank mesh vertices should ideally make RAM usage of a procedural part identical to a stock part. But again, I have neither deep knowledge of the codebase, nor much experience in game development apart from Unity 2D games (I have experience in other development though).

The null reference exception happens when writing the meshes in ProceduralShapeCone, does it happen with cylindrical tanks? As noted above, certain shapes have more vertices and higher RAM usage than others.

Thanks a lot for your response! It really means a lot, that you and other modders put so much effort into making the game more enjoyable to others, with next to no personal gain. Huge props to you!

Now to business: The craft I made consisted of three cylindrical shapes, as well as a cone, which connected to the control module. I removed the cone and the same issue appeared. After testing it out for a bit, it seems like my Mac is simply overburdened. The shape doesn't seem to matter primarily, as small amounts of any shape load properly, but as soon as I increase the amount of shapes or their size, the game freezes. I bet the OS has something to do with this, as I'm pretty confident that a PC with the same specs could run the mod just fine. I love Mac for everyday stuff, but man.. For what they cost, they're ass for gaming!

I'm not sure if I should write this, since it feels like telling a doctor, what sickness I know I have, just by googling it. However, googling the "Receiving unhandled NULL exception" line, lead me to forums, which were explicitly talking about Unity Mac builds (not related to KSP though). I don't know if this could be a problem specific to Mac, but thought I might as well mention it. Sorry if this is an amateurish assumption.

Here are two screenshots of similar vassals with different amounts of procedural parts used. Don't ask me why the quality is so shoddy. The simpler one still loads, while the more "complex" one (and I use this word very lightly) freezes the game. Just so you can get an idea of the magnitude of the problem.

I suppose theres not much you or I can do here, since as you stated, you don't have the time or knowledge to optimize the mod sufficiently, but I still greatly appreciate your help! Stay awesome, dude!

Link to comment
Share on other sites

2 hours ago, Stefflor said:

However, googling the "Receiving unhandled NULL exception" line, lead me to forums, which were explicitly talking about Unity Mac builds (not related to KSP though). I don't know if this could be a problem specific to Mac.

I am not experienced in KSP modding but null exceptions get thrown when you either forget to assign or allocate space for your reference/pointer (in C also when you run out of memory and you cannot allocate more because there are no exceptions there). Apparantly in C# the virtual machine throws an OutOfMemoryException instead of returning a null pointer. I have no idea how this issue can be platform specific if it is from the mod given that C# works in a VM. Working fine with one tank and crashing with 3 strongly suggests running out of memory, maybe on Mac this exception gets silenced (empty catch clause somewhere) and then something tries to use the non-allocated reference, crashing KSP.

Reading the log and the source code again, the exception gets thrown in the game code after our mod generates the procedural part and requests the engine to recalculate drag.

GameEvents.onVesselWasModified.Fire(part.vessel);

Without deeper understanding of what happens, my guess is that the mesh  has too many vertices and that drag calculation becomes too intensive for your machine.

Edited by Tidal Stream
Link to comment
Share on other sites

6 hours ago, Tidal Stream said:

I am not experienced in KSP modding but null exceptions get thrown when you either forget to assign or allocate space for your reference/pointer (in C also when you run out of memory and you cannot allocate more because there are no exceptions there). Apparantly in C# the virtual machine throws an OutOfMemoryException instead of returning a null pointer. I have no idea how this issue can be platform specific if it is from the mod given that C# works in a VM. Working fine with one tank and crashing with 3 strongly suggests running out of memory, maybe on Mac this exception gets silenced (empty catch clause somewhere) and then something tries to use the non-allocated reference, crashing KSP.

Reading the log and the source code again, the exception gets thrown in the game code after our mod generates the procedural part and requests the engine to recalculate drag.


GameEvents.onVesselWasModified.Fire(part.vessel);

Without deeper understanding of what happens, my guess is that the mesh  has too many vertices and that drag calculation becomes too intensive for your machine.

Ok thanks for the info. 

I have one more question, as I'm not too familiar with this kinda stuff. Is the RAM, or the VRAM important for this process. It might be both, but maybe the VRAM is essential? I've got a excrementsty integrated Graphics Card with 1.5 GB of storage. That might be the issue here. I can literally not use more than one procedural part in KSP. Fml :/

Link to comment
Share on other sites

After reading the github issues page and discussions of the bug reports, I decided to try hippomormor's idea to make attachedEndSize float.PositiveInfinity (tried other things with limited success). It fixed the SRB 720 kN limit issue for me. I made a beta release - test it and post feedback here. And strut your boosters!

TL;DR SRB fixed

Edited by Tidal Stream
Link to comment
Share on other sites

On 3/1/2018 at 6:06 PM, Tidal Stream said:

After recompiling and releasing the mod on github so it can be downloaded by everyone, the next goal was releasing it on CKAN. I read the official CKAN guide but I got kind of stuck. The <identifier> must be a short, unique, name for the mod that will identify the mod inside the system. However, this mod is meant to replace the previous ProceduralParts so it cannot be unique. The main reason to be on CKAN is so it can be easily pulled by RP-0 when it gets updated for 1.3.1 (via recommended mods) so the name should stay the same. The maintainer of ProceduralParts gave me permission to fork it but now it is a separate mod so I think I cannot reuse the name on CKAN. So if I do not get contributor permissions for the original mod, the only way would be renaming this to something like Procedural Parts Continued and arranging with the RP-0 devs (NathanKell?) to recommend the fork in the next version.

Hi @Tidal Stream, I've created an issue requesting this mod be added to CKAN. There are multiple options, so if you'll join us over there we can help with it and hopefully figure out the best approach:

Link to comment
Share on other sites

35 minutes ago, Tidal Stream said:

If someone provides textures and they have similar resolution/size to the current ones, I would be happy to add them.

I have to look at how the new parts' textures are set up...maybe you could just reference existing textures from within the Squad folder?

Link to comment
Share on other sites

The models are not the same so the textures may not fit, look stretched, etc. And I cannot change them and put them in the mod because this would be a modification of Squad assets. But I will have a look at it next time I tinker with the mod. By the way, this does not require recompiling, just modifying Parts/STTextures.cfg and creating a new mode. You can try it out if you want to test.

Link to comment
Share on other sites

  • 2 weeks later...

I'm looking for procedural wings to build some nice (and large) aircraft without having to manually arrange dozens of wing component parts, and this mod seems to fit the bill nicely.

I'm on KSP 1.3.1 and using CKAN I installed this mod, but now I have a problem:
During loading, progress freezes once it reaches the parts from this mod. At first, it hung up on something in the "deprecated" folder, so I manually deleted that, next it hung itself on the battery, so i deleted that one, now it hangs itself on another part - I can't figure out what's wrong with it. And it's not like I'm running out of space, I'm running the 64bit .exe on a machine with 32GB of RAM, so now I'm looking for another solution.

Any tips for me?

Edited by Kr0noZ
fixed typos.
Link to comment
Share on other sites

3 hours ago, Kr0noZ said:

I'm looking for procedural wings to build some nice (and large) aircraft without having to manually arrange dozens of wing component parts, and this mod seems to fit the bill nicely.

I'm on KSP 1.3.1 and using CKAN I installed this mod, but now I have a problem:
During loading, progress freezes once it reaches the parts from this mod. At first, it hung up on something in the "deprecated" folder, so I manually deleted that, next it hung itself on the battery, so i deleted that one, now it hangs itself on another part - I can't figure out what's wrong with it. And it's not like I'm running out of space, I'm running the 64bit .exe on a machine with 32GB of RAM, so now I'm looking for another solution.

Any tips for me?

from what i know this mod does not provide procedural wings, you should check B9 procedural wings or procedural wings PWings, both work in 1.3, and PWings works in 1.4 either

both are on this page

Edited by Acvila
Link to comment
Share on other sites

Well, those don't seem to be on CKAN (or I can't find them), and I'm trying to keep it contained as much as possible to that because manually managing the 107 (currently) simultaneously used mods for my career game would be a nightmare...
Are you sure this mod doesn't have wings? I can't check for myself due to it not loading, so... fail xD

Link to comment
Share on other sites

1 hour ago, Kr0noZ said:

Well, those don't seem to be on CKAN (or I can't find them), and I'm trying to keep it contained as much as possible to that because manually managing the 107 (currently) simultaneously used mods for my career game would be a nightmare...
Are you sure this mod doesn't have wings? I can't check for myself due to it not loading, so... fail xD

I have also not seen any wings in this mod. This mod doesn’t seem to include them. You can just insert mods not present in ckan into the game folder manually..

Link to comment
Share on other sites

10 hours ago, Kr0noZ said:

I'm on KSP 1.3.1 and using CKAN. During loading, progress freezes once it reaches the parts from this mod.

I am testing the latest release on 1.3.1 and indeed there is an issue. I will release a patch that removes the backwards compatibility tag on the 1.4.1 verson. In the meantime, install the previous release (that says that it is specifically for 1.3.1). Procedural Wings are from B9, not from this mod.

Link to comment
Share on other sites

@Kr0noZ If a mod in CKAN is not tagged as compatible with your version but you believe it may be, go to CKAN settings, check the latest version the mod is compatible with, install it, then uncheck it. In addition, I released the patch so CKAN should index it soon.

Edited by Tidal Stream
Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...