Redesigning the broken crafting system
- 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
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.
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.
- qwertymine3
- Member
- Posts: 202
- Joined: Wed Jun 03, 2015 14:33
- GitHub: Qwertymine
- In-game: qwertymine3
Re: Redesigning the broken crafting system
Here is a somewhat crude implementation of this, with no legacy support.
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
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:
- qwertymine3
- Member
- Posts: 202
- Joined: Wed Jun 03, 2015 14:33
- GitHub: Qwertymine
- In-game: qwertymine3
Re: Redesigning the broken crafting system
Added legacy support and made a forum topic for it:
viewtopic.php?f=9&t=15405
viewtopic.php?f=9&t=15405
Avatar by :devnko-ennekappao:
- SegFault22
- Member
- Posts: 872
- Joined: Mon May 21, 2012 03:17
- Location: NaN
Re: Redesigning the broken crafting system
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.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.
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?
-
- 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
-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.
-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.
Re: Redesigning the broken crafting system
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.
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.
-
- Member
- Posts: 96
- Joined: Sat Oct 17, 2015 10:47
Re: Redesigning the broken crafting system
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!
Re: Redesigning the broken crafting system
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.
Re: Redesigning the broken crafting system
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.
What should I call it? I'm open to suggestions, I've been thinking about this for days and have no good ideas.
- 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
@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. :-)
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. :-)
Re: Redesigning the broken crafting system
Having a "grid" in it completely defeats the point. :)ABJ wrote:deergrid?
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.Wuzzy wrote:But, oh well, I'd still like to see your proof-of-concept. :-)
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.
Re: Redesigning the broken crafting system
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
Crafting is a thing that could be done completely in lua. Maybe it's already done in lua, idk
- texmex
- Member
- Posts: 1753
- Joined: Mon Jul 11, 2016 21:08
- GitHub: tacotexmex
- In-game: tacotexmex
Re: Redesigning the broken crafting system
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)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.
- christoferlevich
- Member
- Posts: 325
- Joined: Thu Dec 01, 2016 23:44
- GitHub: ChristoferL
- Location: Athol, Massachusetts
Re: Redesigning the broken crafting system
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...
Re: Redesigning the broken crafting system
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.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').
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. :)
- 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
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).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 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.
- 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
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.
This reminds me that I should change the crafting method as soon as I can.
- 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
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.
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.
- 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
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.
Re: Redesigning the broken crafting system
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.
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.
Who is online
Users browsing this forum: No registered users and 3 guests