Attnam / ivan

Iter Vehemens ad Necem - a continuation of the graphical roguelike by members of http://attnam.com
GNU General Public License v2.0
297 stars 42 forks source link

Sticks of glass or metal can't be dismantled nor "ingoted" #571

Open Coolthulhu opened 4 years ago

Coolthulhu commented 4 years ago

Sticks of "ingotable" materials can be created by dismantling weapons with secondary component of said ingotable material. Example: glass/glass daggers, when dismantled, will produce a 25cc glass lump (main material) and a 25cc glass stick (secondary material).

Sticks can't be dismantled further, but they can be used partially converted into lumps by crafting a dagger from them: 25cc of the stick will be used to create the dagger, the rest will be recovered as a lump.

AquariusPower commented 4 years ago

mmm... dismantling basic materials: rocks, sticks and lumps could always result in a lump, allowing them to be melted later if coherent (miss acting would waste non meltable materials tho)

dismantle help could add: ", or smash basic materials into lumps, "

Coolthulhu commented 4 years ago

Allowing ingoting materials regardless of their form could help too. That is, instead of requiring a lump, require either no secondary material or primary == secondary. And all the other "dismantle" checks, of course.

Or maybe even treating lumps as ingots if there is a forge nearby. The variable size ingots confuse the UI and require extra keypresses from the player to produce. Especially when crafting leftovers are converted to lumps. It has some uses in case of sticks and stones, but ingots are melted before use, so why not just allow lumps of ingotable materials?

AquariusPower commented 4 years ago

"treating lumps as ingots"... well, consider to make a blade: you need something with a minimum volume that can be heated and reshaped, and also removed some of it's volume to grant the correct shape.

Now, lumps are like debris, many small pieces of that material. All I have seen is blacksmiths working only on ingots, as it is easier to reshape. Lumps have to be melted first to have a granted minimum volume after put on a ingot mold (that I ignored and considered that all forges always have ingot molds of all sizes for now xD).

Now, that crafting code was a initial work. Anything that easifies the player's usage, gameplay and fun are welcome.

So, in this line, keeping the coherence, the lump could be auto transformed into ingots and then used, and that would help the player :), but must take more time than using ingots directly.

red-kangaroo commented 4 years ago

I like that you have to first melt metal lumps into ingots before you can craft with them, but maybe we could automatically create ingots of some hard coded size and let any leftovers remain as small lump, to prevent player confusion with the size question?

AquariusPower commented 4 years ago

automatically create ingots of some hard coded size

good, this could be an option like: "when melting, default to this ingot volume: 100" if set to 0, the question would show up, otherwise, it would skip that question and always create ingots of the specified size or til the specified size considering there is enough volume.

I think I put a limit tho, of 25 cm3, because is the minimum for a dagger, but mostly to prevent too many items, mainly when dropped I guess, that would make the game slower. So melting, if I am not wrong, a plate armor of 4000cm3 into 4000 ingots of 1cm3 would be problematic. In this specific case, for ingots of 25cm3 would still be a performance problem I think.

ryfactor commented 4 years ago

What about large and small sizes for ingots? A bit like small mines and big mines?

Coolthulhu commented 4 years ago

That's quite a bit of extra complexity, though. Look at all the weirdness that already exists from having lumps, ingots, stones and sticks separately. Is it really worth having all this extra bookkeeping and associated issues?

AquariusPower commented 4 years ago

large and small sizes for ingots

so user could opt for 'l', 's' or a number? and the default value could be 'l' (L for large) large could be the current default 250cm3, small 25cm3 (min for dagger) in this case the config menu option would still exist? or L and S would be there during the melting flow to lower complexity? and may be user could also configure the size of L and S ?

Look at all the weirdness that already exists from having lumps, ingots, stones and sticks separately. Is it really worth having all this extra bookkeeping and associated issues?

mainly, these raw kinds (sticks, lumps and stones) were all originally available and useless (some were sellable tho), I just made them became really usable :)

what are lumps? or debris? an easy way to implement things that need to be further worked before being usable. Currently only ingots for meltable lumps. One day we could have cloth work (using spider web as thread). I put the cut web feature there but didnt add a spool of thread graphics to provide that item, what would just require a bit more coding I guess, but quite more to let we work with cloth materials.

Stones, is a good way to have usable non-meltables for crafting. So if you have a crystal stone (that is not meltable) you can still sculpt the two parts of any weapon, as long that stone has more than the minimum volume. There is extra complexity here as to sculpt you will lose some material to provide the correct shape, so you need more than the exact volume required, it is exposed while the player is crafting like: will use only 75% of the full volume of the stone or something like that. I think it is in the F1 help, if not, it could be :)

Sticks are another raw material thing. Wooden sticks can only be carved/sculpted no melting. Wooden sticks are great for the handle of weapons to make it have less total weight, but only until someone implement the destruction of weapon handle (because currently the only thing that matters is the main material concerning fire and explosion as far I know). You can also craft very light weight undestructible things like keys and stethoscope (IMO they should all be destructible one day, as now they can be crafted).

Crafting is not meant to be something very simple IMO, crafting is an amazing thing that lets you create things that otherwise you could only buy or find, so it must have some complexity and be time consuming, so hunt a bear before starting to not starve :). Anyway if you figure out a way to make crafting simpler it will be cool, but I suggest reimplement all the crafting mechanics in new crafting .cpp files, call it like craftOverhaul.cpp :), or at least lower the crafting complexity on the current crafting code with caution to not make it too cheap. There are many comments in the code to explain why it is the way it is now, but I should have added more comments I guess?

AquariusPower commented 4 years ago

there is a weird thing tho... if you dismantle a large chest, if I am not wrong, you get 240000cm3 on a single stick, and that is more fun than weird IMO, well games are also meant to be fun :).

But the core problem is, that is the volume of the large chest walls or the total volume of the chest (like the much water would be thrown out of a swimming pool in case you toss the chest there)?

So, first I think the dismantle volume for containers should be reviewed, better if put in the database text files, but could be hardcoded also.

2nd it should provide a lot of sticks (to compose the chest wall) may be 50 sticks for a large chest? and that would sum to the total volume of the chest walls.

A quick workaround now would be to dismantle chests into, lets say 10% of their volume, and into 20 to 50 sticks of it's material. And also require that much to craft a new chest. And I think that would not be so hard to code, not sure tho :>

PS.: This post could/should be another independent issue?

ryfactor commented 4 years ago

If you break down a balsa wall with a pick-axe, how many sticks do you get?

AquariusPower commented 4 years ago

If you break down a balsa wall with a pick-axe, how many sticks do you get?

random, 0 to 3 of about 1000cm3 I guess, should be a huge lot tho, enough to build a small chest at least :) it is on the database files IIANW (if I am not wrong) :>