codetaylor / pyrotech-1.12

An early game mod with new primitive devices, combustion machines, smelting mechanics, storage options, tools, torches, advancements, and absolutely zero GUIs -- with exception to the substantially complete, mostly illustrated, and charred guidebook.
https://pyrotech.readthedocs.io/en/latest/
Other
52 stars 20 forks source link

Add forging mechanics #95

Open codetaylor opened 5 years ago

codetaylor commented 5 years ago

Some rough ideas:

Some questions to explore:

This is still pretty fresh and I'd love to hear your ideas on this.

codetaylor commented 5 years ago

Or maybe, instead of being a subtractive process, it could be an additive process. So instead of taking one ingot and removing pieces, you'd maybe heat nuggets (or partial ingots or something) and place them on the anvil pattern to additively form the shape. You'd place a molten nugget, then hammer the nugget until it becomes part of the shape.

I just went and read about how Forgecraft does it and they use an additive process: https://sites.google.com/view/forgecraft/home/wiki

If we went with an additive process, I think it would be easier to have recipes that require more than one ingot of metal.

If we used a 3x3 grid, players would already be familiar with the tool head shapes because they could be the same as vanilla recipes. That would eliminate the need to learn new shapes or to reference something while crafting. Conversely, it might also limit the creative freedom of recipe patterns.

If an additive system is used, should it allow using more than one type of metal in one recipe?

What about a basic 3x3 smithing anvil, and an advanced 5x5?

Darkehart commented 5 years ago

A really old mod with a system like this, Minefantasy, had a nice horizontal gauge that would pop up while you were hammering something, so it was absolutely clear whether or not you had messed up. A gauge like that may or may not be what you go with, but that clarity, knowing right away "I heated this too much" or "I let this cool too much" is really important, in my opinion. If it's possible to mess up, the user shouldn't wonder how it is they messed up.

Other than that, I suppose I'd have to play with it to really say, but I like the idea of keeping the basic 3x3 grid and shapes, at least for basic tools.

As for Tinker's Construct integration, the thing about TCon is that it's all about casting liquid metal, whereas Pyrotech thus far has been about hammering blooms and so forth. I feel like the two coexist fairly well already if you simply configure TCon's smeltery/melter to only accept ingots or other processed metals. That said, hammering out a TCon tool part could be an option.

I don't think mixing metals on the anvil is going to go very well. It would be better to have an alloying mechanic that stands on its own, in my opinion. (I'm currently playing a self-made pack in which I use Tinker's Complement to make alloy ingots out of materials I processed via Pyrotech and it feels like a good progression.)

codetaylor commented 5 years ago

@Darkehart Thanks for the feedback!

I'm not familiar with Minefantasy, but found this when looking at some screenshots of Minefantasy 2: image

If it's possible to mess up, the user shouldn't wonder how it is they messed up.

I agree with this completely.

[...] the thing about TCon is that it's all about casting liquid metal, whereas Pyrotech (Pt) thus far has been about hammering blooms and so forth.

I don't really have any intention of doing any liquid metal or casting with Pt at this point. I feel like Tinker's Construct and Tinker's Complement already do that really well. Oh, and Embers has a casting mechanic too if I recall. I think the Tinkers' compat might be better suited to an addon or extension mod.

I don't think mixing metals on the anvil is going to go very well.

I also don't plan on doing any alloying with Pt. When I was talking about mixing metals in the anvil patterns, I was thinking about the patterns from a recipe perspective and not from the perspective of actually working with metal... and, yeah, mixing molten metals is alloying and not what I had in mind.

If Pt was going to have alloys, to remain true to the design goal of being a stand-alone, complete experience, it would need more ores and metals, and those metals would need a purpose, and ... yeah, I don't think I want to go down that road. I think an alloying mechanic might be better suited to an addon or extension mod as well.


Here's is a further iteration:

Some observations:

AnotherVagabond commented 5 years ago

(Copied from the Discord because I realized this is probably a better place for it.)

RE: Re-filling a partially full barrel. You could have excess water run out of the barrel. If there's a collector beneath, it collects it as normal, and multiple overflows can form a full bucket to be picked back up again later. Otherwise, it just drains out onto the block and is lost. You could combine this with your idea of leaking, and barrels changing blocks: say that if X amount of water has leaked out of or overflowed the barrel, that's when the block below changes (maybe with a time delay).

