PlaneShift
Gameplay => General Discussion => Topic started by: Gilrond on February 07, 2011, 06:10:56 pm
-
On the last "meet the devs event" crafting books were briefly discussed, and it was pointed out that they are basically dumps of crafting related tables, which descirbe the graph of available manipulation options. However describing it as a raw set of manipulations in a text form makes it practically totally obscure, and hard to understand without some reorganizing into inteilligeble form.
Are those tables available somewhere? I'd be interested in trying to write something to enable recompiling the table representation into human readable form.
-
svn database. but don't come with a 100-1000 lines patch before agreeing on how to implement it :)
-
I meant first may be something outside the game code, like transforming those tables into data which can be consumed by visualization toolkits. But the transformation can be probably applied in game too, to compile some readable text representation. I'll think about it.
Also, since those tables are mostly static, may be there is no need for ingame dynamic transformation, it can be done once with an external tool, and compiled result can be uploaded back whenever those tables are updated. Just a thought.
-
well we did some of those including graph and obtained a nice 4gb png which made my system even swap to load :P
the best is generation server side with the compilation of a recipe list (similar to the help panes) where you click on the result item and you get the whole procedure. This way rules devs don't have to poke me to load additional data, the server can well generate this, like it does now, during bootup and then just give it to the players.
-
the best is generation server side with the compilation of a recipe list (similar to the help panes) where you click on the result item and you get the whole procedure.
:thumbup: this would be completely and totally awesome
-
I checked out the source from https://planeshift.svn.sourceforge.net/svnroot/planeshift and so far found trade_transformations.sql which looks like related to the above. But may be I'm looking in the wrong place, this one contains very few records. Aren't those tables supposed to be pretty big?
-
trade_transformations trade_processes and trade_combinations are the tables you are interested into. Those are sample data which is enough to code such a function (or can be expanded in case it's needed but should have all the possibilities) and it's GPLV2. the tables in game in place contain other data which is licensed under ABC.
-
Is that data available, or it's closed? Throwing sample data in visualization isn't very useful in practice gaming wise. Coding the function is another step, for which test data should be enough of course.
-
If I understood the idea of that license correctly, the data is supposed to be not available. I can still experiment with visualizations, which you can utilize may be, but unless you host it on your site with your data there won't much use in it.
-
well a visualization is mostly for devs, in place the thing which is useful to players is the in game part.
-
Right, but I meant it as a help for players actually, since making a good visualization outside of the game is easier, than to make one inside. Is reusing the available textual data (like typing it in [horror], using OCR?) also problematic from license perspective?
-
There used to be a feature for a little while where you could save books to your desktop. That was a nice because you could save the crafting books to your desktop and CTRL+F whatever you were looking for. I know sometimes it's hard to find just how much stock you need for that one alpha blade. Not as good as a clearly written book, but it was something.
-
*cough*wireshark*cough*
-
Coding reading tables, creating a graph of transformations and finding shortest paths there (and dumping that into some format) is more than I intended to do initially, though I'm interested in doing that too. I'll try to get to it when it'll be possible. Just to note, that would involve defining some edge items.
I.e to make an example. One can make a sabre from
8 iron ores + 2 coal lumps -> ... -> 1 steel stock -> ... -> sabre blade
2 steel ingots -> .... -> sword handle
... -> sabre
If we want to get an instruction to make a sabre from initial materials, it means one needs to mark ores/coal, ingots (input) and sabre (output) as edge elements. I'm not sure if that info is presented in the table somehow.
Also, ingots aren't the very initial materials. Does it mean that it should say one needs extra ores to make 2 ingots too?
-
Some info to read:
http://www.boost.org/doc/libs/1_45_0/libs/graph/doc/index.html
-
the sub step would have to have an entry a finished product too. we don't mark finished products: this can be seen even more in helm crafting where you make a basic helmet perfectly usable and can improve to other types.
-
I'd guess it'll involve a whole pile of manual data input similar to the input of transformations themselves.
-
well the point is generating them out of the transform data
-
Edge items / complete objects? I'm still not sure how that can be done without explicitly manually marking them as such using some separate table.
-
why not just reorder the information? right now it's listed in order of command, all the quench commands are together..etc...why not just
<Weapon>
Requires: <amt><type>ore and <amt><type>ore
1) Combine <amt><type>ore and <amt><type>ore to make steel sludge
2) Heat steel sludge in in furnace to make molten steel
3) use stock casting on <amt>molten steel to make <amt>steel ingot
4) use stock casting on <amt>molten steel to make <amt>steel stock
and so on for each weapon.
-
Yes, doing this reordering requires building the graph of transformations as mentioned above, and somehow distinguishing nodes which represent complete / source objects and then finding the (shortest) path between source and final ones. This at least requires configuring what items are considered edge ones - it can't be determined from the graph alone, because there are multiple loops (like recycling the blade back to stocks etc.).
-
I see. So wouldn't it be easier and more understandable if this was implemented in-game as a flowchart, rather than as text?
-
How to implement the visualization of results is a second question, the first one to solve is how to get this data from the current set of transformation tables which are presently just dumped as books :)
-
Keep on it, Gilrond! :thumbup:
I can't be the only one who is having problems figuring things out...at least the first few times you do them. Read 75 lines only to find the first step in the process at the bottom...next step...time to read 75 lines again. At least the ability to save to text so you can do a keyword search would be a massive improvement. Right now it's all so helter skelter.
-
At least the ability to save to text so you can do a keyword search would be a massive improvement. Right now it's all so helter skelter.
*cough*wireshark*cough*
Used it, worked fantastic. ;)
-
Yeah, wireshark is a super tool, thanks for the tip Minks :)