Crafting Script ("DIYC"-Advanced)

Evgenij

Veteran
Veteran
Joined
Aug 28, 2013
Messages
349
Reaction score
100
First Language
German
Primarily Uses
N/A
Im currently programming a crafting script where the player needs to place the ingredients into a "pool" and hope to get something useful out of it.


The script seems to be in a good stage, but Im unsatisfied with the scene. The controls feel bad. Im hoping to get some feedback and maybe ideas on how to make it a better experience for the player.


The Script is highly customizable.


Some Screens:


You can find a demo here: http://1drv.ms/1CuXOBw


The raw script can be found here: http://pastebin.com/9cfAu7cN


Im thankful for every response.


Greetings
 
Last edited by a moderator:

Yuuta Kirishima

Software Engineer/Professional Mayonnaise Player
Veteran
Joined
Jul 9, 2013
Messages
550
Reaction score
131
First Language
Engilsh
Primarily Uses
RMMV
Why this is heavenly, I bet you weren't expecting a reply so soon, buy my God, this looks amazing. Good Luck.
 

Wavelength

Pre-Merge Boot
Global Mod
Joined
Jul 22, 2014
Messages
4,701
Reaction score
3,962
First Language
English
Primarily Uses
RMVXA
It's a rather impressive script, and personally, I really like the approach you're taking to crafting, where it becomes an activity unto itself (with success/failure chances, and discovery of recipes) instead of just a fetch quest to get X amount of item Y to transform into item Z.  What I like even more is that you can turn off things that you don't want, like Leveling or Tool Use.  Documentation is also above-average, which will be appreciated because it's a complex script as a result of its high flexibility.

I haven't gotten to try it out for myself yet (and might not for a while as my current project is one of those rare fringe cases that has no use for crafting), but upon looking through the setup section of your script, a few questions come to mind:

  • Can multiple craftable items have the same recipe (e.g., combining the ingredients Fresh Berries x 2 and Pastry Dough could make Blueberry Pie or Cherry Pie or Blueberry Scone or Cherry Scone)?  If so, how will it select which item is crafted?
  • Can a craftable item have multiple recipes (e.g., combining Fresh Berries x 2 and Pastry Dough can make Blueberry Pie, but combining Berry Mix and Pie Crust can also make Blueberry Pie)?
  • Can different tools be used for the same recipe (e.g., you can use "Good Hammer" or "Great Hammer" to smith a chain mail)?  If so, can they contribute to the success formula ("Great Hammer" gives you a better chance to succeed)?
  • What is Base_Level used for?  Will crafting always fail for a craftable item if its Base Level is 6 and your level in that crafting skill is 4?
  • If I want to reference the party's crafting level outside the scene (for example, I want to have an NPC say something different and give you a new sidequest if your Smithing level is 8 or higher), how would I do this?  Would it be EVG::CraftingType.level >= 8 or something else?