Maybe have a lid that can stop evaporation, as well, that way you can use a proper setup to completely remove the risk of losing water if you don't have the materials to tar the barrel yet. With a collector underneath to catch any leaks and a lid on it when you're not using it, there'd be no water loss over time. It could also work like other mods, where barrels only keep their water in them if they have a lid on.

Also, last thing for today: if you're already working on forging stuff, might I suggest a change to diamond gear? It's always bugged me that diamonds are made directly into tools, when they would make terrible tools. I always thought it would be cool to grind diamonds into powder, then smelt them along with iron to make... well, I would call it mithril because I'm a fantasy nerd, but whatever you want to call the resulting metal, and that is what has the strength of diamond tools and equipment. You could put two iron and two diamond dust into the forge to get two ingots, meaning making a full set of diamond-metal gear would also take a larger forge setup. Alternately, you could also make iron dust, mix that with the diamond dust, and put up to four of the resulting mixed dust items into the forge if you don't want to make it harder to make diamond gear.

NightmareTwilight commented 5 years ago

@Darkehart Thanks for the feedback!

I'm not familiar with Minefantasy, but found this when looking at some screenshots of Minefantasy 2: image

If it's possible to mess up, the user shouldn't wonder how it is they messed up.

I agree with this completely.

[...] the thing about TCon is that it's all about casting liquid metal, whereas Pyrotech (Pt) thus far has been about hammering blooms and so forth.

I don't really have any intention of doing any liquid metal or casting with Pt at this point. I feel like Tinker's Construct and Tinker's Complement already do that really well. Oh, and Embers has a casting mechanic too if I recall. I think the Tinkers' compat might be better suited to an addon or extension mod.

I don't think mixing metals on the anvil is going to go very well.

I also don't plan on doing any alloying with Pt. When I was talking about mixing metals in the anvil patterns, I was thinking about the patterns from a recipe perspective and not from the perspective of actually working with metal... and, yeah, mixing molten metals is alloying and not what I had in mind.

If Pt was going to have alloys, to remain true to the design goal of being a stand-alone, complete experience, it would need more ores and metals, and those metals would need a purpose, and ... yeah, I don't think I want to go down that road. I think an alloying mechanic might be better suited to an addon or extension mod as well.

Here's is a further iteration:

  • forge

    • new combustion worker (stone / refractory)
    • heats up to 4 ingots at once
    • (?) different metals become molten at different rates
    • ingots that get too hot are destroyed
    • players are damaged and set ablaze by holding a molten ingot
    • bellows greatly increases the speed of the forge
    • (?) ingot turns orange when molten
    • (?) ingot reverts to original color when cooled
    • (?) ingot has fire particle effect when overheating
    • (?) ingot turns white when overheating
    • (?) player has n seconds to react to overheating ingot, n = fixed, predictable duration for all metals
  • smithing anvil

    • has 3x3 grid
    • molten ingots cool on the anvil
    • cooled ingots can be reheated
    • (?) different metals cool at different rates
    • lay out molten ingots in grid using tongs
    • bang on anvil with hammer to complete recipe
    • ingots must be molten to complete recipe
    • completed recipes give molten part
    • molten part remains molten until quenched
    • players are damaged and set ablaze by holding a molten part
  • barrel, see #84

    • made of wood
    • holds 1 bucket of water
    • collects rainwater
    • leaks / evaporates, ie. slowly loses contents over time
    • changes blocks underneath it over time, ie. cobble to mossy cobble
    • (?) tarred barrel doesn't leak
    • consumes a little water to quench a molten part

Some observations:

  • The barrel needs to be easy to fill when it has a partial bucket of water in it already.
  • To make an iron chestpiece, a player would have to run two forges in order to heat all eight ingots at the same time.
  • A player could use a forge without a bellows to simply keep ingots in a molten state without increasing the heat of the ingots.
  • The default metal heating / cooling times must be strict enough that the mechanic requires a player's attention, but lenient enough that it is enjoyable.
  • If different metals cool at different rates, it would make working with metals that cool faster more difficult.

When Quenching maybe add steam particles/sound. Also if you really want to improve the forging mechanic, you could add sand to the barrel that cools much slower, and a heating box that requires fuel and is the slowest. And when it gets cooled it gets a trait depending on how you cool it that improves the tool in different ways. After all, quenching is only one of many cooling processes, all which have their own purpose.

