Crafting

Started by
15 comments, last by Guthur 15 years, 3 months ago
Hi I am sketching out a few preliminary ideas for an upcoming project, and I have decided that one of the elements I would like to include is crafting, or combining several objects to create one. Ideally I'd have a few base items that could be combined in several different ways to create different weapons, or perhaps tools. For instance: Rope, Stick, Blade, Ball Stick & Blade = Scythe Stick & Rope & Stick = Nunchuk Stick & Ball = Mace Stick & Rope & Ball = Flail Stick & Rope & Ball & Blade = Spiked Flail Stick & Stick = Boomerang etc. The different components (as well as some sort of crafting skill) would determine the speed, accuracy and damage of the weapon. Are there any well-established, intuitive ways of doing this? I know Diablo II has a crafting system but that seems to revolve more around magic than common sense. I'd like some sort of interactive process if possible, like attaching different parts to each other - but that doesn't seem particularly feasible. I'm also thinking that perhaps particular weapons could double as tools - for example, a staff could let you pole vault, or a whip could let you grab something indiana-jones style. I've an idea of how this could be implemented in my system, but I'm unsure as to whether it's too complicated a concept. Your comments would be appreciated!
Advertisement
I might be speaking non-sense here, but here it goes...
this is the way i'd try to achieve this, don't know if this will work....
im not really an oop expert, just an idea.

You said you already have a base class for your objects and all objects inherit from it.
So i believe that you have these "resulting objects" defined and also inheriting from the base class. So on these objects maybe you could create an object holder of your base class type with fixed size, so you can keep track if "requirements" for the new object are met. Then you could release all the resources for those old objects and start use the new one.

Regarding the different functionality for each one maybe you could use an interface for all the particular actions.

it was just a brain storm i guess :P hope it helps you in someway.

Regards.
blog: www.brasilokau.com/games/blog
Sorry, perhaps I should clarify - currently I'm not looking for code patterns or methodologies, just the general way in which this system might work in terms of the user's interactions with the system. I'm treating the code itself as a little black box at the moment, something that I'll come to at a stage when the concept is fully formed.
I recommend reading about how weapons are made in the real world and model a simplification of that.
I answered a similar question here:

Clicky.
Dulce non decorum est.
If there's a finite and relatively small number of combinations, then you could just have a list of them. The player could either pick what they wanted to craft from this catalog, or could start dragging items from their inventory to ingredient slots or an ingredient bin on a workbench, and the game could display a reduced catalog of only items that include those ingredients, or if you want to be more secretive about it, just inform the player whether the current combo was valid or invalid.

I want to help design a "sandpark" MMO. Optional interactive story with quests and deeply characterized NPCs, plus sandbox elements like player-craftable housing and lots of other crafting. If you are starting a design of this type, please PM me. I also love pet-breeding games.

When it comes to crafting systems, there's always going to have to be a base resource all other items are crafted from, sort of a base for players to expand upon.

So, for boomerangs, that would be wood.

For swords, metal.

For guns, pipes and tubes.

You know, attribute a weaponry class to a particular material so people don't accidentally go and farm a resource they can't actually use.
Pipes and tubes are made of metal...
Also, what you mine is ore. You need to refine it. Metalworking is an art.
And making a blade is not so simple as plugging a bit of metal. Blacksmithing is an art by itself too.
OK, I'll give a more explicit example behind my idea:

During gameplay, you find a nice, sturdy stick lying around. Let's say it's a broom-handle.
You also find a nice, sharp blade. Let's say it's an elephant tusk.

You combine the two to produce a weapon.

I want to give the user the impression that they can 'customise' this weapon somehow, and that their customisations have an impact on its performance. Obviously material can be built-in, but that's not relying on the user's interaction with the object. I want them to be able to see that if they attach the tusk to the end of the broom-handle, it's a much more effective weapon than if they were to attach it to the middle of the broom handle.

Again, it seems to me slightly unfeasible in a small-production game, and I'm just throwing it out there in the hope that someone's implemented or considered a vaguely similar concept before.
Quote:I want them to be able to see that if they attach the tusk to the end of the broom-handle, it's a much more effective weapon than if they were to attach it to the middle of the broom handle.


one way you could do that is have a set of rules that you can use to evaluate the perfomance of certain attributes of the weapon, but even with a small number of base items the potential amount of rules you could employ could be huge.

--------------------------------------EvilMonkeySoft Blog

This topic is closed to new replies.

Advertisement