NermNermNerm

Members
  • Content Count

    65
  • Joined

  • Last visited

Community Reputation

27 Excellent

1 Follower

About NermNermNerm

  • Rank
    Director of Dangerous Activities

Recent Profile Visitors

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

  1. I haven't had a whole lot of time to devote to the mod in the past few weeks, but I just pushed an update that includes bugfixes for the issues I've found so far in my own playthrough. The highlights are some performance problems with bigger bases, particularly noticeable in the editor. I also worked out some kinks with the crew requirement module. At present, my career playthrough is progressing along. I've just finally managed to unlock T3 hydroponics and T3 production &c. on Minmus, T1 on Gilly and Mun, and most of the way through T2 on Duna. I'm happy with the fact that my base on Minmus is blocked for lack of T4 Kerbals or specialists. I've looked at adding specialists, and I think I'll do that next. It looks like a trivial problem to solve with ModuleManager, but maybe hard to do right. I'll have to study it a bit before putting it into a release. The next thing to do is to start in on requiring rovers to fetch stuff to support T2+ production. This feels like several weeks of work at my current pace. In my playthrough so far, I'm starting to feel like the research areas are too granular. In terms of my own personal play, I stay at the body until all the various kinds of body-specific research are done, then I send the next-generation base. That being the case, why not just lump them all into one research category? That'd be the practical thing. In terms of fun, I don't know. I kinda like checking in on my base from time to time and see some kind of progress being made. It all makes me think there should be a different model for research -- maybe it could be lumped together, and maybe there could be milestones on the way to the next tier. Perhaps there could be mini-missions that could be performed at the body to help advance things along? Please post your feedback on using the mod. Unlike a lot of other mods, this mod has nothing to do with practicality, it's about fun, and that's a hard thing to pin down.
  2. Progressive Colonization System v0.0.5 @ 2019/2/16 This mod provides a simple life support system and a production model that doesn't require mad slide-rule skills to understand. But core to the whole idea is the "tiered" model for production. When you first go to space, you can get by on stored snacks. When you want to stay out there a while, you'll want to look into producing food in space, and that's going to take a while. New "Tiers" of production are unlocked by actually producing and consuming stuff produced in space. This mod is designed to encourage you to build a variety of ships. To research agroponics, you'll need orbital space stations. To research off-world agriculture, you'll need to land a farm and no, all that stuff you learned about agroponics isn't going to do you a bit of good on the surface. To get an idea of how "Tiers" work, just look at the life support consumable, "Snacks". If you fill a container with snacks on Kerban, it's "Kerban Snacks". A kerban will eat one "Kerban Snacks" every day. Let's say you have a "Tier 0" Agroponics module on this ship. Given a little fertilizer, it can produce "Tier 0" "Agroponics Snacks". Tier 0 snacks are far from haute cuisine, but nevertheless Jeb is willing to take one for the team. But he's got limits; Jeb will be willing to consume only up to 20% of his daily snack quota on Tier-0 quality snacks. "Tier 1 Agroponic Snacks" are tastier, and Jeb would be willing to take that as 40% of his diet. But to be able to get out of the tier 0 kit, Jeb's going to have to choke down quite a few of those tier 1 snacks and Bill's going to have to spend some time trying to make them better. Tier-1 is unlocked by kerbals consuming Tier-0 snacks and lab research on ships equipped with Tier-0 kit. Once Tier-1 is unlocked, nothing changes on board Jeb's vessel - it still has the "Tier 0" equipment. A new vessel has to be designed that includes the new tier of agroponics modules. How Do You Start? Well first you have to download and install the mod (CKAN or the links below). Also, this mod is incompatible with any other life support mod. You can use it with USI mods (as long as you disable USI Life Support), but this mod is really meant to be an alternative to that mod. This mod doesn't come with a rich supply of parts, so it depends on a couple of mods with great varieties of parts for building orbital stations and planetary bases, Stockalike Station Parts Expansion Redux and Kerbal Planetary Base Systems. Get those too. Early gameplay is not impacted much by the life support modifications - your kerbals won't get mad about not having any snacks for 7 days, so you can get your basic science unlocked in career mode by the usual routine of trips to Mun. Minmus is a bit of a problem since the round-trip times there are longer. Once you're ready for that voyage to Minmus, find a container and select "Snacks-Tier4" as the content. Then mash the Cupcake button on your toolbar - that will bring up the life support calculator and you can see if you're going to have enough food on board for the trip. After you launch, the cupcake button will still be there for you to keep track of how the supplies are holding out. How about a Space Station! Get the Hydroponic Lab part unlocked in your science tree and head to the VAB. For this vessel, put in the Hydroponic lab, and add storage for Fertilizer (again, go with Tier4) and Snacks(again, Tier4). And of course, check that cupcake button to see where you stand. Strap some boosters onto that crate and git it up to LKO! As we said above, the more of those snacks you pack down, the faster the research progresses, so make sure Jeb has plenty of friends. Once you get it up there, you can see from the Cupcake button how long you've got until you will need to resupply the base and how long it'll take until you break into the next tier. How about a Mun Base! Right, this is trickier because you'll not only want the farm part (look in the Life Support category) but also a resource gatherer and a fertilizer factory. These parts look identical to the stock parts (because the author failed art class) but have different innerds. Be sure to look hard at the parts in the VAB - there are more details there about how the parts work, but at a minimum, you'll need Farms, drills, a fertilizer factory and, if you feel it, a factory to make Shinies, which will help defray the cost of the whole trip if you can haul them back to Kerban. Again, the Cupcake button will help you understand what the requirements are. Note that you can't build body-specific things (like farms & factories) until you've actually returned a ship from there. Also, researching farming on the Mun doesn't do anything for Minmus - that's a completely separate problem. So this Mod's pretty New Eh? Indeed. In its current form, it's playable, and it'd be great to get some feedback on how it is to play. There's only one big gameplay piece that's planned and not done - and that involves resource gathering. Right now, there's just the drill part at the base. In the future, the intent is that in order to produce at and beyond Tier2, the stuff around the base won't be good enough. You'll have to have a rover (or whatever) to go out and gather special resources from time to time. In order to find that stuff, you'll need a Resource Scanner in orbit. That Resource Scanner part is already in the mod, it's just pointless right at the moment. If you're enjoying the mod, be sure and Tier-up that orbitial scanning part so that when we get that mechanic done you'll be ready to use it. Download: GitHub Source: GitHub
  3. Can somebody point me to documentations about the wheres and hows of the layout of folders within the GameData folder? I've got these questions: Having just discovered the wonders of ModuleManager, I've found I can inject my stuff into other mods. This is great stuff. But I see lots of examples of mods that actually place files in the other mods' GameData subfolder. What's up with that? (In my case, I don't need to, I don't think. I'm tweaking .cfg files, that's all). In other cases, I see a complete sub-image of the other mod, up to & including DLL's. Really? Shouldn't I just declare a dependency to CKAN and let ModuleManager figure it out? Is packaging ModuleManager.DLL still a thing? Finally, does anybody have automated tools for releasing to GitHub, SpaceDock, CKAN? Seems like they ought to exist...
  4. I'm a new modder too, so I think I can give you the answer: No. KSP can be extended in so many wildly different ways that any one small mod would very probably not be relevant for anything you'd ever want to do. KSP has poop for documentation, and the API's are all over the place. You live and die by examples. As an illustration of this point, I found people using 3 different API's for getting all the parts of a ship in the VAB. The most obvious thing (if you just look at the API docs) actually returns not only the parts that are in the ship, but those that are just dragged off to the side. You just gotta know. And the means of getting parts in the editor are completely different than what you do in the Flight scene, and what you do in the flight scene varies depending on whether you're talking about loaded or unloaded ships. There's no end of stuff like that. There are things that make some sense after you've been at it for a while, but you never know where the next land mine will be. What you need to do is get good at finding other mods that do similar things to what you want to do and reverse engineering them. Get good at searching for API's on github. And then come back here when you get totally stumped. I never would have guessed that 'KerbalInstructor' was any kind of way to get a talking kerbal in my dialogs, but once Nightingale pointed the way, I was set to go. I bet there's another way (something similar to how the Kerbals in the lower right of the screen are drawn), but if there's no example of that, I've got absolutely no shot at discovering it myself. I would say that the tutorials I found in the sticky posts here are the forums have been helpful in getting a basic grounding. I've not yet found one that was uselessly out of date, either. If you haven't done it already, you should follow the post on how to set up the Unity debugger. That's an immense help in mod development.
  5. Does anybody have examples of how to create a non-modal dialog that stays more or less where you put it? (That is, if you swap from one vessel to another, it should stay put.) I've hacked something up, here: https://github.com/SteveBenz/ColonizationByNerm/blob/30b389db8fa8bac559f2bdb3bebddcf088ed54cf/src/LifeSupportStatusMonitor.cs#L146 Which sorta does it. If you know a thing or two about this stuff, I'd love it if you'd pop over to that code and leave comments to all the "I've got no idea what this does" and "shenanigans" comments... If anybody can point me to non-stub documentation for PopupDialog.SpawnPopupDialog's arguments, that'd be great too.
  6. Took me a while, but I managed to figure out how to use the KerbalInstructor technique in the new dialog framework: https://github.com/SteveBenz/ColonizationByNerm/blob/master/src/PopupMessageWithKerbal.cs That's a class that will display a quick modal dialog with a message in it.
  7. I'm not sure where to go to report this, but as I'm developing a mod I noticed something that's almost certainly a smallish bug in KSP itself. PartModule.OnInitialize() gets called every time you create a part in the editor... Except for the first part in the vessel. (So if you have a modded part that relies on OnInitialize, that part won't work right if it's the first part on a vessel.)
  8. NermNermNerm

    Thinking about a new Colonization mod

    I spent much of the holidays grinching it up at my computer building the mod. There were several "you should start here" kind of posts, but the trouble with that is that the "tier" thing is absolutely central to the idea, and there's nothing remotely like it out there. But I have implemented the hydroponic/farming scheme and the tiered-consumption code - the code is here https://github.com/SteveBenz/ColonizationByNerm/blob/master/src/TieredProduction.cs - it's somewhat ferocious, but also decently unit tested. The mod is playable at this point! I'm also pretty confident that I won't need to make any save-file-breaking changes to the thing to implement the remainder. I , which means that you can with the mod as it is, build orbital bases and progress through the tiers. At this point, I'd make a release, but I'm waiting on an "OK" from @RoverDude to use the art from several of his modules. The project is here: https://github.com/SteveBenz/ColonizationByNerm I haven't created a compiled release yet, but a highly motivated person could try it out. I'll try to keep 'master' clean until I can get a release out. I specifically have it coded at this point to not rely on anything external - installing it is just copying the stuff into GameData, and uninstalling it is removing it. Integration with other mods will be towards the end-game. (The ReadMe.md has my development plan and the completed/not-completed stuff). The big-ticket remaining items are: Having to rove to collect resources (I'm edging towards the idea of making this a Tier-3+ requirement - just in the playing, your grip on the land is pretty tenuous at Tier1 and you don't need the extra challenge) The Shinies chain (which seems pretty simple, compared to #1) A calculator in the editor If you play it now, you'll notice these tedious but non-blocking things: The status panel is fantastically fugly (but the data on it is pretty good). (I learned how to make a dialog and then learned that there's a better way) All the parts are lumped under the "Science" category and the models are dead copies of MKS or Stock things (but I hope you'll find the descriptions accurate, informative and amusing). This is just until I can get my own art or at least skins and can find out how to make a custom category or something. I made it so that you have to have a ship return from a body to be able to build a surface base there. That's true even in Sandbox - so if you wanted to test it out that way, you should just cheat yourself up a landing there. It is incredibly painful to set the target body for each part and way, way too easy to launch a ship without one part set correctly. (If you make that mistake, you can save-file-edit a fix for yourself quite easily, but it's super-frustrating, I know) Some changes have come from the time spent developing and time spent playing around with it: I've decided to hold off indefinitely on the "Goodies" thing. I've come to agree with the idea that one life-support chain is enough. I liked the "You can't do Tier3 & Tier4 near Kerbin" idea so much that I decided to apply it to Shinies too - you can only get "Tier2" shinies at Mun & Minmus - "Tier3" is the limit at Duna, Ike and Gilly, Tier4 is the limit at any of the Julian moons. (So you gotta go to Eloo, Mojo or Dres for Tier5 shinies and the mighty style points you will earn from that) One thing that I don't like is the feeling "Why should I build a surface base on Mun?" And really there isn't one right now other than there's nothing much else to do while waiting for your first landers to return. One idea I had was to make it so that if you're unlocked Tier2 anywhere that it makes it so that researching T2 elsewhere is easier.
  9. I know that ScreenMessages.PostScreenMessage is a thing - but I'd like something fancier, like the tutorial messages - where it's a full-on dialog with a picture of Wernher Von Kerman in the corner. Anybody know how to do that?
  10. I'm starting to get the hang of these PartModules - is there a stock part module that handles the notion that it takes a power-load to do its thing, and that the thing can be toggled on and off? I could go with a Resource Converter, with just "Electric Charge" as an input and no outputs. That seems like a good way to go, but it seems like this is probably a common need and there's something else out there like it.
  11. This probably isn't "the" way, but it's "a" way: you could look for a shift backwards in system time - Planetarium.GetUniversalTime() -- I suspect that might also pick up on loading quicksaves, however... But maybe that's a good thing for your scenario.
  12. I'm not sure I understand what you mean here - [KSPAddOn]class foo does indeed control the lifetime of 'foo' - but what I'm asking for is how, if I'm in 'bar', can I get the correct instance of 'foo'.
  13. I'm new to KSP modding, and am trying to figure out what is the best way for one component to talk to another. Mainly I've been following the example from @RoverDude's mods, which look to be the most polished of the code I've seen (and as a result, easiest to follow). But even within his mods there's variance. Maybe there's a rhythm to it? Maybe it's just some is older/comes from different sources? Anyway, one method is this: public class LifeSupportScenario : ScenarioModule { public LifeSupportScenario() { Instance = this; } public static LifeSupportScenario Instance { get; private set; } And the other is public class LifeSupportManager : MonoBehaviour { // Static singleton instance private static LifeSupportManager instance; // Static singleton property public static LifeSupportManager Instance { get { return instance ?? (instance = new GameObject("LifeSupportManager").AddComponent<LifeSupportManager>()); } } (And if anybody cares, that implementation could be made a little nicer with .net's 'Lazy' class). Unity does a lot of reflecto-magic with classes, and I, at one point, thought that the static instance object got some of this love. I'm not finding any clear evidence of it in the Unity docs, but that could be because my search-fu on Unity stuff is not all it could be.
  14. Just did - doesn't work. WTH. These are grownups making Unity right? Stick with your version.
  15. Solved - I struck a land-mine. I had copied an example from something that had KSPAddOn.KSPAddOn.once = true.