(Copied from the Discord because I realized this is probably a better place for it.)

RE: Re-filling a partially full barrel. You could have excess water run out of the barrel. If there's a collector beneath, it collects it as normal, and multiple overflows can form a full bucket to be picked back up again later. Otherwise, it just drains out onto the block and is lost. You could combine this with your idea of leaking, and barrels changing blocks: say that if X amount of water has leaked out of or overflowed the barrel, that's when the block below changes (maybe with a time delay).

Maybe have a lid that can stop evaporation, as well, that way you can use a proper setup to completely remove the risk of losing water if you don't have the materials to tar the barrel yet. With a collector underneath to catch any leaks and a lid on it when you're not using it, there'd be no water loss over time. It could also work like other mods, where barrels only keep their water in them if they have a lid on.

Also, last thing for today: if you're already working on forging stuff, might I suggest a change to diamond gear? It's always bugged me that diamonds are made directly into tools, when they would make terrible tools. I always thought it would be cool to grind diamonds into powder, then smelt them along with iron to make... well, I would call it mithril because I'm a fantasy nerd, but whatever you want to call the resulting metal, and that is what has the strength of diamond tools and equipment. You could put two iron and two diamond dust into the forge to get two ingots, meaning making a full set of diamond-metal gear would also take a larger forge setup. Alternately, you could also make iron dust, mix that with the diamond dust, and put up to four of the resulting mixed dust items into the forge if you don't want to make it harder to make diamond gear.

Instead of grinding it down, adding diamond shards makes much more sense, especially since he doesn't plan to add alloying to the base mod AND it's how you would do it in real life. On the topic of adding shards, maybe also make it possible to add obsidian shards, as making tools from just obsidian doesn't make sense. After all, obsidian is just impure glass with a very high melting point.

Xorbah commented 5 years ago

Everything Nightmare mentioned up above is exactly how I envision it being done.

AnotherVagabond commented 5 years ago

