Search the Community
Showing results for tags 'mod development'.
-
Info: The Github repository linked here contains a set of classes that you can freely (under the MIT license) add to your projects to help you make mods. The features include but are not limited to: Easy vessel orbit teleporting Easy orbit to and form ConfigNode conversion Saving and loading ConfigNodes to files A GUI manager that uses the popup system PNG to texture conversion from filepath A helper function for setting ConfigNode values An easy way for making mod icons in the sidebar The repo also contains some examples to help you get started. More documentation is on the way. Github: https://github.com/r11b22/KSPTools/tree/master License: MIT
-
- 2
-
- mod development
- modding help
-
(and 3 more)
Tagged with:
-
This forum post is aimed to share some utilities and tricks that might help with developing custom planets that use Kopernicus. This page is meant for planet developers, not for regular users. Mitchell-Netravali Filtered Heightmap (0.3) Download (and source): Github / CKAN License: MIT Comparison Images PQS similar to the stock's VertexHeightMap, but using cubic filtering instead of bilineal filtering. This yields a generally less pixelated terrain, and far better and smoother cliffs. Read the wiki for installation and usage. It's recommended that if you use this PQS in your own mod, you bundle it with your mod, as to avoid annoyance to the users. Bundle it so the folder 000_NiakoUtils is in GameData. The mod is also avaliable on CKAN.
- 7 replies
-
- 15
-
- mod development
- utility
-
(and 2 more)
Tagged with:
-
VertexColorMapEmissive VertexColorMapEmissive is a custom PQS Mod intended for use by planet modders to give more control over planetary emissives than can be achieved with the current alternatives: EVE CityLights and Kopernicus Expansion EmissiveFX Planet pack developers implementing VertexColorMapEmissive are encouraged to bundle it with their mod, for the convenience of users. Examples ScaledSpace: Place a VertexColorMapEmissive node in your ScaledVersion node PQS and/or Ocean Place a VertexColorMapEmissive node in the Mods subnode of your PQS Node and/or the Mods subnode of your Ocean Node Download Github SpaceDock Installation and Use Install ALL listed dependencies, following the links below Download and extract the VertexColorMapEmissive zip file Place the GameData folder into your KSP directory Once installed, simply add VertexColorMapEmissive nodes to the Mods subnode of your PQS Node and/or the Mods subnode of your Ocean Node, and to your ScaledVersion node Reasoning behind creation Qualities I believe an emissive mod should have It should cover ScaledSpace, PQS, and Ocean emissives with a single unified and coherent format. It should allow the use of a full color texture with transparency. it should not have visual artifacts with stock ScaledSpace, PQS, or Oceans. Features and comparison to alternatives VertexColorMapEmissive Pros Full RGBA colormap support Unified solution for ScaledSpace, PQS, and Ocean emissives No ocean z-fighting Cons No detail texture for close range variation Kopernicus Expansion EmissiveFX Pros Supports ScaledSpace, PQS, and Ocean emissives Cons Flat color value Map controls only alpha and brightness Ocean z-fighting EVE CityLights Pros Detail texture for fine detailing up close Cons Flat color value Map controls only alpha and brightness Detail texture tiling can become apparent when map covers a large contiguous portion of the surface Does not support Ocean emissives Parameters and expected values map: The RGBA texture to use as the emissive map brightness: global multiplier to the color channels of the map default value: 1 values greater 1 increase brightness, values less than 1 decrease brightness transparency: global multiplier to the alpha channel of the map default value: 0.5 values greater 1 decrease transparency, values less than 1 increase transparency Requirements ModuleManager Kopernicus FAQ Q. I'm not a planet modder? Do I need this? A. You do not need to install it manually yourself, but if you found this in your GameData, it is because a planet pack you have/had needs/needed it and so it was either included with the mod or auto installed through CKAN Q. Is this compatible with Parallax? A. In all honesty, I have never downloaded Parallax before, so I do not know. Q. Is this compatible with Scatterer oceans? A. No, it will not function with Scatterer oceans, only stock oceans. Licensing VertexColorMapEmissive is licensed under the MIT License
- 4 replies
-
- 9
-
- planets
- mod development
-
(and 2 more)
Tagged with:
-
VertexHeightOblateAdvanced VertexHeightOblateAdvanced is a custom PQS Mod intended for use by planet modders to enable easy creation of oblate bodies via a simple PQS Mod, rather than via a heightmap. Additionally, when in the SOI of a body implmenting VertexHeightOblateAdvanced, two new camera modes will be added to the camera rotation after FREE mode to better support non-spherical bodies. Planet pack developers implementing VertexHeightOblateAdvanced are encouraged to bundle it with their mod, for the convenience of users. Examples PointEqupotential UniformEquipotential Low UniformEquipotential Low UniformEquipotential High UniformEquipotential High Download Github SpaceDock Installation and Use Install ALL listed dependencies, following the links below Download and extract the VertexHeightOblateAdvanced zip file Place the GameData folder into your KSP directory Once installed, simply add a VertexHeightOblateAdvanced node to the Mods node in your body's PQS node Using the following Google Sheet, find appropriate periods for your body to get the desired oblateness, based on body surface gravity and radius. Camera modes: SURFACE NORMAL Functions like FREE camera mode, but with the vertical axis aligned perpendicular to the shape defined by the VertexHeightOblateAdvanced instance. This eliminates the "uphill effect" that oblate bodies have. Lerps to FREE camera mode when greater than 10% of the body radius above the maximum oblate height. GRAVITY NORMAL Functions like FREE camera mode, but with the vertical axis aligned with the local apparent gravity vector, taking into account the effects of rotation. Surfaces that look flat and level are actually flat and level relative to gravity. Lerps to FREE camera mode when greater than 10% of the body radius above the maximum oblate height. Parameters and expected values: oblateMode: overall controller for type of generation used Values: (PointEquipotential, UniformEquipotential, Blend, CustomEllipsoid) PointEquipotential: Generates a point mass equipotential UniformEquipotential: Generates a uniform density equipotential, either a Maclaurin spheroid or Jacobi ellipsoid deppending on energyMode and period Blend: Multiply a PointEquipotential by a CustomEllipsoid CustomEllipsoid: Generate an ellipsoid based on a, b, and c axis values energyMode : Used with: oblateMode (UniformEquipotential) Values: (Low, High) Low: For the given period, generate using the low oblateness branch. Always generates a Maclaurin spheroid High: For the given period, generate using the high oblateness branch. Generates either a Maclaurin spheroid or Jacobi ellipsoid based on period mass: Mass of the body as set in the Properties node. Optional if geeASL is provided. Used with: oblateMode (PointEquipotential, UniformEquipotential, Blend) Value: (greater than 0) geeASL: Surface gravity of the body as set in the Properties node. Ignored if mass mass is provided. Used with: oblateMode (PointEquipotential, UniformEquipotential, Blend) Value: (greater than 0) period: Rotational period of the body as set in the Properties node. Used with: oblateMode (PointEquipotential, UniformEquipotential, Blend) Value: (greater than 0) a: The primariy equatorial axis as a ratio of body radius. Used with: oblateMode (Blend, CustomEllipsoid) Value: (1 to infinity) b: The secondary equatorial axis as a ratio of body radius. Used with: oblateMode (Blend, CustomEllipsoid) Value: (1 to infinity) c: The polar axis as a ratio of body radius. Used with: oblateMode (Blend, CustomEllipsoid) Value: (1 to infinity) Requirements ModuleManager Kopernicus FAQ Q. I'm not a planet modder? Do I need this? A. You do not need to install it manually yourself, but if you found this in you GameData, it is because a planet pack you have/had needs/needed it and so it was either included with the mod or auto installed through CKAN Licensing VertexHeightOblateAdvanced is licensed under the MIT License
- 27 replies
-
- 12
-
- kopernicus
- utility
-
(and 2 more)
Tagged with:
-
o7 everyone, I'd like to make IVA mods, for custom build cockpits, especially I'd like to implement a F4 Phantom II cockpit (and fuselage parts, using a custom fuselage section profile, like MK0,MK1,MK2 and so on) in KSP, MAS IVA + BDAC implemented. (something like this) I have close to 0 expirience in Unity/coding in general(I can read error logs relatively well,have some bash/fish knowledge, and can write a calculator in python but form coding persepective thats practically it) However i have some expirience in modeling and texturing, UV wraps and some other stuff, I can confidently make the infamous donut in blender and texture it without any help, for example but im an amatuer in that field as well. I'm more or less a total noob in modding, from mod dev side of things, I can def make a simple value change or update the .dll plugin with some assistance, but thats practically it. So introduction is over, and I would like to ask expirienced modders those questions: Which skill sets 'd be required for achieving something like this? How complicated it'd be to implements BDAC functionality, such as a custom RWR, radar and IRST instruments? How complicated is it to make custom MAS flip switches (both with a safety cap and without) and add warning audio? Which guides should I deeply research? I have yet to find a BDAC implementation guides, but I've seen it done more than once, tho I am aware of MAS/RPM guide for moders and reading it. Obviously im not going for 100% recreation , I'd like to make a rather, simplistic, version of the cockpit but with enough detail to make it feel full and functional at the same time. P.S. If there are free to use texture/model resources for KSP mods (non commerical obviously) where could I find them? Thank you very much for your assistance!
-
- IVA modelling
- iva cockpit
-
(and 3 more)
Tagged with:
-
G'day! It's early days for Kerbal Space Program 2, but I am wondering if there are any relevant resources regarding development for modifications for KSP2. Has there been any official/unofficial information or tools released? Are there any unofficial community forums or resource locations which could be of invaluable assistance? I have not developed any mods for KSP1 other than editing files here and there to my liking, but am looking to try my hand at some more involved tinkering. Cheers in advance, Bradyns
- 2 replies
-
- 2
-
- question
- mod development
-
(and 3 more)
Tagged with:
-
Disclaimer: I am not a lawyer, this post is not legal advice. I am, however, a professional software engineer, and the statements I will present are consistent with the opinions of the Free Software Foundation (FSF), as well as my personal experience dealing with licensing issues as a developer of proprietary software. The problem? The GNU General Public License (GPL) is a free, copyleft license for software and other kinds of works. It is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. Previous research performed on Reddit by /u/Pyalot has shown that the GPL is one of the most common licenses used for distributing Kerbal Space Program mods. The adoption of free software by the KSP modding community has undoubtedly been a resounding success. It is no coincidence that nine of the ten most popular mods on Curseforge are licensed under terms that allow for derivative works to be created. However, unfortunately, (it is my opinion that) any mod licensed under the GPL that links with Kerbal Space Program is in contravention of the GPL. Specifically, the GPL requires that you distribute the source code to all components of the software that is necessary for the program to run, which, in the case of a plugin to a closed-source proprietary video game, is fundamentally not possible. The offending terms in the GNU General Public License, Version 3, which are causing the issues are as follows (emphasis mine): Now I know this seems a bit 50:50, but the FSF clarified in an FAQ as to their intention regarding free plugins for nonfree software, as well as one detailing their opinion on what constitutes a single combined program: As you can see, it is (in my opinion) abundantly clear that the intention of the GPL considers that any KSP plugin that links with the main program (which is all of them) violates the terms of the GPL. The GNU Lesser General Public License is a commonly used variant that allows for a software product to be linked to by non-GPL software. Unfortunately, the exception does not apply in the reverse direction. Not being able to meet the terms of the license does not excuse you from the terms of the license. What does this mean for me (a mod developer)? If you have released a mod for KSP licensed under the GPL or Lesser General Public License (LGPL) you could be found to be in violation of the GPL. Violating the GPL could open you up to the following risks: You risk litigation from developers of any GPL-licensed software/libraries that you are using in your mod. You risk litigation from the Free Software Foundation, who have sued developers in violation of the GPL in the past. You risk litigation from end-users for a breach-of-contract. Your code is not actually under license of the GPL, meaning anyone wishing to contribute to, or build on the work of your mod opens up the risk of litigation from yourself or other upstream developers. What can I do to fix this? Relicensing your project under a non-FSF license Relicensing your project under a non-FSF license is possible if, and only if, your source code does not contain any work by other authors licensed under the GPL. I like the Mozilla Public License 2.0 (MPL 2.0). Like the GPL, it is a copyleft license. However, the copyleft is not as strong, allowing for a "greater work" to be made using software not covered under the license, such as Kerbal Space Program. The main feature of the MPL is that it is licensed on a per-file basis, meaning that while any changes to your source code must remain MPL licensed, new functionality created in new files is only assigned the MPL if the author decides to do so. You may also choose to relicense your work under a more permissive license, such as the Apache License, Version 2.0 (APL 2.0). As a bonus, both MPL 2.0 and APL2.0 are compatible with the GPLv3, meaning that if the developer of a GPL licensed software program comes across your code, they are free to include it in their program. I strongly discourage using a Creative Commons license for any open source software project, because they are not open source licenses in the first place. The Creative Commons licenses were not designed for software distribution, and even if you use a CC-BY-SA license, there is no requirement to release the source code of a derivative work. Additionally, the more restrictive versions of the Creative Commons licenses such as NonCommercial and NoDerivatives may have unintended consequences, such as banning YouTubers and Twitch streamers from using your mod in their playthroughs. If you relicense your project, you are still able to incorporate third-party libraries licensed under the GNU LGPL, assuming you do not modify them. Unfortunately, you will no longer be able to use GPL licensed code snippets/libraries in your mod, due to the strong copyleft protections. Relicensing your project by adding an exception to the GPL/LGPL Once again, this option is only available if your source code does not contain any GPL licensed work from any other authors including any fellow co-contributors. It is possible to add an exception to the GPL under section 7 of the GPL. However, I do not recommend it, just as I do not recommend making up a bespoke license since the lack of legal scrutiny makes the software unusable by other developers. If you were to do this, you could probably add an exception claiming that KSP is considered to be a system library for the license, or one allowing linkage to Kerbal Space Program. I will not go into the details of how to do this because I am not a lawyer. I'm currently in the process of reaching out to both Take-Two and the FSF in regards to an acceptable exception, and if anything comes of that, I'll post it here. Oh no, my project has co-contributors, or uses a library licensed under the GPL! There are a few options for you here: Contact all contributors to the project and any GPL licensed libraries, and ask their permission to relicense your project or to add an exception to the GPL. If they ALL agree, you may proceed with one of the above relicensing options. If you are using a GPL licensed library, consider replacing it with a permissively licensed alternative. If you cannot get in touch with a co-contributor/library maintainer, or they refuse to relicense their software, you may rewrite their code with your new license. Be extremely careful when doing this, the changes must be significant enough as not to create a derivative work. I recommend deleting all of their code, and even the surrounding and calling code, to ensure you may apply the updated license. If using the MPL, you should delete the file containing the code and re-write it from scratch. This is an excellent opportunity to refactor the source code of your mod! If you cannot do any of the above, you are legally required to cease distributing your mod. Thank you for taking your time to read this. Once again I am not a lawyer, and the contents of this post are merely my opinions and should not be considered to be/interpreted as legal advice. If you have concerns about your specific situation, I'd recommend you talk to your lawyer. I will respond to replies in this thread with my personal, unqualified opinions.
- 126 replies
-
- 2
-
- licensing
- not legal advice
-
(and 3 more)
Tagged with:
-
i have been crating a mod lately i was making a generator that turns uranium into energy i was editing some stuff and i came across this MODULE { name = ModuleResourceConverter ConverterName = Generator StartActionName = Start Generator StopActionName = Stop Generator FillAmount = 0.95 AutoShutdown = false GeneratesHeat = false UseSpecialistBonus = false what does the fill amount mean?