Jump to content
  • Advertisement
  • entries
  • comments
  • views

Crafting, Revisited

Sign in to follow this  


I've been re-visiting the crafting system in GC lately. My initial attempt at a crafting system worked like so: Each item drop has a Name. Crafting recipes consist of a string of Names, alphabetized and concatenated together and used as a key to index a recipe table. So if, for example, a recipe requires 2 Sticks and 1 Volcanic Ash, then the key of the recipe is StickStickVolcanicAsh. When materials are dropped in a crafting table, they are sorted and concatenated, and the recipe (if valid) is looked up to generate an item for the preview pane.

Now, this works great, but now that I'm brainstorming tech trees and advancement paths, and figuring out the progression, it is showing it's limitations. So I've come up with a modification. Now, items have another field, MaterialType, that denotes the class or type of the material, as well as a name. The MaterialType is strongly similar to the old names, ie a Stick is still a Stick as far as the recipe key concatenation goes, but now I can have Maple Stick, Oak Stick, etc... and any kind of Stick can be used in a recipe calling for Sticks. To this system, I've also added the concept of item levels, which are held in a table (I'm still mulling over the ilevel system details) and which denote the "power" of the item. This ilevel is referenced by the item crafting subsystem to scale the power of the crafted item accordingly.

I'm still hammering out the particulars of the item level system, and how it relates to the output of the crafted item. I've thought about having a single ilevel, that scales all aspects of the output item, or having separate ilevels corresponding to aspects of item powers: physical, fire, lightning, etc... I'm kind of leaning toward a single ilevel, but time will tell which way I end up preferring.

The ilevels of all components need to be summed, and the resulting coefficient applied to the formula that powers the item.

So say a Maple Stick has an ilevel of 2, and Powdered Pumice has an ilevel of 3. StickStickVolcanicAsh made of these will have a combined ilevel of 7. Currently, the most likely system will divide this coefficient by some value (maybe 10 or something to that effect) and use the resulting fraction to scale the damage components, durations, etc...

So if a baseline Wand of Sparks does a range of 12 to 15 damage, and I craft it with an ilevel of 7/10, I would end up with a Wand of Sparks that does 8.4 to 10.5 damage. Now, say I find a couple Oak Sticks and some more Powdered Pumice. Now if I craft a Wand, the ilevel will be, say, 11. That gives me a coefficient of 1.1, for a Wand that does 13.2 to 16.5 damage.

The benefits of this system include less work on my part in constructing recipe tables. I can write a recipe (StickStickVolcanicAsh) and have it work for any combination of StickStickVolcanicAsh, whereas otherwise I would have to explicitly write recipes for all possible permutations of the recipe (MapleStickMapleStickPowderedPumice, MapleStickOakStickPowderedPumic, etc...) which would get out of hand very quickly. Barring that, I would still have to make a lot more recipes to give the player power advancement choices; this way, the player can power advance in small increments using already-known recipes applied to better and better ingredients.

The ilevel can be used as well to scale other things besides damage numbers. Durations, particle system scaling (to make bigger, flashier effects at higher levels), ranges, etc...


I've also been toying with the idea of a "hidden" field of study. The tech tree system has loosely settled into 3 different fields, roughly corresponding to scribing (scrolls and spells), alchemy (potions) and artifice (wands, relics). But there are a few other avenues as well (cooking being the chief one so far, but possibly with the addition of crafting-based sub-trees such as smithing, woodworking, etc... that can boost the main tech trees) that include their own specialized equipment. I'm thinking of adding a hidden tech tree, aligned with necromancy, to be characterized as a hidden, forbidden, obscure art practiced in secret. As you work your way through the world, killing mooks and whatnot, you're going to encounter items which seemingly have no use. Skulls, bones, feathers, tar, etc... Things that won't be used in "standard" tech. But devious players who spend enough time in seedy places, tinkering with shady materials, might stumble upon the means of creating a dark altar which acts as a craft bench for necromancy, opening up a completely optional tech tree.

This, right now, is merely speculation, as I haven't done anything except model a couple rough designs for an apprentice Dark Altar craft bench, but it's an idea that appeals to me.

Since a lot of my work lately has just been behind the scenes, I don't really have any new screens to post, but I'll try to get some new eye candy up sometime soon.
Sign in to follow this  


Recommended Comments

I like your ideas for tech trees and power advancement, and for the hidden tree. I must say, the thought of creating tech trees just makes me cringe. I have no confidence I'd be any good at it, or even be able to come up with enough tech to make it worthwhile. It's interesting to read your thoughts on it and to see your ideas develop.

I hate to propose even more work, but if I were to implement such a hidden tree, I'd want to implement at least two, and have them be exclusive, so that learning one would prevent learning the others. Or maybe if I felt more generous, they could all be learned, but the workbenches would be exclusive, so that one had to be destroyed (possibly destroying items made with it? although the player would keep any tech advancement so he wouldn't have to start from scratch upon returning to that tree) before one of a competing tree could be built.

Just an idea. Feel free to ignore it--it would add a significant amount o work, I'm sure ;)

Share this comment

Link to comment
That's a pretty good idea, actually. As soon as I read that, I started to visualize it as the player "tainting" his power. Rather than making the hidden tree exclusive with the "legit" trees, maybe knowledge and use of the forbidden arts will taint the legit trees, altering them somewhat to thereafter require use of necromantic components and spells even in heretofore legitimate magic. I could see adding tradeoffs to the system (a price in health required to cast necromantic and tainted spells, perhaps) but benefits of increased power and added dark effects in return, plus the design and balancing workload would be somewhat lessened since I would be able to use the legit spells as a template and just make modified versions of them, plus a handful of "pure" necromantic spells and recipes, rather than building entire new tech trees from scratch. If a player destroys his Dark Altar, he can renounce the necromantic arts, losing the necro spells and cleansing his traditional powers back to normal.

Share this comment

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!