Oh right, I forgot diamond shards were a thing in the mod already. I haven't gotten to the end of the modded stuff yet, I'm still bouncing around between a bunch of different mods to figure out what I like (I'm still new to modded Minecraft). That would definitely keep things simpler. Maybe some way to just add the shards to the iron as it's being heated in the first place to simplify it even further? Of course, diamond-metal is just my own personal pet idea anyway, I don't think the mod really needs it, it was just a random thought.

codetaylor commented 5 years ago

@AnotherVagabond Thanks for your feedback and ideas!

You could have excess water run out of the barrel. If there's a collector beneath, it collects it [...]

I like the idea of allowing collectors to fill with water that has either leaked from the barrel over time, or that is overflow from a fill. If I understand your proposal correctly, the barrel would always accept a bucket of water if the barrel was not completely full. If the barrel can't contain the full bucket of water, any overflow would be added to a collector directly below. If the collector was missing, full, or contained a different fluid, the excess water would simply disappear, or show up as a non-source liquid block on top of the barrel and quickly dissipate. I don't think the default water loss should happen too fast. It should maybe happen faster in hot biomes if you don't have a lid.

By the time you can make a Stone Collector, though, you can get tar. Once you can make the Masonry Bricks, you can make the Stone Collector, Stone Sawmill, Soaking Pot, and Tarred Wood. With Tarred Wood, you'd be able to make the tarred version of the barrel. I feel like there would only be a short period of time where the leaky, wooden barrel and collector combo would be useful.

Also, trying to think from the perspective of a player, if there are Stone Collectors, why not Stone Barrels? Why not just be able to upgrade from the Wooden Barrel to a Stone Barrel. It would have the same functionality, but it wouldn't leak and wouldn't transform the block underneath it.

A Tarred Barrel could still be useful if it didn't leak fluid, but still transformed the block below.

If we went with the wood to stone barrel progression, maybe there should be a Refractory Barrel too.

I feel like the barrels should do more than just transforming the block below and quenching molten forged items. I've been thinking about the barrels from Ex Nihilo and all of the recipes that you can make with it, but I don't think I want to add that much functionality to the barrel. I don't want to diminish the Soaking Pot.

Maybe have a lid that can stop evaporation [...]

I like this, especially from the perspective of a developer. The interaction framework is set up to handle stuff just like this.

It's always bugged me that diamonds are made directly into tools [...]

I agree, but for now at least, I want the mod to try and remain in the spirit of vanilla. Also, I'm pretty sure that the forge will just heat materials and won't actually process any recipes, meaning that it won't actually be able to process one or more things into other things.


@NightmareTwilight thanks for your input!

When Quenching maybe add steam particles/sound.

Absolutely.

[...] when it gets cooled it gets a trait depending on how you cool it [...]

I do like where you're going with this and I will definitely think about this. It would involve the design and implementation of a trait system and the subsequent implementation of the interaction with the forging system. I don't think that this is something I want to tackle at the same time as the forging system, but it is definitely something to keep in mind while designing the forging system to ensure future work can more easily be done in this direction.

[...] adding diamond shards makes much more sense [...]

If I understand you correctly, you're talking about something like laying out three molten iron ingots on the smithing anvil, then adding diamonds, and that would result in the diamond pickaxe head?

I'll have to think about that. It might feel weird, maybe, if you had to heat diamonds on the forge and bang them together on the Smithing Anvil.

Do we need a Jeweler's Anvil? That's a can of worms.

Maybe the non-metal tools should stay out of the forging playground?

[...] as making tools from just obsidian doesn't make sense.

I agree completely. I'm not shooting for a high degree of realism with the mod though. I'm going for more of a simple, fun, arcade-y sense of realism and trying to retain some cohesion with vanilla.


I had some thoughts about the barrels while writing this.

What if we changed the Stone Collector and Refractory Collector into the Stone Barrel and Refractory Barrel? They would retain their original functionality and get some new functionality.

The wooden barrel could be used early game to collect rainwater. This wouldn't really be relevant to the stand-alone Pyrotech experience, but would gain usefulness with other mods and pack design.

The wooden barrel couldn't be used to collect tar in a Pit Burn, however, for obvious reasons.

If a wooden lid were to be placed on a Refractory Barrel with a hot liquid, the lid would combust.

Barrels would not hold their contents when broken, thus respecting the usefulness of the tanks.

The wooden barrel would still hold only one bucket of water. For the other barrels to still be useful as tar collectors for a Pit Burn, I feel they would need to hold more than one bucket of fluid like they do now.

If stone+ barrels with lids were able to hold their fluids when broken, then they would need their default capacities to remain lower than the tanks' capacities in order for the tanks to retain usefulness.

If the stone+ barrels' capacity is lowered, it increases the usefulness of the drains.

These are just random thoughts, I'm not 100% on the barrels yet. The idea is there, but the exact implementation details still feel a little nebulous with respect to progression and usefulness.

AnotherVagabond commented 5 years ago

Maybe allow the tanks to combine their inventories when touching each other? That way you could have barrels have a similar inventory size, but the main draw of the tanks is that you can turn them into a multiblock style big tank, which could help with automation (especially if you add something like a faucet to allow automated fluid removal). With only 4b per tank, an automated system using that liquid would quickly run out, so a bunch of connected tanks would be a better option. Just a 3x3x3 block of tanks would be over 100 buckets, making automation much easier.

Then barrels would just be the cheaper storage method for small amounts of fluid and collecting fluids.

NightmareTwilight commented 5 years ago

[...] when it gets cooled it gets a trait depending on how you cool it [...]

I do like where you're going with this and I will definitely think about this. It would involve the design and implementation of a trait system and the subsequent implementation of the interaction with the forging system. I don't think that this is something I want to tackle at the same time as the forging system, but it is definitely something to keep in mind while designing the forging system to ensure future work can more easily be done in this direction.

For the traits, I'd go with an enchantment-esqe design, only it doesn't interfere with whether you can enchant or not.

[...] adding diamond shards makes much more sense [...]

If I understand you correctly, you're talking about something like laying out three molten iron ingots on the smithing anvil, then adding diamonds, and that would result in the diamond pickaxe head?

I'll have to think about that. It might feel weird, maybe, if you had to heat diamonds on the forge and bang them together on the Smithing Anvil.

Do we need a Jeweler's Anvil? That's a can of worms.

Maybe the non-metal tools should stay out of the forging playground?

[...] as making tools from just obsidian doesn't make sense.

I agree completely. I'm not shooting for a high degree of realism with the mod though. I'm going for more of a simple, fun, arcade-y sense of realism and trying to retain some cohesion with vanilla.

When adding shards, I was thinking of it being more like a sharpness/efficiency modifier, not making entire tools out of them, like you would do in real life. And Tinkers. Ex: a diamond tipped iron pickaxe, to mine obsidian, instead of a regular diamond pickaxe.

wizard1399 commented 5 years ago

You may also want to cross reference aether works as well.

codetaylor commented 5 years ago

I don't understand @wizard1399, can you please elaborate?

codetaylor commented 5 years ago

@AnotherVagabond The discussion of the tank enhancement has been moved to this issue: #105

wizard1399 commented 5 years ago

Aether works has a smithing mechanic, where so many hits are required to produce a piece. There are a couple of stages built into the progression. I thought you might like to play around with the mod a little to get some inspiration for your smithing system.

codetaylor commented 5 years ago

@wizard1399 Great, thanks for the clarification! :)

