minetest / minetest_game

Minetest Game - A lightweight and well-maintained base for modding [https://github.com/minetest/minetest/]
http://minetest.net/
Other
1.43k stars 578 forks source link

Crafting Guide #1435

Closed Wuzzy2 closed 4 years ago

Wuzzy2 commented 7 years ago

Minetest Game is in desperate need of a crafting guide. (Strange that nobody brought it up before.) A crafting guide is an interface enhancement which allows the player to look up all available crafting recipes. It does so by interpreting all registered recipes automatically and presenting them in a formspec.

Currently, Minetest Game is pretty much unplayable out of the box, because you can not reasonably expect from the player to just guess the 200 (or so) actually meaningful combinations out of a pool of millions (or more) of possible combinations. And the wiki is often too unreliable or out of date, and I have stopped caring for the Minetest Game-related part too much there. And it would be more convenient to use anyway.

Minimum requirements:

Bonus points:

Here are some existing crafting guide mods: http://wiki.minetest.net/Crafting_guide

From this list, I think the only mod which seems sensible for Minetest Game would be craftguide because it is very lightweight, it is accessed by a book item, which is very important because the integration would be easy as pie, no inventory formspec changes are neccessary. But IMO this mod is not quite “good enough” yet, but it is close. Support for groups is incomplete, and the mod screws up with any recipe larger than 3×3. The arrow goes into the wrong direction but this could be fixed easily. Apart from these minor issues, the mod seems pretty useful already. The other mods either suck too much (zcg, cgmr, craft_guide) or are too heavyweight (Unified Inventory).

rubenwardy commented 7 years ago

I support adding a well designed craft guide to Minetest Game. It could be added as both an item when you use it and as a sfinv page which only appears if you have the item

kaeza commented 7 years ago

It has been suggested before, but rejected because hurr durr gaymuh to esy.

Something like Terraria would be nice: only show recipes for which you already have the items.

Wuzzy2 commented 7 years ago

Context: kaeza is proposing something which I call a “reverse crafting guide”. The idea is this:

You give the reverse crafting guide an item to “analyze” (i.e. in a new item slot), and then it shows you all recipes in which the item is required. This is an entirely different approach, but I do like it.

To my knowledge, there is not a single mod so far which implements this idea. But I would personally LOVE this, if it would be implemented, especially when other subgames start to adopt the idea, since it does a great job of avoiding spoilers. But for Minetest Game, I think it is too small and simple that we really need to be concerned of spoilers. Just enable Creative Mode and you are already spoilered completely. The biggest “spoiler” is Nyan Cat which you can't craft anyway.

hurr durr gaymuh to esy.

I understand the point, but this is IMO a poor argument anyway since it will not be the crafting guide which makes the game easier. The crafting guide just tells you what recipes are there. The recipes are fully accessible from the start either way. The only thing which changes is the capabilty you already had all the time becomes visible.

Besides the furnace there are no special crafting requirements; you can therefore craft pretty much everything everywhere. So having no crafting guide intentionally is actually just fake difficulty, especially since currently all players just go to the wiki anyway (which is totally legit, there is sane in-game way to figure it all out). Real difficulty would be if crafting itself would be more difficult by requiring to use special nodes or tools (working bench, cauldron, hammer, etc.). I do not propose those things, I just mention those to show the difference between real difficulty and fake difficulty.

sofar commented 7 years ago

There are a lot of assumptions in many of the arguments I see. It is therefore impossible to make a logical decision as to what is the best way forward.

A couple of points are worthwhile to note: Celeron55's directions has stated the desire to make the game more difficult, but this seems to be directed towards in-game dangers. Failure to discover crafting recipes does not constitute such a danger. So the argument "game too easy" could be misread as "we should force players to read a wiki", and that is a non-sequitur imo.

Revealing undiscovered crafting content also entices players to explore yet unknown game content looking for the resources needed to use those crafts. So hiding recipes until a player has some or more of the needed resources will make the user think that he has discovered all content already. He might never make it to deeper cave levels just because he's never seen mese or diamonds. Therefore, it may be very desirable to show a player the extent of what can be discovered.

I have no solutions - my tutor mod was an attempt to make a craftguide in a different form, and avoid the problem. It would allow spoiling new content in a controlled fashion to the player, so that they don't get "200 possible new recipes to discover" but only a few at a time, with hints as to what the recipe will look like. I have been contemplating extending it with craft recipe images.

rubenwardy commented 7 years ago

I agree that hiding recipes is artificial difficulty

kaeza commented 7 years ago

@Wuzzy2 The system I propose is close, but not exacly that.

My proposal is e.g. when you start, you begin with an empty guide. Now you pick up a tree, and it suddenly shows Wood Planks (and charcoal?), but nothing else. You craft some planks, and it shows sticks, and planks if you still have trees. Craft some sticks, and if you have both planks and sticks, it shows the wood tier tools. Have cobble and sticks? Show stone tier tools. Coal lump and sticks? Show torches. And so on and so forth.

In other words, a recipe is only visible if you have all the required materials.

This avoids spoiling more complex items ahead of time, while making it a bit easier to keep track of recipes.

I am also fine with the system you describe.

RHRhino commented 7 years ago

... making the game more difficult and not too easy ...

@sofar Making a game more difficult can cause two things: It can make it more interesting or it can make the game more annoying and in most cases, annoying games suck. Therefore it is crucial how you make a game more difficult.

Firstly we have a lot of new players, who never played sandbox games and many of them are very young. So we definitely need a way to help them to find out how to play minetest_game (e.g. if they only play it in singleplayer and can't ask other people). Yes they can find it out by trial and error, but this method has a high chance of fustration. So we either need a crafting guide or some kind of tutorial for them.

Secondly minetest_game should be hard in an interesting way, not in an annoying way. I think making the game harder by slowing down processes e.g. by raising the digging times or lowering the amount of generated ores is the wrong way. It is far more interesting if increase the amount of possibilities what you can do in minetest e.g. crafting new special blocks which need rare items, but keeping normal blocks ubiquitous, maybe some enhancing or upgrading system, exploring new biomes or generated structures, fighting and taiming mobs, an automation system, maybe finding new worlds like nether or some stacked worlds and whatever modding community can come up with 😄 All these things also make the game more complex which makes a crafting guide essential.

Thirdly I don't think that it is necessary to argue if we need a crafting guide or not, we should better think about what is the best way to implement it to keep the game balanced.

Wuzzy2 commented 7 years ago

Can we at least agree that a crafting guide or a reverse crafting guide (as kaeza described) is needed? :P I would be happy with either solution.

Also, can I have any new comments on the craftguide mod (some things which I haven't brought up before)?

Also, please stay on topic. This is not a discussion about difficulty. The point of a crafting guide is not to make the game easier or more difficult, the point is to make crucial gameplay information accessible in the first place (without which the game is just unplayable). Thus, it is mainly an important user interface feature. If a crafting guide significantly changes the game difficulty, there is probably something very wrong with the mod or game design. ;-)

tobyplowy commented 7 years ago

@paramat

crafting new special blocks which need rare items

But That's a mod Thing XD (just joking)

maikerumine commented 7 years ago

Yes, please add craft guide.

SpaghettiDeveloper commented 7 years ago

The idea of Wuzzy2 is magnificent. It helps a lot to increase the playing pleasure. Minetest the game since 2010. in my opinion not at all ruin the gameplay, Minetest does not have an actual gameplay, it's nice because it generates endless maps, and you can do whatever you want. A crafting guide makes Minetest even more complete and enjoyable, without the need to install 3000 mod for the novice user who wants to start playing. Sorry if I ever intruding, I am a beta tester who lives in the shadows for many years :D

C1ffisme commented 7 years ago

I like the idea of a crafting guide, but how many recipes in the game aren't obvious? I mean, some mod recipes are very vague and odd, but most Minetest recipes follow a certain rule that Minecraft recipes have: The crafting recipe must look like the item crafted.

Anyway, it's not like we have a recipe as hard to understand as this one:

"MineFactory Reloaded breeder"

Not only do you have to smelt raw materials multiple times, but it includes items that need to be crafted in the crafting grid. It also doesn't look like the product given, which makes it nigh-on impossible to remember what the recipe is. (This was picture taken from this forum post, if anyone was curious.)

Now, that is a mod, and there are mods to help you with that, my favorite being NEI. In fact, I wouldn't mind an inventory-editor GUI added to MTG (though, not in survival). On topic, you can press 'R' in NEI when holding your mouse over an item to see what it's recipe is. Although, come to think of it, these helpful crafting guides are probably what sparks these not-so-helpful crafting recipes.

Wuzzy2 commented 7 years ago

The idea of Wuzzy2 is magnificent.

Lol, you are exaggerating. It's a very obvious suggestion to do, many other subgames had crafting guides for years since the subgame authors have all noticed as I that the game is de facto unplayable without a crafting guide. Minetest Game is simply the odd one. I might even say that having a crafting guide is pretty much the norm across subgames.

I like the idea of a crafting guide, but how many recipes in the game aren't obvious?

All of them or almost all of them. If you're a total newbie, and you just finished the Tutorial which means you know how crafting itself works (but no recipes), you still would probably have a hard time in figuring out even the most mundane recipes. You might figure out by pure brute force luck that 1 tree → 4 wood and that 1 wood → 4 sticks. And the other 1×1 recipes. But already I would probably never figured out the very important wooden pickaxe on my own. Let alone the fact that there is even a pickaxe and I did not even know what other tools are possible. Also please be honest with yoursef: How many recipes have YOU actually figured out totally on your own without wiki / Minecraft exposure / peeking / etc.? I don't think that it will be much. Also, just “it looks like the tool” is not an argument. The item arrangement is still pretty arbitrary. There are serveral ways you could kinda imagine how to arrange items in the crafting grid. In Pixture, the recipe for a pickaxe is different, yet it still kinda looks like a pickaxe.

Having complex crafting recipes is NOT the problem. Being able to add complex recipes is GOOD since it allows modders to finetune gameplay. It adds to gameplay and difficulty if you require the items to collect very different items. Actively opposing such a possibility is not a good idea. You consider your example recipe only “complex” because it uses several items of different kinds. Sorry, but this is not really complex IMO.


(Off-topic rant:

The real problem is, frankly, the design of the crafting system itself. Crafting is way to unwieldy too use and very unflexible. (Quick example: Try to register a seemingly very simple crafting recipe which just needs to consume 1000 items of the same type). It is one of the things which should NOT have been copied from Minecraft, because it sucks. The bad crafting system is the very reason why we even need rather complex crafting guides in the first place. Here's my full rant: https://forum.minetest.net/viewtopic.php?f=5&t=15353

But I think the crafting system itself is unlikely to change anytime soon and we have to live with it for a while. But I strongly opine it needs a serious redesign. In Minetest (so this is off-topic, sorry).)


But in the short run, a crafting guide will definitely an improvement. I don't understand why this is even controversial. WTF?

Oh, and I've got news for you: The [craftguide] mod got 2 small improvements recently. Now it supports groups perfectly and it even shows the cooking time for items which can be smelted.

octacian commented 7 years ago

I agree that the crafting system does need a redesign. However, I do not think that it is important enough to put very much effort into it. I see that it could be useful, though I do think that this type of thing should remain as a mod and not in the default game. Either way, there are more important things (to me) right now, like making the head turn when the player turns it, and other things like that.

C1ffisme commented 7 years ago

@Wuzzy2 Just to be clear, I am not against the idea of a crafting guide, although there are some recipes which, once learned, are insanely easy to remember.

Ooh, add "Has an API for 3rd party crafting recipes" to the bonus points list. Then we can see how to craft things using crushers, alloy furnaces, etc.

rubenwardy commented 7 years ago

although there are some recipes which, once learned, are insanely easy to remember.

And they should learn them using a craft guide, not being forced to browsed the wiki

C1ffisme commented 7 years ago

@Wuzzy2

Having complex crafting recipes is NOT the problem. Being able to add complex recipes is GOOD since it allows modders to finetune gameplay. It adds to gameplay and difficulty if you require the items to collect very different items.

Erm, coming from someone who plays with Minecraft Mods that do this, no. It's really, really annoying to craft five things in the crafting grid to get one machine.

Even making a simple Thermal Expansion Pulverizer is a pain: (Note, these are only items created in the crafting grid, not smelted items.) too long

And don't even get me started about the Extra Utilities Ender Quarry: way too long

I suppose I'm turning the argument into subgame design rather than a crafting guide, sorry about that. (I wanted to let out with this.) But please, if we add any recipes to Minetest, they shouldn't be this complicated.

Summary : If we have a crafting guide, don't encourage exaggerated crafting lines.

Napiophelios commented 7 years ago

I think Kaeza's idea would be perfect for survival mode. Maybe throw in a few basic crafts by default for new players, like torches and basic tools.

Wuzzy2 commented 7 years ago

C1ffisme: You misunderstood me. I am also of course not advocating the proliferation of huge crafting trees, especially if many pure craftitems could be omitted easily. What I meant with “complex crafting recipe” would be SINGLE recipes which hit the current limits of the current system (e.g. a recipe with more than 9 input items).

Back to topic: I would be in favor of a reverse crafting guide like kaeza suggested or a mod based on my requirements in the 1st post. I'm OK with both. And yes, a few starter recipes in such a reverse crafting guide are an absolute must (otherwise the new player is again totally helpless).

I like the reverse crafting guide a bit more than the classic approach. Especially because it avoids spoilers.

C1ffisme commented 7 years ago

@Wuzzy2 Ok.

Wuzzy2 commented 7 years ago

User kilbith (aka jp) claims the craftguide mod (https://github.com/minetest-mods/craftguide) is now ready for inclusion.

I would almost agree. Most of my requirements in 1st post are met. Moreover, the mod has gotten some goodies like “Progressive Mode”. This is basically the reverse crafting guide we've been talking about. In Progressive Mode, the crafting guide only shows those recipes you can craft from your items in your inventory.

The Progressive Mode is based on a server setting. I am not sure if I am so happy about this. I don't like when core gameplay mechanics are made configurable like that, because it means the same item can have 2 entirely different behaviours. Maybe using 2 different items for the different “modes” (progressive vs non-progressive (= all recipes instantly visible)) could work, what do you think? Another solution which goes into my mind is to make the progressive mode the default and add a priv which allows players to see all recipes.

In craftguide, only the following requirement is lacking:

  • Mod does not screw up the interface when dealing with “unconventional” crafting recipes (e.g. 4×4). Either it should just fail gracefully or it actually able to display those recipes (up to a limit)

I suppose it would be relatively easy to fix by just not displaying recipes above 3×3 and showing an error instead.

As for the integration … I don't know. Technically, the mod already integrates well into Minetest Game since it is based on an item to display the formspec.. The mod requires you to craft 1 crafting guide item from a book, which means you first have to find papyrus which is surprisingly rare. One fix would be to add another much easier recipe, maybe from sticks. I know, it doesn't make much sense but the point is to make it super easy to obtain the crafting guide. An additional solution would be to give new players the craftguide item for free.

EDIT: craftguide now fixed the final “hard” requirement of mine. It now fails gracefully when dealing with recipes larger than 3×3. Yay!

sofar commented 7 years ago

hintbook vs cookbook?

I'm happy to see if we can make this mergable after 0.4.15.

Napiophelios commented 7 years ago

I'd like to see the progressive mode as the default for survival/damage enabled side of the game, and Instead of a crafting an actual guide, have it "built in" as a tab in the player's inventory formspec. that would be cool.

Maybe have the real / unabridged guide be craftable...but "expensive"

sofar commented 7 years ago

@Napiophelios that's most likely what the merge process will include - I've done this now with a few larger mods and there will be ample time to comment on what will work best.

FWIW I don't foresee a craftable book myself - I'd rather see a craft recipe hint tab that is always available, but we can discuss when I (or someone else) make the initial PR.

Napiophelios commented 7 years ago

well creative is a big cheat anyway, so if no craft guide item would be available, have the unrestricted version the default behavior for creative mode and the progressive behavior the default for damage enabled mode.

I still think there should be a few items that would show up in a search box query despite the materials being present in the inventory.

Just basic stuff like torches and tools from the default game mods.

C1ffisme commented 7 years ago

I don't really like the idea of a progressive crafting guide, and here's why:

Imagine that you have a machine that requires certain craftitems which also need to be crafted. (Not a good design choice, but needs to be done sometimes.)

However, the player can only see the craftitems recipe once he has gathered enough raw material. Since he doesn't have the recipe of the machine, he has no idea what use the crafted item is for. For all he knows, it has no use and he would never craft the item. It's even worse if there are multiple items, and after trying a few and getting no new results in the guide, giving up so he doesn't waste any more resources.

Although, I suppose you could have a 'description' button/tab in the crafting guide, that gives a basic idea of why you would craft it. E.G.: "This item is used in crafting other items." Or, "This item is used in crafting other items, but can also be used to (List of additional uses here)."

Wuzzy2 commented 7 years ago

I don't really like the idea of a progressive crafting guide, and here's why:

Oh, I just noticed that the progressive node in the craftguide mod does not work how I hoped it would work. The progressive mode actually requires ALL item types of a recipe to be present in the inventory in order to be displayed. I have to agree with your complains then. The player can not actually find out about all crafts without some some kind of clarivoyance or just good luck, as the player must magically know beforehand what items to put into the inventory to see crafting recipes. So, yes, it is probably very hard to legitimately find out all recipes with this method.

Actually, what I meant with “reverse crafting guide” was different: You tell it one item and it spits out all recipes in which the item only appears at least once. For example, if you have a stick, it should spit out all recipes in which the stick is required. This includes torches, fences, ladders, tools, and much more. But the current progressive mode only shows the ladder since it is the only recipe which can be crafted only from sticks.

For the craftguide mod, this would mean it looks at each item in player inventory and checks in which recipes each item appears.

(@kilbith: I hope you read this. :-) )

With this simple change, the player can now slowly find all crafting recipes by progressively checking out the available crafts for each item type. To check out new possible recipes, the player just has to put unknown/new items into the inventory and then check out the crafting guide. As soon as the player repeated that for all items, the player should now have seen all recipes. I suppose that the player would not totally avoid to craft a particular item.

It also adds to gameplay IMO: Whenever the player obtains a new item, it can be interesting or even exciting to see what new stuff can be crafted from it.

The idea is 100% stolen from Terraria but from my gameplay experience I can tell you it works very well in practise there.

Although, I suppose you could have a 'description' button/tab in the crafting guide, that gives a basic idea of why you would craft it. E.G.: "This item is used in crafting other items." Or, "This item is used in crafting other items, but can also be used to (List of additional uses here)."

This is a whole new can of worms here. This should be an engine feature and frankly, it has no place in a crafting guide IMO. But I do think better item tooltips are very much needed in general.

C1ffisme commented 7 years ago

This is a whole new can of worms here. This should be an engine feature and frankly, it has no place in a crafting guide IMO.

@Wuzzy2 Not necessarily, I was thinking of a short in-game wiki kind of thing within the crafting guide tab/book. Something like this:

screenshot_20161215_132253

If the item is a modded item with no entry in a wiki provided in a text file within minetest_game, or the mod itself, then the mod that has the wiki (probably the creative mod if it has it's own tab) will check a few things:

I suppose the less effort-requiring way is to not have any progressive crafting at all, but where's the fun in that?

Wuzzy2 commented 7 years ago

C1ffisme: Please check out this: https://forum.minetest.net/viewtopic.php?f=9&t=15912 I think you will find it interesting. :)

I still think your suggested feature does not have any place in a crafting guide mod. I am totally for more complete item descriptions, but not like that. IMO this is way out of scope for this issue. Your list of suggestions already shows that this is an endless list of things which need to be explained about items, and putting all that into a crafting guide mod is just overkill. It is not clear where to stop. This should be an engine feature which could be implemented by extending item tooltips by providing additional fields (like description). This would be a more standardized and cleaner method. Maybe I'll open another issue about that so you'll understand what I mean.

Also, I don't buy into your argument that players might not craft an item because it seems useless. Any item may have some use, even if it is just for crafting. It should just be clear to the player that the best strategy is to check out ALL items in order to learn all possible recipes eventually.

C1ffisme commented 7 years ago

@Wuzzy2 Aww... I was just working on such a mod...

screenshot_20161215_181048

Any item may have some use...

default_mese_crystal_fragment

I still think your suggested feature does not have any place in a crafting guide mod.

Oh well, I guess it is a bit beyond a normal crafting guide.

Wuzzy2 commented 7 years ago

Off topic: The mese crystal fragment is no longer useless in plain Minetest Game. It is now used to craft powered rails.

C1ffisme commented 7 years ago

@Wuzzy2 Huh, I should probably start keeping up with the times.

ghost commented 7 years ago

A crafting guide added to the minetest_game would also inform players better than the wiki on crafting changes.

MisterXtreme commented 7 years ago

I personally would prefer to have a tiggle (client-sde) to enable/disable "prgresive crafting), as I like to plan what I need, and I can't so easily if the crafting guide is progressive. TL;DR Make progressive crafting optional (include Just Enough Items-like recipe viewer).

JustinLaw64 commented 7 years ago

Hello guys. Maybe an interesting progressive crafting system could work like this.

In other words if there is a progressive craft guide, keep the game interesting. :)

MisterXtreme commented 7 years ago

@tobyplowy Thanks for support, but please don't leave 1+ comments, just use the thumbs up button. ;)

mnh48 commented 7 years ago

@C1ffisme I think they want it to be include in the basic minetest_game and targeted for new players, there's no complicated recipe in the basic minetest_game with minimal or no mod.

Things only get complicated if you install mods like "moretrees" where you need many items to craft something, for example, here's to make date-nut energy bar from the moretrees mod: sketch-1490532639079

MarkuBu commented 7 years ago

I like the craftguide mod, but I miss a function to place the items in the crafting grid

And the orientation of the recipes is a bit strange. Output left, input right

Windspar commented 7 years ago

I would perfer Questing crafting guide. Recipe should be lock until unlock by quest. Complete a quest to unlock more quest.

  1. make game more rpg.
  2. system could then be transfer to village people and/or etc.
C1ffisme commented 7 years ago

This won't upload to github for some reason.

Not to get offtopic, but what's with the bizarre collection of Emotes on @tobyplowy's comment? (We don't like what he's doing, but we also want to party about it, and then the rest of us are confused?)

Desour commented 7 years ago

@DrakeMagi I think that would be too much rpg for MTG. But that would be a nice idea for a mod, make a slot above crafting arrow where a special crafting guide book has to be put in, the crafting will only work if the recipe is inside the book, and make the player able to fill the book by finding recipe ingredients.

Wuzzy2 commented 7 years ago

Ummm … Can you please focus on the important parts first? It is pointless to discuss such quite advanced features like “progressive mode” or whatever if Minetest Game doesn't even get the basics right. There are 19 or more subgames with a crafting guide.

How about first adding the basic crafting guide, then talk about the fancy bling-bling features later (in another issue)?

For example, let's talk about the craftguide mod. How suitable for Minetest Game do you think it is? I think it is almost perfect. I think fixing this issue is almost only a matter of merging craftguide. I agree, the arrow points to the wrong direction but it can be fixed and not really a blocker IMO. Are there any serious problems with craftguide?

rubenwardy commented 7 years ago

I like craftguide, however think that it should be a sfinv page instead

ghost commented 7 years ago

I struggle with sfinv (and lua too I guess) but I crudely ported @kilbith's crafting book minus the book into a sfinv tab for our server and the players seem to love it. screenshot_20170515_122838

Wuzzy2 commented 7 years ago

Nice.

Wuzzy2 commented 6 years ago

@rubenwardy: Please look at the license of craftguide again. :-)

sofar commented 6 years ago

@exeterdad post code somewhere?

Fixer-007 commented 6 years ago

Dislike those two buttons on the side though...

JustinLaw64 commented 6 years ago

I have made Craft Lookup from scratch a while ago in order to deal with licensing issues, and I am pretty pleased with the layout. It is a bit buggy in that it is not able to read every type of recipe, and that the search function is not very advanced, but it is usable. Maybe it would be good for Minetest_Game when I get to knocking out the last few bugs and improving the search function?

P.S.

There is a progressive mode, but it sometimes corrupts its own data, so it should be left off in the settings.

rubenwardy commented 6 years ago

deal with licensing issues

kilbith's craftguide is now MTG compatible