Also, a few suggestions - again, since I'm just going by a screenshot and 20 minutes of reading through the script's setup, take them with a grain of salt, but maybe I'll hit on something you hadn't considered:

  • Have an optional setting that allows a recipe to be made with extra ingredients.  (For example, if the recipe to create Blueberry Pie is 2 Fresh Berries + 1 Pastry Dough, then allow me to create it using 3 Fresh Berries + 2 Milk + 1 Lemon + 2 Pastry Dough.)  This would make it much easier to discover new recipes - a player won't be inside the creator's head to know whether the recipe for a hamburger will include a mandatory tomato or not.
  • Consider adding functionality to store and select recipes once they are discovered.
  • Show the ingredient's name when you're selecting it (as you can see from your screenshot, it's difficult to tell them apart especially if they have the same picture)
  • Consider swapping the position of the two side-by-side windows (current selections vs. ingredients) and see if it flows and feels better; my instinct is that it will because you are moving items from the left side to the right side
  • Not sure how hard it would be to do, but it would be nice to be able to switch from one crafting type to another without leaving the entire crafting scene
 

Kes

Veteran
Veteran
Joined
Aug 3, 2012
Messages
21,779
Reaction score
10,999
First Language
English
Primarily Uses
RMVXA
I thought I'd have a look at this via the demo, so that i could see how it is in action.  However, the game won't run as it can't find

Data/Map001.rvdata2
 

Yuuta Kirishima

Software Engineer/Professional Mayonnaise Player
Veteran
Joined
Jul 9, 2013
Messages
550
Reaction score
131
First Language
Engilsh
Primarily Uses
RMMV
Just rename "Map002.rvdata2" to "Map001.rvdata2"

I thought I'd have a look at this via the demo, so that i could see how it is in action.  However, the game won't run as it can't find

Data/Map001.rvdata2
 

Kes

Veteran
Veteran
Joined
Aug 3, 2012
Messages
21,779
Reaction score
10,999
First Language
English
Primarily Uses
RMVXA
Did that, however, the demo doesn't fully work as you intend.

You get the items from the chest on the left.  These are bottles and Life Flowers.  However, the NPC wants Life Powders, and without them nothing triggers.

I went into the chest event in the editor and added the Life Powders.  However, they still don't show up in the Inventory (how that can be is beyond me).  so I was unable to test that aspect.

The NPC on the right offers me 3 recipes, but the only way I could find out what they were was to speak to him again.  I think it would be helpful if recipes were easily visible in some form.  Otherwise I can see all sorts of possibilities for player errors.  Fine if the player wants to experiment, but if they are risking their only level 2 axe, they will want to be sure that the crafting isn't going to fail because of a mistake on their part.  Because of the possibility of the crafting failing, I can see a lot of save scumming on this, unless the player happens to have several of the particular item.  In which case, I'm not sure that it's actually worth having a failure rate.  Maybe it is, but I am doubtful that many players will accept the result and most will simply reload and try again.

The crafting interface is quite clunky, there is an awful lot of backing out to get from one action to another.
 

Evgenij

Veteran
Veteran
Joined
Aug 28, 2013
Messages
349
Reaction score
100
First Language
German
Primarily Uses
N/A
  • Can multiple craftable items have the same recipe (e.g., combining the ingredients Fresh Berries x 2 and Pastry Dough could make Blueberry Pie or Cherry Pie or Blueberry Scone or Cherry Scone)?  If so, how will it select which item is crafted?
  • Can a craftable item have multiple recipes (e.g., combining Fresh Berries x 2 and Pastry Dough can make Blueberry Pie, but combining Berry Mix and Pie Crust can also make Blueberry Pie)?
  • Can different tools be used for the same recipe (e.g., you can use "Good Hammer" or "Great Hammer" to smith a chain mail)?  If so, can they contribute to the success formula ("Great Hammer" gives you a better chance to succeed)?
  • What is Base_Level used for?  Will crafting always fail for a craftable item if its Base Level is 6 and your level in that crafting skill is 4?
  • If I want to reference the party's crafting level outside the scene (for example, I want to have an NPC say something different and give you a new sidequest if your Smithing level is 8 or higher), how would I do this?  Would it be EVG::CraftingType.level >= 8 or something else?
Also, a few suggestions - again, since I'm just going by a screenshot and 20 minutes of reading through the script's setup, take them with a grain of salt, but maybe I'll hit on something you hadn't considered:

  • Have an optional setting that allows a recipe to be made with extra ingredients.  (For example, if the recipe to create Blueberry Pie is 2 Fresh Berries + 1 Pastry Dough, then allow me to create it using 3 Fresh Berries + 2 Milk + 1 Lemon + 2 Pastry Dough.)  This would make it much easier to discover new recipes - a player won't be inside the creator's head to know whether the recipe for a hamburger will include a mandatory tomato or not.
  • Consider adding functionality to store and select recipes once they are discovered.
  • Show the ingredient's name when you're selecting it (as you can see from your screenshot, it's difficult to tell them apart especially if they have the same picture)
  • Consider swapping the position of the two side-by-side windows (current selections vs. ingredients) and see if it flows and feels better; my instinct is that it will because you are moving items from the left side to the right side
  • Not sure how hard it would be to do, but it would be nice to be able to switch from one crafting type to another without leaving the entire crafting scene
  • You can assign as much results as you want for one recipe. I think that if you make the same recipe more than once, the results get merged. 
  • Yes multiple recipes for same result is possible
  • Yes just make two different recipes with same result (Maybe I will add that you can define tool types and assign just the tool type to the recipe, you then can make different tools with different modifiers out of one tool type. This would make the process easier)
  • Base Level is used in the success formula. So if your level is below base the success rate is lower. But I think you can change it, need to look at the script for this. Its also used that when you reached a certain level you can make it so that the amount of your result have a chance to be higher.
  • I will add a list of script calls to the documentation of the script.
About suggestions:

  • Don't quite get what you mean here
  • Yes good idea will make it
  • The window at the bottom is there for this purpose
  • I try it
  • Yeah the scene is already overloaded. I need to find another design for the scene to make this possible. Anyone has an idea?
@ksjp17

Will look into the demo and fix it. 

I know that the scene is clunky. This is one of the main reasons for why I have posted the script here.

Thanks everybody for the detailed feedback!
 

Wavelength

Pre-Merge Boot
Global Mod
Joined
Jul 22, 2014
Messages
4,701
Reaction score
3,962
First Language
English
Primarily Uses
RMVXA
Thanks for your answers!  Most of them sound very good, and I'm happy you're open to the suggestions.

  • You can assign as much results as you want for one recipe. I think that if you make the same recipe more than once, the results get merged. 
Are you saying that in this scenario (where multiple recipes use the same ingredient list) you might get ALL of them with a single crafting attempt?  To me that seems like an odd way to handle it (ideally I'd expect one of the items to be awarded at random, maybe weighted by base success rate), although maybe I'm thinking about a different use case than you are.

Don't quite get what you mean here
Sure, I'll clarify.  Let's say there's a recipe in the game for a "Cheeseburger": 2 meat + 1 cheese + 1 bread + 1 lettuce.  Now let's assume that I, as a player, have not seen this recipe but I'm clever and I think let's see if I can make a burger.  So I choose 2 meat, 1 cheese, 2 bread (because I think of it as a "top bun" and a "bottom bun"), 1 lettuce, and 1 tomato (because where I'm from most people put tomatoes on burgers).

I assume that in your current system, because I have added a few things that are not necessary in the recipe, that the craft attempt will fail and make nothing.  But as a designer, I would want to give credit to the player for discovering the recipe if they figured out all the right ingredients like this.  So I would want an option (whether it's a global option or tied to each recipe) to let the player still discover the recipe (and craft the item, though with some wasted ingredients that weren't used) if they try crafting with all of the right ingredients that are in the recipe plus extra ingredients that aren't in the recipe.

  • Yeah the scene is already overloaded. I need to find another design for the scene to make this possible. Anyone has an idea?
Possible ways to do it would be to have a separate window that is one level "above" the current crafting menu in the hierarchy (much like the main menu and the items menu when you hit ESC/X on the Map Scene) where you choose which type of crafting you want to do, or to allow switching directly from one type of crafting to another by pressing Q/W while on this crafting scene.  Both ways would take zero screen space away from the current crafting scene's layout.
 

Evgenij

Veteran
Veteran
Joined
Aug 28, 2013
Messages
349
Reaction score
100
First Language
German
Primarily Uses
N/A
I have updated the script, I changed and added some things you have mentioned (not all) plus some other new features.

Changelog:

/*- Renamed the script to "DIYC-Advanced" to prevent confusion with my old "DIYC" Script- Ingredient slot size is now controllable via a variable- Crafting Types now switchable with L/R (Q/W on Keyboard)- Switched item and ingredient window positions- Removed the start/view results subwindow, now crafting is started via a button and results can be viewed from the general command menu- Updated help window to support commands- Confirmation window to start the crafting added(optional)*/*edit*

Updated the script again. Now you can switch between custom crafting and recipe crafting(only learned recipes) with the button Y (S on Keyboard)

Changelog:

Code:
/*- Fixed a bug: fixed tool is the same for all types  when type list are used on script call- Changed the way the item category window works to  make the scene more smooth- Added new recipe list mode for faster crafting of  learned recipes*/
 
Last edited by a moderator:

Cerveau

Villager
Member
Joined
Sep 16, 2015
Messages
24
Reaction score
6
First Language
Tagalog
Primarily Uses
What is terms and license?

evgenij-scripts.org link seems to be broken and down.
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Posts

Latest Profile Posts

I was planning to release a useless plugin for april fools, but then I thought I let it be.
Tfw every dev around me is using Live2D in their MV games and make me question my skills repeatedly.

Spending the day reworking my maps, especially the first "biome". This time it's not even in the dark. :LZSwink:
Activity on the forums has increased lately, probably because of people staying home. The amount of work for moderators has increased lol.
At this point I've gotten so tired of April Fools on the internet that last year I just refused to even post anything on the RMW Social Media on April Fools in protest. Considering doing it again.

Forum statistics

Threads
95,521
Messages
929,773
Members
125,786
Latest member
Caramon
Top