Redesigning the broken crafting system

User avatar
Wuzzy
Member
Posts: 4778
Joined: Mon Sep 24, 2012 15:01
GitHub: Wuzzy2
IRC: Wuzzy
In-game: Wuzzy
Contact:

Re: Redesigning the broken crafting system

by Wuzzy » Post

SegFault22, I like your output list but not your input list.
You failed to take groups into account.
What if player has 5 kinds of wood (wooden planks, junglewood, etc.) and it requires 8 items of group:wood to craft a chest?
If the player wants to craft a chest, which items should now be consumed? The player can't control it with the way you propsed the input list, right? That's why it's flawed. There are other crafts where the player usually wants to control which items to consume, like repair receips.

This is also the reason why I propsed to not change the input too much. I suggested to still require the player to put in the input items explicitly so the player can directly control which items should be consumed.

I think a combination of my proposal and your proposal would work pretty fine. Let's use my proposal, with the change that it uses the output widget you, SegFault22, have proposed.

User avatar
qwertymine3
Member
Posts: 202
Joined: Wed Jun 03, 2015 14:33
GitHub: Qwertymine
In-game: qwertymine3

Re: Redesigning the broken crafting system

by qwertymine3 » Post

Here is a somewhat crude implementation of this, with no legacy support.
Image
Crafting group support is basic, only the most common node of the group in the inventory is used.
The unknown recipes are used for testing pages without making > 80 real recipes.
https://github.com/Qwertymine/crafting
Avatar by :devnko-ennekappao:

User avatar
qwertymine3
Member
Posts: 202
Joined: Wed Jun 03, 2015 14:33
GitHub: Qwertymine
In-game: qwertymine3

Re: Redesigning the broken crafting system

by qwertymine3 » Post

Added legacy support and made a forum topic for it:
viewtopic.php?f=9&t=15405
Avatar by :devnko-ennekappao:

User avatar
SegFault22
Member
Posts: 872
Joined: Mon May 21, 2012 03:17
Location: NaN

Re: Redesigning the broken crafting system

by SegFault22 » Post

Wuzzy wrote:SegFault22, I like your output list but not your input list.
You failed to take groups into account.
What if player has 5 kinds of wood (wooden planks, junglewood, etc.) and it requires 8 items of group:wood to craft a chest?
If the player wants to craft a chest, which items should now be consumed? The player can't control it with the way you propsed the input list, right? That's why it's flawed. There are other crafts where the player usually wants to control which items to consume, like repair receips.

This is also the reason why I propsed to not change the input too much. I suggested to still require the player to put in the input items explicitly so the player can directly control which items should be consumed.

I think a combination of my proposal and your proposal would work pretty fine. Let's use my proposal, with the change that it uses the output widget you, SegFault22, have proposed.
I didn't think about groups, sorry. It would be best to require the player to put specified materials into the input-area, that way it is possible for the player to control which items are used. Thank you for deciding to use the idea for the output field, and combining it with the input-field you defined, would be the best course for development.

Also, could it be possible to add another row to the input-area (enabling the scroll-bar), when it is full of items, so that more items can be added for extremely complex recipes?

ABJ
Member
Posts: 3015
Joined: Sun Jan 18, 2015 13:02
GitHub: ABJ-MV
In-game: ABJ
Location: In Earth orbit, with a perigee of 1048 km and an apogee of 1337 km and an inclination of 69 degrees.

Re: Redesigning the broken crafting system

by ABJ » Post

-Have mods define how much of several different types of items are need to craft an item.
-Have a crafting help where you can decide what you want to make and find out how much of what you need for that.
-Have an output slot for item.
-Have button that you can click to make item.
-Game checks your inventory to see if you have materials.
-If materials are insufficient, show error message and do nothing.
-If you do have materials, remove from inventory and output crafted item.
-Profit!

About groups: Maybe ask the player which type of the group of those in his inventory he wants to use?

Sorry for barging in.

