[Suggestion] Improvements to agriculture

  • Warning: This post may contain spoilers for the agriculture system, derived from the source code. I've tried to avoid it, but read at your own risk.


    There's a rather nasty post over in the agriculture engineering forum that essentially makes the point that agriculture right now is painful to work with. While I disagree with the post's tone, that specific point is true. Having spent several days as a farmer (and enjoyed much of it!), I've got a bunch of suggestions.


    The first thing I'd do is drop the veil of secrecy. This is more of a personal preference than the rest of my suggestions, but I think it's a good idea in general: This is an industrial mod; the primary audience is interested in using known mechanics to their fullest. Anyone who's really interested in "discovering it for themselves" won't be looking at the forum or the wiki anyway, because that goes directly counter to their idea of fun. All the secrecy does is frustrate the people who want to understand the system but don't have the programming knowledge to decompile and read the source code.


    Trampling needs work. IC2 crops are way more fragile than base Minecraft crops. For instance, you can crouch and stand up all day without breaking Minecraft crops, but do so on your IC2 crops (say, because you were sneaking and accidentally opened the Cropnalyzer instead of getting the reading of a plant), and you'll probably break at least one. This is a frustrating result that's counterintuitive to Minecraft players and often not entirely under their control.


    Further, I'd like to see a pair of gardening shoes that allow you to walk normally without damaging IC2 crops (basic Minecraft ones, too, if it's doable). They would present an interesting alternative to quantum boots for high-altitude farming: be safe walking on your crops, or be safe if you fall off the edge.


    Managing seeds is a royal pain To fully analyze one seed, you need three hotbar slots: Cropnalyzer, battery/crystal, seed. It then takes at least 11 clicks to analyze the seed: One to open the interface, two to put in the battery, two to get the seed's name, two to get the tier and discoverer, two to get the tags, and two to get the GGR statistics. Add another four clicks if you don''t want to hunt for your battery and seed after the cropnalyzer launches them. If you have more seeds on your hotbar, it takes an additional 10 clicks to analyze each one. And don't think that ConvenientInventory is going to help you with shift-click: The Cropnalyzer interface is a complete mystery to it, even though it handles IC2 machines just fine.


    Nor does it get better once you've researched a seed. The seed's statistics aren't shown in the tooltip, so you need to re-open the Cropnalyzer and drop in the seed (no battery requred) to find them again. If you happen to have a double-chest full of seeds, well, have fun re-analyzing all of them and trying to keep track of which you put where. (For the moment, I'm using column headings to mark the seed's total stat level: dirt for 1-64, gold bars for 65+)


    Here's a good way to fix it:


    • Put the GGR statistics, if researched, into the seed tooltip. Further, if possible, make right clicking with the seed on thin air display these statistics in chat, similar to the Cropnalyzer. (This is so that you can more easily compare seeds-in-hand with researched plants.)
    • Remove the seed-analysis function from the basic Cropnalyzer. Bonus points if you add additional statistics to its readout for crops (both the water/nutrient storage and the overall nutrients, hydration, and air quality), even if it means making it use energy like other electric tools. An advanced version that analyzes existing plants for huge energy cost would be awesome, even if it needed Iridium Plate and a Lapotron Crystal.
    • Create a new machine, the Seed Analyzer. The machine functions like the basic-tier machines, but has a configurable "analysis level" that sets how far it will research the seed. (Using a new type of machine upgrade for this would work, if you're so inclined.) The amount of time and energy required to analyze a seed depends on its current analysis level and the target level. The energy values can be copied directly from what the Cropnalyzer uses now.
    • Create a new machine, the Seed Library. The Seed Library has a 3x3 inventory that can be accessed even when unpowered. When given a small amount of power, the remainder of the interface is unlocked, allowing you to transfer seeds between the visible inventory and a hidden inventory with a large number of slots (I'm thinking 100, but it doesn't necessarily need a limit as long as it's unwrenchable while it contains seeds and destroys seeds if broken.). Inputting seeds is done with a simple button press, but for output, you have a bunch of options:

      • Seed type: Has a button for each of the stored crops, plus Unknown and All. Multiple can be selected (e.g. Wheat + Unknown), but All deselects the others and vice versa. Defaults to All
      • Growth/Gain/Resistance/Total: Each one has an entry field for minimum and maximum values, plus Unknown, Highest, and Lowest. Highest or Lowest can only be set once, as it sorts the output seeds to give the 9 highest/lowest values for that statistic. Defaults to the full range + Unknown.
      • As you change the output options, a count of matching seeds is displayed, allowing you to zero in on the seeds you want to get out. Press the output button to retrieve the seeds you requested. When more than 9 seeds would be output and Highest or Lowest isn't set, the machine can output an arbitrary set of 9.


    • If the Seed Analyzer receives a redstone signal, it will automatically analyze seeds from neighboring Seed Libraries. This is especially important if Buildcraft can't see the Seed Library's hidden inventory.


    There are probably other changes that would be good, but what I've suggested (along with the bugfix I posted elsewhere) addresses the largest and most aggravating problems with the current agriculture system. Once those are out of the way, the other strengths and weaknesses of the current system will be much more obvious. Right now, they're masked by the frustration that the system produces.

  • Considering that Al said posting about the Source Code is bannable, and how you said you're talking about it...


    Not touching this with an electrolyzed 10 foot pole.

    ...What? There's no pineapples here.


    GENERATION Pineapple: The first pineapple you see, copy it into your sig on any forum and add sqrt(-1) to the generation. Pineapple experiment.

  • While I fully agree there is a lot of work that can be done, he did say not to talk about the code.


    He also said he's still working on the whole agricultural aspect as a whole, too.

    ...What? There's no pineapples here.


    GENERATION Pineapple: The first pineapple you see, copy it into your sig on any forum and add sqrt(-1) to the generation. Pineapple experiment.

  • Not much point discussing it amongst ourselves, though. If he wants the post and/or me gone, he doesn't need my help to do so. And if not, I've no interest in removing either. So let's just wait and see what his reaction is.

  • For what it's worth, I'm actually working on the seed analyzer and seed library as a mod. I may do a quick class override for the tooltips (and possibly Cropnalyzer), too, assuming I can convince it to build properly.


    I think the seed library will also have a redstone trigger: Ordinarily, it will automatically absorb incoming seeds into the main inventory if the GUI isn't open. If it gets a signal, it will instead automatically eject seeds into the visible inventory. This allows for easy piping: feed seeds in with no redstone to fill, apply a signal and extract to empty.

  • Although you may have looked at the source code, most of the things you talked about were not about breeding, which I believe were what Alblaka wanted to keep secret the most. Honestly, I see nothing wrong with your post. I also agree with most of your post. Alblaka said he has something in the works for Agriculture, considering it's not even a finished part of IC2.

    I5 2500K | 4GB Cosair Vengence | Radeon 6850 | Rosewill 600w PSU | GigaByte Z68MA | CM Elite 311 | Dell 19" 720p (upgrading soon!)| Hitachi 500 GB 7200 HDD | LG 24X |Windows 7 (Genuine!)
    Alblaka in a Lightning Rod suggestion thread...[/size]

  • i hope IC2 updates to MC1.2 soon, i had been using an old IC2 the past 3-4 months and couldn;t grow crops and have REALLY been wanting to see what they are all about and see what i can do with them. those and BuildCraft stripes Pipes. i'm kind of curious if i can make a half automated IC2 Crop grower/analyzer and catalog each of them in chests with set values determined by dirt and stone. i really wish we could personally name the plants thought, i've heard having to re-analyze the plants gets really annoying.

    "the more people i kill, the better the chances are that i got the right one" ~Goblin Assassin: MtG

  • Oh, man, you just gave me a *great* idea. Give the UI a row of buttons: T B N S E W. Clicking one saves the current query for automated output in that direction. And thinking about it, I don't even need the redstone hack I'd thought of before. I can flat-out lie to Buildcraft (and anything similar) about what's in the inventory and just happily import/export seeds as they're piped.


    End result being that you can have automated seed distribution by using seed libraries in place of diamond pipes. Add an "output if fully-scanned" library with an analyzer attached, and presto, you can handle unknown seeds.


    I have to get this working today, if possible. It's too awesome to wait.

  • Oh, man, you just gave me a *great* idea. Give the UI a row of buttons: T B N S E W. Clicking one saves the current query for automated output in that direction. And thinking about it, I don't even need the redstone hack I'd thought of before. I can flat-out lie to Buildcraft (and anything similar) about what's in the inventory and just happily import/export seeds as they're piped.


    End result being that you can have automated seed distribution by using seed libraries in place of diamond pipes. Add an "output if fully-scanned" library with an analyzer attached, and presto, you can handle unknown seeds.


    I have to get this working today, if possible. It's too awesome to wait.




    once you get it working you should Youtube a video of your set-up, i'd like to see how your idea is working and if i can improve it in any way. also, is IC2 updated for MC1.2 (that i'm unaware of) or are you still using an older version?


    also you should look up my thread on Seed Bag Archive.


    http://forum.industrial-craft.…?page=Thread&postID=43671

    "the more people i kill, the better the chances are that i got the right one" ~Goblin Assassin: MtG

  • Okay, "today" was clearly a programmer's daydream (as are most of our time estimates...). That said, I've got the vast majority of it done, and should be able to finish with another coding session or two. I've got two working machines in most respects, but there are a few important bits of the seed library GUI (like being able to request unidentifed seeds) that just don't exist yet.


    I did get the seed bag tooltip override working. Happily, I didn't even have to make it an IC2 class replacement; it'll work just by installing the addon. Minecraft complains slightly (in the debug/ModLoader output) about clobbering the old item, but does exactly what I asked it to anyway.


    The cropnalyzer nerf I've elected to ignore for now. It shouldn't be too hard, but it seems like more work than it's worth to stuff it into an addon. Maybe later.

  • i think some of the inconveniences of the agriculture system would be worth it if you didn't need to go digging for redstone first(to make extractors and recyclers) perhaps a redstone free way to manipulate the nutrient and hydration should be added. this would also mean you could use industrialcraft in superflat or skyblock with out cheating(step one would be "grow redwheat")

    true balance is impossible in video games the best one can hope for is to make it really hard to guess which of 2 choices are better.
    and remember kids "NEVER UNDERESTIMATE THE POWER OF JOKES!"

  • for the hydration level, couldn;t you use an Irrigation Terraformer? :)

    "the more people i kill, the better the chances are that i got the right one" ~Goblin Assassin: MtG

  • SeedManager is available! There's one more usability feature in the pipeline, but I've had enough for this session and it's in a good place, so enjoy!


    For the nutrient/water levels, see HelperCrops.

    yeah that generally seems to be my basic idea, well done. i was kinda looking for something closer to the Architech Table in Buildcraft but well done.

    "the more people i kill, the better the chances are that i got the right one" ~Goblin Assassin: MtG

  • The key difference there is that a Buildcraft blueprint is nothing more than its name; you still have to provide the raw materials yourself. IC2 seed bags are valuable items, because you can't just "assemble" a given seed from raw materials. Transferring a 31/31/7 seed into another world is more akin to giving yourself a diamond there than pulling out a blueprint.

  • i was mainly just refering to the general UI and the "Save/Storage" method.

    "the more people i kill, the better the chances are that i got the right one" ~Goblin Assassin: MtG