Crafting, Recipes & Design

RawrRawr REGISTERED, Tester Posts: 511 Seed
edited November 2015 in Design
I'm going to blurt out my disapproval of how modding in new crafting recipes is and then maybe we can take this in a better direction.

As far as I can imagine, the current crafting & recipes system will end up in a UI battle and/or an exponential increase in objects that look the same but are named differently and thereby make a different object.

Why a UI battle? Simply because we're human. The number of items that you'd need to keep track of in order to be aware of conflicts with resources, priorities, tiers, you name it - IS TOO LARGE. So what do you do? You create a UI that returns you all the items with x priorities or all items that conflict with x... I'm of the strong opinion that is very short sighted. Why? because you'll quickly run into the problem of balancing/adjustment. Sure, you've got the UI that tells you x conflicts with y for z reasons but what do you change? changing x may actually increase the numbers of conflicts because you weren't thinking about the other items were you.

So you see in minecraft, order's of magnitude increase in objects that look the same, slightly different name and thereby create different objects. This on the whole will tend people towards not co-operating with each other. why? because modder x can't use mod y's resources because then they'll have to deal with all potential conflicts as described in the UI battle.

I strongly disapprove. We can do better.

But I'm breathing out a sigh atm because I don't have the answer AND thankfully for that matter because if it was a problem that could be solved instantly, I'd be very suspicious of the answer. For the moment, I haven't any clues as to where we might start either. At this point, all I want to say is that this needs some attention and thorough thought.
Programmer, designer, artist.


  • RawrRawr REGISTERED, Tester Posts: 511 Seed
    edited October 2015
    Ok, time to put some thought into it.

    I find trying to draw out the context helpful.

    I felt daunted in my attempt to create the crafting recipes for Dung's models, so what is that evidence towards? Am i just lazy? uncreative? Should I just make some UI to tell me the useful bits of information and slowly add onto the current tech tree?

    Surely the answer is in part all three however my writing here is more of an attempt open up the discussion. Hopefully something even better comes along because of it.

    If I where to narrow down my concerns to one thing, its that I'm not convince that our current crafting system is scalable. Is there any basis for such a thought? Well lets detail the current system and then prod around.

    Characters start with nothing. They hit vegetation and pick up rocks which gives them the basic resources. Putting down combinations of particular items and pressing the craft button will make some new items. Now begins various requirements such as refining, holding tools and having items within a radius of a workstation.

    To create structure to the problem, I'm going to define things as such:
    -a function will be a process that takes components as inputs and produces an object.
    -components are the objects and/or other resources (like energy).

    Note: By these definitions it becomes very difficult to separate individual functions (i.e. refinement, breakdowns and conversions) from combinations. Why? because tools and workstations can be viewed as components of a function.

    Prod. Crafting is a matter of uniqueness. So the first thing we must do is define how one recipe is unique from another. Atm this is achieved through aligning all the different components of function(s). So here's one of my idea's to expand the system: Visual uniqueness. To demonstrate what I mean here, place a stack of vines, a stack of round rocks and a stack of forked sticks. Three objects are in-front of you and pressing the crafting button will make a crude hammer. Now, pick up the stack of vines and place each vine individually. You've now got the same previous stacks except that there are lots of vines in a big pile. Crafting here still makes a crude hammer. Why? Visually it doesn't make sense. You've got one round rock, one forked stick and a pile of vines. Why should that make a crude hammer?

    Prod. IMO priority is a band aid. Unless someone can present the case else-wise I see it as evidence that uniqueness hasn't been well defined. It's a value comparison to say do this one first when there's a conflict. Why is this not good? Well down the track, when even more recipes are in-game/modded there will be the situation where someone doesn't want the higher priority object.

    Maybe a good question to continue the discussion with is what are the possible ways for someone to create uniqueness in the crafting system? what conditions would you create? Would you change functions in some way? Maybe introduce a structure of some kind? What would that structure look like? How would someone else discover such a structure?

    EDIT #2: I've found two examples already within indev 0.8.7 of not being able to craft the item I expected. Had a 2 vines, a forked stick and a hammer rock on a crafting table which was making a vine shoulder wrap instead of a crude hammer. I did look up into the TUG data files to check what was going on just in case. Nope. Guess this problem is cropping up earlier than I thought it would.
    Programmer, designer, artist.
  • RawrRawr REGISTERED, Tester Posts: 511 Seed
    I wanted to clarify and hopefully expand on structure.

    First an example. Minecraft has a structure to it's crafting. It's the grid on which items are placed. Lets not forget mods either because some of them expanded crafting into creating 3 by 3 by 3 arrangements of blocks which is again structure within crafting.

    So is that what will end up happening in TUG? Well, I'm all good with the idea of voxel placement as structure for at least some crafts but before we jump into accepting the grid I wanted to try see if we could generate some other ideas.

    Unfortunately I've only got two things swimming around in my brain atm. One is the grid (as above) and the other is graph theory. But I have no idea how you could make graph's applicable.
    Programmer, designer, artist.
  • RawrRawr REGISTERED, Tester Posts: 511 Seed
    Ok. I've got an idea for graph theory within crafting.

    I'll start with how I'd define the two pivotal features of all graphs:
    The node(s): are any object
    The edge(s): imply that the connected nodes will be combined.

    Workstations have a GUI interface added for crafting via the graph structure.
    The number of nodes that a workstation has could vary, say 3 with a crude workstation and 4-5 for an artisan workstation.
    Edges are optional and modified during the crafting process.
    Nodes could have types i.e. normal, binding, magic.

    The players inventory can be opened up as usual and objects can be drag and dropped into the interface.
    During the process, if the player creates a graph that does make something, then the GUI will glow and pressing the normal crafting button will make the object.

    I'm thinking it'd be a good idea to divide this into two GUI interfaces. One for the graph discovery and another for repeating crafts.

    There is still the need to be careful about uniqueness within graphs. I'm going to have to edit this post later after I've thought more about it.
    Programmer, designer, artist.
  • PixelDragon13PixelDragon13 REGISTERED, Tester Posts: 116 Seed
    Another way to craft certain objects could be to Z-place the objects required in a certain pattern. For example when making a pumpkin cauldron, place three sticks with the top ends sticking in each other, place vines on top (maybe it could be automatically "bind the sticks", so you'd get the building up effect) and then place a pumpkin shell in the middle.
    Now, one thing that could be done is having to press G to craft. Another way could be to use Johnny's connector system, for example, so it automatically clicks the parts together and it turns into the workstation.
    TUG Modder
    Twitter: @IKStreamIvo
    YouTube: IKStream!
    Site: Pixel's Web
Sign In or Register to comment.