FaceDeer
Member
Posts: 506
Joined: Sat Aug 29, 2015 19:01
GitHub: FaceDeer

Re: Redesigning the broken crafting system

by FaceDeer » Post

I've got a mod gestating in my mind that will implement a very different approach to crafting and as part of the preliminary work for it I went looking around for other mods that might have done useful stuff to incorporate. Qwertymine3's crafting table looked like a fantastic approach but was still in a rough state and the code wasn't easily usable by other mods, so I fell upon it and rewrote it a bunch. My plan is to extract the crafting code into a library that other mods can use, including potentially as a replacement for the existing inventory crafting system. Here's where my fork currently lives, at the moment it's just a polished up version of Qwerty's though most of the crafting-system-related code has been extracted to the files util.lua and legacy.lua so it's close to being split now.

After I posted my work on Qwerty's thread someone directed me here and I thought it might be worth mentioning, it's a nice flexible system that overcomes a lot of the hassles and limitations of the 3x3 grid approach.

crazy_baboon
Member
Posts: 96
Joined: Sat Oct 17, 2015 10:47

Re: Redesigning the broken crafting system

by crazy_baboon » Post

burli wrote:TLDR
Just make it more easier and completely remove the crafting grid. Just search for the item you want to craft, hit a craft button, and if you have the required items in your inventory the item is crafted and the items are removed

Heaven for the lazy like me!

ABJ
Member
Posts: 3015
Joined: Sun Jan 18, 2015 13:02
GitHub: ABJ-MV
In-game: ABJ
Location: In Earth orbit, with a perigee of 1048 km and an apogee of 1337 km and an inclination of 69 degrees.

Re: Redesigning the broken crafting system

by ABJ » Post

Yes! +100

rendeko
New member
Posts: 8
Joined: Sun May 07, 2017 20:53

Re: Redesigning the broken crafting system

by rendeko » Post

Terraria-style crafting would be a great implementation and a good way to separate minetest from minecraft. Although I think mod developers would stop supporting the traditional 3x3 crafting grid if it was available as it's own mod.

FaceDeer
Member
Posts: 506
Joined: Sat Aug 29, 2015 19:01
GitHub: FaceDeer

Re: Redesigning the broken crafting system

by FaceDeer » Post

Okay, I'm finally ready to do it. I'm going to split out the back end of Qwertymine's crafting table mod and make a generalized utility mod out of it that can be used to totally replace Minetest's crafting system (or just bits of it, whatever other modders making use of it desire). There's just one thing that I can't figure out.

What should I call it? I'm open to suggestions, I've been thinking about this for days and have no good ideas.

ABJ
Member
Posts: 3015
Joined: Sun Jan 18, 2015 13:02
GitHub: ABJ-MV
In-game: ABJ
Location: In Earth orbit, with a perigee of 1048 km and an apogee of 1337 km and an inclination of 69 degrees.

Re: Redesigning the broken crafting system

by ABJ » Post

deergrid?

User avatar
Wuzzy
Member
Posts: 4778
Joined: Mon Sep 24, 2012 15:01
GitHub: Wuzzy2
IRC: Wuzzy
In-game: Wuzzy
Contact:

Re: Redesigning the broken crafting system

by Wuzzy » Post

@FaceDeer: Try “Simple Crafting System” (SCS).

But to be honest, I really wish the engine's crafting system would be revised. Simply to set a standard. The problems of the grid-based system go too deep to be really solved by a single mod.

The grid-based system could still be kept as an alternative and for legacy support.

But, oh well, I'd still like to see your proof-of-concept. :-)

FaceDeer
Member
Posts: 506
Joined: Sat Aug 29, 2015 19:01
GitHub: FaceDeer

Re: Redesigning the broken crafting system

by FaceDeer » Post

ABJ wrote:deergrid?
Having a "grid" in it completely defeats the point. :)
Wuzzy wrote:But, oh well, I'd still like to see your proof-of-concept. :-)
It's currently at https://github.com/FaceDeer/crafting, I've already made a lot of progress just by revamping Qwerty's mod. The current API is here: https://github.com/FaceDeer/crafting/bl ... er/api.txt and the mod includes a crafting table and furnace to try it out with.