AnotherVagabond commented 5 years ago

So just a minor thought, RE fancified forging: crafting iron nuggets into ingots on a crafting table seems a little weird given the more realistic version of forging you're going for, so I suggest removing that recipe (and similar - even auto-detected - metal recipes, like you do with the bloomery), and changing it so that you can either put 1 ingot or 9 nuggets into each forge slot, then have a stack of 9 nuggets turn into a heated ingot. Also maybe allow hammer+ingot+anvil to handle the ingot > nuggets recipe, instead of the crafting table, like it does with the pick and shards.

Primitive-Human commented 3 years ago

I've been pondering for several weeks now how I would go about working with metals in early-game without using Tinkers Construct's smeltery. After getting the bloomery and my first few nuggets, I would either try to bash 9 nuggets together on an anvil into a plate, which could be used in recipes. Too bad, the granite/ironclad anvil only allows for a single item as input, and no greater amount. (I did remove any other anvil recipes with iron nuggets as input before adding this custom recipe, so no conflicts would occur.)

Now, I did find Tinkers Forging, which would let me do just exactly that: input any amount of items (after heating them to some temperature), then forge them with hammers into whatever shape I want. But, its author did not want to add a stone anvil (and I tried several workarounds with the config and ContentTweaker/CraftTweaker materials system to add it somehow). So, no luck there either.

So, why not use the crucibles to melt the nuggets into molten metals, then cast them? I'd have to add another mod that adds molten metal casting (TiC, Foundry etc). The only thing that I could do with Pyrotech alone would be to increase the temperature of the soaking pot at which it is destroyed, then use some consumable item as the ingot cast, and use the crucible with the soaking pot instead.

So, I wanted to make a suggestion for that, and then read the readme, and came here again. As AnotherVagabond said, crafting nuggets into ingots on a crafting table seems weird.

So, instead of making a suggestion post, I'll ask if there's any progress in these metalworking concepts?

Biviho commented 2 years ago

I don't really have any intention of doing any liquid metal or casting with Pt at this point. I feel like Tinker's Construct and Tinker's Complement already do that really well. Oh, and Embers has a casting mechanic too if I recall. I think the Tinkers' compat might be better suited to an addon or extension mod.

while yes, there are already a lot of mods that uses liquid metals a lot, there is still the inconsistency in how metals can go from nuggets to ingot in a crafting table. If you will decide to consider a more involving approach instead of the crafting grid one, it would be possible to go with a refractory soaking pot that work with hot liquids and the recipe could be something like:

-add a block of sand or clay to act as the cast -pur molten metal from the crucible (4000 mb) -after a while it craft into 4 ingots (it should take more time than other mods casting, since it would act as an early game version)

To make an iron chestpiece, a player would have to run two forges in order to heat all eight ingots at the same time.

this should not really be a problem, a player already want more than one of the same machine, but! i would suggest to go in a more "minefantasy/aetherwork" style: add a transitional item like bars and plates, so a player can first make the amount it need, then craft them on a workbench. this solution would be best for armor, since it would make more sense to first make the plate, then assemble them, for tools maybe bars are not the right solution.... as an alternative i would go the same route as tinker toolforge and aetherworks and hammer ingots into tool parts, then craft them into tool at the workbench