I need to do a bit more work on the grid recipe import API - the underlying code works fine and handles every recipe I've thrown at it so far, but the mechanism by which other mods call it will need some tweaks to make it more flexible. And I need to add an on_crafted callback mechanism and a clear_craft method to match the base system's capabilities. Then all I need to do is figure out how to replace the default crafting interface, and that should be everything.

User avatar
burli
Member
Posts: 1643
Joined: Fri Apr 10, 2015 13:18

Re: Redesigning the broken crafting system

by burli » Post

The engine should simplify the crafting to the minimal common base. For example "craft a stone pickaxe, remove sticks and stones from inventory"

Crafting is a thing that could be done completely in lua. Maybe it's already done in lua, idk

User avatar
texmex
Member
Posts: 1753
Joined: Mon Jul 11, 2016 21:08
GitHub: tacotexmex
In-game: tacotexmex

Re: Redesigning the broken crafting system

by texmex » Post

FaceDeer wrote:What should I call it? I'm open to suggestions, I've been thinking about this for days and have no good ideas.
I like a general term, since your system is a serious full-scale attempt of replacing "crafting". Something like "craftmanship", "handiwork" or even more general: "invent", "create", "design". "Artisanry" is good too, but is already used by a big-grid crafting system in a halted subgame attempt called Australopithecus. I also like a witty name like "concoct" (it's in the synonym region of: find out, invent, conceive, dream up, excogitate)

User avatar
christoferlevich
Member
Posts: 325
Joined: Thu Dec 01, 2016 23:44
GitHub: ChristoferL
Location: Athol, Massachusetts

Re: Redesigning the broken crafting system

by christoferlevich » Post

I'd like to say that while I agree with much of what you say here, the shaped recipes are very popular in my class for the fact that it adds another level of 'expertise' for students to obtain, and they KNOW it! :) Fun stuff. That all said, the combine' idea sounds worthy, but it might make the game lose some of its 'crafting' aspect making it more like a console crafting thing (Like Nintendo's Link with their 'combine').
everything can be a learning experience...

FaceDeer
Member
Posts: 506
Joined: Sat Aug 29, 2015 19:01
GitHub: FaceDeer

Re: Redesigning the broken crafting system

by FaceDeer » Post

christoferlevich wrote:I'd like to say that while I agree with much of what you say here, the shaped recipes are very popular in my class for the fact that it adds another level of 'expertise' for students to obtain, and they KNOW it! :) Fun stuff. That all said, the combine' idea sounds worthy, but it might make the game lose some of its 'crafting' aspect making it more like a console crafting thing (Like Nintendo's Link with their 'combine').
I'm aiming to make my crafting library capable of coexisting with the "native" crafting system to any degree desired, so hopefully that'll help.

In all honesty I started working on this simply because I wanted to have additional crafting types beyond just "normal", "cooking" and "fuel" so that I could make a mod with specialized crafting stations. I dislike the crafting grid but normally not enough to spend weeks delving down into every weird edge case of the Minetest crafting API like this, this has become a bit of a runaway side project. But fortunately one I don't mind doing. :)

User avatar
Wuzzy
Member
Posts: 4778
Joined: Mon Sep 24, 2012 15:01
GitHub: Wuzzy2
IRC: Wuzzy
In-game: Wuzzy
Contact:

Re: Redesigning the broken crafting system

by Wuzzy » Post

christoferlevich wrote:I'd like to say that while I agree with much of what you say here, the shaped recipes are very popular in my class for the fact that it adds another level of 'expertise' for students to obtain, and they KNOW it! :) Fun stuff. That all said, the combine' idea sounds worthy, but it might make the game lose some of its 'crafting' aspect making it more like a console crafting thing (Like Nintendo's Link with their 'combine').
I think it is a common fallacy to believe the Minecraft crafting system is complex/advanced and that it is a good thing because of this. If you think about it, gameplay-wise it does not actually add any new concept. The supposed “difficulty” is an illusion. It's fake difficulty. It just seems more difficult because it is unwieldy to use and you are forced to memorize a lot of patterns. This really is just testing your patience and memory (which is partially undone as soon as you have a crafting guide, and almost all subgames have one now).

I argue that for every (!) shaped recipe, you can produce a shapeless recipe (or just a “combine” option like you said). Take the stone pickaxe for example. The shapeless recipe? 3 stone + 2 sticks. Gold block? 9 gold ingots. And so on. So, if you take all shaped recipes, and take away the “shape” requirement, you still end up needing the exact same amount of items. Therefore, a grid-based crafting IS the same as a simple “combine these items to craft item X” system. It just involves more clicks to perform a single craft. The grid crafting is NOT a gameplay feature, just an interface feature.

So arguments for/against grid crafting can really be only about usability or flexibility. And the grid is a clear loser in both these disciplines.

User avatar
kaadmy
Member
Posts: 706
Joined: Thu Aug 27, 2015 23:07
GitHub: kaadmy
IRC: KaadmY
In-game: KaadmY kaadmy NeD

Re: Redesigning the broken crafting system

by kaadmy » Post

VoXus' crafting system was probably by far the most intuitive and best one, and I had originally planned on using a similar method in Pixture, but I decided against it at the time since it was easier and faster to just use the builtin crafting system.

This reminds me that I should change the crafting method as soon as I can.
Never paint white stripes on roads near Zebra crossings.

Pixture

User avatar
Wuzzy
Member
Posts: 4778
Joined: Mon Sep 24, 2012 15:01
GitHub: Wuzzy2
IRC: Wuzzy
In-game: Wuzzy
Contact:

Re: Redesigning the broken crafting system

by Wuzzy » Post

kaadmy, what I am hoping for is that we have a sane, intuitive and flexible crafting system by default. Mods are nice, but in the long run they should only be used as proof-of-concepts. And mods always have the problem of the lack of standardization.

Ripping off MC's crafting system was a bad idea because it is insane, unintuitive and unflexible. Since Minetest is an engine and should be general-purpose, the MC crafting system is completely unfit for use IMO as it is too specialized.
Of course, as long you want to make MC clones with Minetest (like MineClone 2), this is really useful (obviously). But if you want to get anything even remotely non-Minecraft things done, like a recipe with freaking more than 9 equal items, you're screwed. This is by far the biggest problem with our current system.

I think our current crafting system is really just a legacy from 0.3.0 or so.
With the introduction of the Lua API, it should have been replaced by something more generic. With our current system, we limit Minetest's potential to MC-like recipes. This is really bad.

User avatar
kaadmy
Member
Posts: 706
Joined: Thu Aug 27, 2015 23:07
GitHub: kaadmy
IRC: KaadmY
In-game: KaadmY kaadmy NeD

Re: Redesigning the broken crafting system

by kaadmy » Post

I'm agreeing with everything @Wuzzy just said, although even having a builtin crafting system is probably already too far. Mods can very easily add customized crafting methods, although currently the largest barrier for doing so is standardization.
Never paint white stripes on roads near Zebra crossings.

Pixture

FaceDeer
Member
Posts: 506
Joined: Sat Aug 29, 2015 19:01
GitHub: FaceDeer

Re: Redesigning the broken crafting system

by FaceDeer » Post

I've posted the stand-alone crafting library mod I've been working on over in the WIP mods forum, I went with the name [simplecrafting_lib].

There's only one "complete" mod that makes use of it so far, my fork of Qwertymine3's crafting table mod, but I've begun work on a new mod that should exercise its additional features more fully.

Hopefully this will provide useful features for modders who want to do things like this that the default crafting system doesn't support.

Post Reply

Who is online

Users browsing this forum: No registered users and 3 guests