Re: [crossfire] RFC: dynamic alchemy
On Mon, 22 May 2006 23:56:52 +0200, Nicolas Weeger (Laposte) [EMAIL PROTECTED] wrote: For many formulaes I find the ingredients way too hard to find as compared to finding the equivalent item. I agree. The only exceptions are the water of the wise that are easy to create, especially when purchasing water bottles from the converter in the alchemy shop. It is also easy to find the ingredients for the water of diamond/emerald/ruby/saphire and the mushroom of Gourmet. But beyond these simple things, the cost/benefit ratio of alchemy is just too bad. I'll grant you that potions will work everywhere, as opposed to scrolls/spells on cursed/non magic squares. But still, for instance balm of first aid is way too hard to do, for a few hitpoints restored! (as a side note: shouldn't the balm of flying [word of recall] work whether square is cursed or not, like other balms?) Isn't that the balm of return home? Anyway, I haven't checked but I suspect that the spell is cast when you apply the balm but it fails later when you should be teleported back home (like when you invoke word of recall just before entering a cursed area). Anyway, the cursed squares are a separate issue: I think that too many maps have cursed/no magic areas without giving appropriate clues/warnings to the player. Some of them are there for historical reasons and could probably be removed or replaced by something else. This would deserve a separate discussion. As for finding formulas, I'd say your idea of alchemists could be interesting, but shouldn't require combat or such - maybe finding ingredients, or rare items? Acquiring some of the ingredients may involve some kind of combat. If the alchemist asks you for a chinese dragon's heart or even some simple orc chops, I don't think that you can find them easily without fighting. Currently, the easier quests ask for ingredients that are not too hard to find. Some of them may not even require combat. For example, collecting some flowers or mushrooms. Although they are hard to find inside the cities, they can be found easily in some random maps where they are just waiting to be picked up. The quest gives you some hints about where you might find these ingredients but since they are generic objects you are free to bring them from some other place or even buy them in shops. The more difficult quests (I have only one currently but I am planning for some others) give you access to more interesting formulas. They also require ingredients that are more difficult to find and always require some combat. For these quests, the alchemist (or bowyer, etc.) will ask you to bring him some dread's eyes, lich dusts, etc. Or maybe even more specific items such as blue dragons' steaks or other objects that can only be found in a few places. -Raphaël ___ crossfire mailing list crossfire@metalforge.org http://mailman.metalforge.org/mailman/listinfo/crossfire
Re: [crossfire] RFC: dynamic alchemy
Could someone explain how potion making and similar magic where the result is nothing like what you start off with will work? Will you need to put in a water bottle as part of the recipe? What about balms? ___ crossfire mailing list crossfire@metalforge.org http://mailman.metalforge.org/mailman/listinfo/crossfire
Re: [crossfire] RFC: dynamic alchemy
On Wed, 24 May 2006 14:56:16 +0200, Wim Villerius [EMAIL PROTECTED] wrote: On Mon, 2006-05-22 at 20:50 +0200, Raphaël Quinet wrote: I am not sure that the dynamic alchemy as proposed here is the best alternative, but at least it is better than the abuses that are allowed by the shadow alchemy tricks. Honestly, I am not sure as well but I am sure that it's better than current alchemy and I am even more sure that we can find a still better solution. That's exactly why I brought up this point. Hopefully we can design an alchemy-system that makes the alchemist-profession as useful as the warrior :) As I wrote in my reply to Anton Oussik, I would prefer a system that keeps some constraints on the ingredients and on the result of the formula. A system with a bit more freedom than the current alchemy, but not much more. I think that the dynamic alchemy is very interesting but it goes a bit too far. Also, shadow alchemy is player knowledge and not character knowledge: this gives an unfair advantage to experienced players regardless of their character level. Yes, shadow alchemy is player knowledge, not character knowledge. But the same goes for current alchemy, maps (passwords), where to find artifacts, how to beat monsters, etc etc. In other words, (almost) the whole game is player knowledge. Well, it is worse for shadow alchemy: it is player knowledge that is very hard to acquire while playing, but easy to remember (or write down) once someone or some program tells you how to do it. So it is a bit like cheat codes for the game. The shadow formulas are of very little use for the normal players. Even using dynamic passwords would not change that much: an experienced player knows where to find the password. What's the point? Player experience is just everywhere, so perhaps it is not as worse as it looks. I agree. But the fact that some things are not perfect should not be an excuse to making them even worse, if you see what I mean. Why do I suggest _that_? Because from a player perspective it's horrible to search for information you already know. Why do a quest to learn that water of the wise is made in a cauldron using 7 water if you already know that? Oh, just because the game forces you to do so. Nothing wrong with that for some items (especially powerful receipes) but I think it will be very annoying if you have to do so for all receipes. (Note that I am not suggesting that this was your suggestion, I just want to express a bit of frustration about games that forces you to find out what you already know) I also agree with that. None of the basic formulas should be locked. There is no point in forcing the player to go to a specific place to find how to make the water of the wise. These formulas should be much easier to find anyway and if a player already knows them, then they can as well use them directly. On the other hand, the most powerful recipes should be locked because they are quest items. Even if I remember how to create the potion of fire immunity, I do not expect to be able to use it immediately when I create a new character: I know that I have to go through the fire temple first. [...] I suggest to put a lock on every receipe that has a change of zero to be found in random treasure. (there are quite a few: face of death (dust, currently broken according to the formulae file), fire immunity, invulnerability, magic immunity, electric immunity, magic power (both formulae), fiery destruction, rainbow wave, bolt/arrow of Assassinating {Dragon, Troll}, bolt/arrow of Blessedness) My reason for that is that the formulae don't show up in the game, so players are not supposed to create them. And in fact, they cannot, unless they cheat. I would as well add the formula for the potion of cold immunity to that list, but it currently has a small but existing chance to appear. As I mentioned earlier, I would also like to lock that potion. But this is only a suggestion. P.S.: Did you know that there are ... only two maps in which one can find Ancient dragons (and the corresponding dragon steaks required for entering the dragon training levels)? Nice statistics... Perhaps this one is not very player-friendly. Well, the entrance to the dragon training levels requires three sacrifices (Ancient dragon's steak, ancient red dragon's steak and Acient Blue Dragon's steak). That map is in /dungeons/train/dragon_train. The sacrificed items are difficult to find but I think that it was done on purpose. However, it would have been nice to give a few hints about where these items can be found. In fact, one of the reasons why I wrote my map checking script is because I could not find one of these 3 dragons' steaks, even though I had no problems finding the items required for the other training levels (undead, humanoid, etc.). So I wrote the script in order to check if I had overlooked some area of if that training map was broken because it was asking
Re: [crossfire] RFC: dynamic alchemy
On Thu, 18 May 2006 10:34:25 +0200, Wim Villerius [EMAIL PROTECTED] wrote: On Tue, 2006-04-11 at 21:21 +0100, Anton Oussik wrote: To those unfamiliar with it, shadow alchemy generally involves finding hash collisions for the recipes, fooling the alchemy code into thinking you are doing something else entirely. Since the hashing function is (on purpose) very weak, there is no easy way of making shadow alchemy impossible short of entirely changing the way traditional alchemy works. It is currently hard enough to discourage most people though (thanks to some safeguards in the code). For most purposes, however, it currently does what dynamic alchemy will do, but without the much needed game balancing, and very scarce documentation. AFAIK shadow alchemy is indeed in desperate need of game balancing and since it is by no means documentated (except that it's written 'in the code') it is almost never practised (anymore). At least on MF, I know no active players that do anything with it. (Are there any active players anyway?) Perhaps I could even put it this way: because shadow alchemy is undocumented (and almost unknown) there is a request for dynamic alchemy! Sorry for joining this discussion a bit late, but I only restarted plauing Crossfire a few weeks ago. In my opinion, the shadow alchemy should be removed from the game because it will soon be too easy to abuse it (more on that at the end of this message). I am not sure that the dynamic alchemy as proposed here is the best alternative, but at least it is better than the abuses that are allowed by the shadow alchemy tricks. Also, shadow alchemy is player knowledge and not character knowledge: this gives an unfair advantage to experienced players regardless of their character level. One of the reasons for the RFC on dynamic alchemy was that alchemy is not used that much in the game. Before reading that RFC (while being mostly off the net) I started working on a partial solution to that problem: I have started creating a set of maps for an alchemy quest. The basic idea of these quests is that you can apply for being thaught some alchemy tricks by some some alchemists (and smiths, bowyers). They ask you to perform some specific tasks before they reveal more of their secrets to you. This is a bit similar to the quest for becoming the prince of Scorn and the rewards are some formulas, like in the fire temple quest (by the way, I would like to put a lock code on the potion of cold resistance, like there is one for the fire potion that can be found in the fire temple). Some of the tasks that the alchemists assign to their pupils involve the creation of specific items that can only be created by alchemy. For example, you will only get the next task if you sacrifice a Frostbrand or Firebrand of Slay Dragon. It will probably still take a few weeks (or months?) before I am ready with these maps and offer them for testing, but I am hoping that adding some quests related to alchemy could encourage more players to develop their alchemy skills. One of the things that hinder the usage of alchemy in the game is that the formulas are *much* too difficult to find in dungeons and in shops. As a test, I created a new character and I decided to collect all readable items that I would find in the dungeons (bestiaries, books on religion and of course alchemy) and to buy any formula that I could find in a shop. After a few weeks, I had collected a few hundred books on religions and on the various monsters and items, but only 53 unique formulas (I got rid of the multiple copies for the water of the wise). As a comparison, I had also collected 4416 scrolls of identify (various levels) during that time. More than four thousand. Another comparison: before finding the formula for the Ring of Beguilement, I had already found 15 of them in the dungeons. And before finding the formula for the Ring of Mithrandir, I had 4 of them. It is not surprising that nobody uses alchemy if it is so hard to find the formula for any useful item. Not to mention that having the formula is a prerequisite, but only a small part of the solution: the ingredients are usually hard to find and the difficulty for creating the most useful items is such that there is a very high probability of failure. I had to slay a very large number of dragons and many Firebrands/Frostbrands before I was able to create a (non cursed) weapon of Slay Dragon. My suggestion would be to increase (by a large amount) the probability of finding formulas in treasure lists. On the other hand, there could be less books on religions. In my opinion, the random books on religions could even be removed from the treasure lists: the knowledge of gods is mostly useful for low-level characters. After having gained a few levels, it is likely that the player would have already picked a god and is unlikely to change. For that reason, it would be more useful to have the books on religions as part of
Re: [crossfire] RFC: dynamic alchemy
On 22/05/06, Raphaël Quinet [EMAIL PROTECTED] wrote: On Thu, 18 May 2006 10:34:25 +0200, Wim Villerius [EMAIL PROTECTED] wrote: On Tue, 2006-04-11 at 21:21 +0100, Anton Oussik wrote: To those unfamiliar with it, shadow alchemy generally involves finding hash collisions for the recipes, fooling the alchemy code into thinking you are doing something else entirely. Since the hashing function is (on purpose) very weak, there is no easy way of making shadow alchemy impossible short of entirely changing the way traditional alchemy works. It is currently hard enough to discourage most people though (thanks to some safeguards in the code). For most purposes, however, it currently does what dynamic alchemy will do, but without the much needed game balancing, and very scarce documentation. AFAIK shadow alchemy is indeed in desperate need of game balancing and since it is by no means documentated (except that it's written 'in the code') it is almost never practised (anymore). At least on MF, I know no active players that do anything with it. (Are there any active players anyway?) Once this full list of all items is available, it is not very difficult to perform a brute force attack on the alchemy hashes. This would be easy to do because the large but finite list of all named items that can be picked up in the game can now be generated easily. And I am sure that once I publish my map checking script, it will not take long until someone does exactly that and publishes the full list of hash collisions for the alchemy code. Then the problems of the shadow alchemy code will become even more apparent. The full list of items is not really needed nor preferred. What you want is a list of easily avaliable ingredients (things you can get in large quantities from altars, money, and summonable items), and generate hash collisions using those. A couple of summers ago I wrote a short C program that parsed formulae file and generated collisions using these ingredients in O(n^2), it worked quite well. I also saw a Windows collision seeking program that would find a collision that was very profitable and generate a client side script repeatedly doing it. In my opinion shadow alchemy is not widely used because it is so obscure, not because it is impractical. The actual number of collisions is huge though - publishing (and generating) a full list of collisions is quite pointless. Removing shadow alchemy alltogether would only work by not allowing recipes not found in formulae file at all, in which case there is no point in having a hash value representing the recipe, and the way alchemy works needs redoing entirely. Dynamic alchemy IMO can replace what is used today, but I think it should work thus: If the recipe matches one in formulae file, use that. else use dynamic alchemy: Resistances: Max resistance that can flow in/out of an item is the level of the player in alchemy up to 100%. One can argue that this is too high, but it is already possible to get 100% resist items from traditional alchemy without shadow alchemy - on of the failures generates the desired item with stats doubled. Stats: Max stat that can flow in/out of an item is up to 5, and also depends on alchemy level, where lvl 1-20 is +/-1, lvl 21-40 +/-2, ... for each item in the device for each non-zero property (affected by alchemy) in the item find a random item in inventory get a random number between 0 and the max level allows if the number is greater than the amount in the original item reduce it accordingly transfer the property if amount in the new item is greater than level allows reduce to max level allows effectively alchemy will then have reproducible and yet random behaviour, and will act as a method to transfer properties between objects. Although this method will allow high resistance items in theory, they will be very very rare. This approach also does not need to build up any aditional tables, and so can be entirely implemented within alchemy.c. Also IMO traditional alchemy recipes should be made easier to do. By the time you find ingredients, you can already find/buy the target item. Perhaps ingredient shop should extract ingredients straight from the formulae file, and stock those, in large quantities. This way alchemist would be able to buy ingredients without spending ages looking for them in the wild. I know ingredient list is supposed to encourage exploration, but if you go exploring you will find the target more easily than find and collect all the ingredients. There also needs to be more medium and high level alchemy-only items that require high (100+) level to generate. ___ crossfire mailing list crossfire@metalforge.org http://mailman.metalforge.org/mailman/listinfo/crossfire
Re: [crossfire] RFC: dynamic alchemy
First of all, apologize for not replying before, I guess you almost forgot what the proposal was about - so did I. ;-) A quick summary: Dynamic Alchemy is the art of transferring magical powers (bonusses) from one object to another. It is not yet clear how the magical powers travel. There are at least two proposals. 1: mark an item as receiving object. 2: they flow from low to high. Due to this unusual direction, items with low magical value cannot be used to enchant to infinity. All items have an upper limit, above which they are useless. A dragon steak might raise (in several steps) the fire resistance from an object to e.g. +30, but not any higher. To make it +50, better stuff is needed (ancient red dragon's steaks) Also, it is not defined what 'magical powers' are. In principle, it is not limited to anything. The idea is that you can use alchemy without predefined results - and without fixed ingredients. Anyone who wants to know more is invited to read the message that opened the discussion - sent on March 27 2006. you wrote: Mark Wedel 1) The idea is interesting. However, like most such proposals, balance has to be maintained - if I can take a couple ancient red dragon steaks and get mithril chain resist fire +90, the case can be made that that is a bit too power. So true. for resist fire+90 one would need more than just ancient red steaks. Defining a max_resistance in a table (or the arches) would prevent this can happen. In the formula I suggested I included a factor (current_resistance - max_resistance) which is the upper limit of possible improvement for a particular source. Thus if an ancient red dragon's steak is defined to give at most +50 fire resistance, it will never ever add more fire resistance using these steaks. For sure, this value of 50 is an arbitrary choice, balancing issue's should settle the real value. 2) You mention where to store information about alchemical improvements, and state your preference for a table instead of the arches. I'd say arches are the right place - a large table is just unwieldy, and unlikely to get updated snip The other point is that if anything, the more recent push has been to get rid of files in the lib directory and put that into archetypes. snip OK, that's fine too. The main reason to prefer a large table was the initial work that is needed to change lots of arche files, that I'm uncommon with them and that in the beginning a lot of things need some tweaks for balancing purposes - which is easier with a 'huge table'. Anyway, I would say that it's not up to me to make such a decision. 3) Other things that could be added: hp/sp/grace regen, sustenance. Bonus movement types (flying, swimming, etc). This last one is trickier because it is really an all or nothing type of thing (either the item lets you fly, or it doesn't). An unrelated but perhaps interesting improvement would by duration items. Eg, this object will let you fly for up to 1000 ticks. Then, for each tick it doesn't fly, it recharges 1 tick of duration. In that model, partial movement types make sense - this object lets you fly, but right now, only for 20 ticks before it needs to rest - further improvements increase the duration. Doing this wouldn't be that far off from the rod code. I see no reason why these couldn't be added - as long as the item remains in balance. About movement types, I cannot exactly grasp how a platemail could give the ability to swim, my first guess would be it gives a 'dive' (rather: sink) ability. Nevertheless, magic is magic, so why not euh? I like the idea of temporary giving an ability, but what do you do with a swiming player that looses his abiltiy to swim? Unless boots of levitation become very rare, nobody will add a flying ability to their equipment - you can't thrust it. 4) In terms of stats - they are sort of like movement type - either you add a stat point or don't. However, the key-value lists could be used to hold fractional improvements. So each improvement gets you say 0.1 of a point - you could in fact use similar logic to your resistance improvement idea. Thus, it could a bunch of objects to improve a stat. Or the whole stat-thing should be redesigned to allow stats to grow into a few hunderd ;-) This requires a lot of work - all items should be updated. (And I think it's quite a different discussion at all.) A problem with the approach you suggest is perhaps that stats are stored as ints (I assume). I have no clue if it is possible to change that behaviour. 5) Direction of resistance - if prepare weapon scroll is used, as said, that solves the problem. However, as one of the potential bad effects, maybe it does reverse. One problem with 'low to high' is that if you are starting with something relatively mundane you want to improve, that is unpredictable. Lets suppose for some reason you just want to start with a simple +1 sword. That could be low. Yes, but then first start improving it with
Re: [crossfire] RFC: dynamic alchemy
On Tue, 2006-04-11 at 21:21 +0100, Anton Oussik wrote: To those unfamiliar with it, shadow alchemy generally involves finding hash collisions for the recipes, fooling the alchemy code into thinking you are doing something else entirely. Since the hashing function is (on purpose) very weak, there is no easy way of making shadow alchemy impossible short of entirely changing the way traditional alchemy works. It is currently hard enough to discourage most people though (thanks to some safeguards in the code). For most purposes, however, it currently does what dynamic alchemy will do, but without the much needed game balancing, and very scarce documentation. AFAIK shadow alchemy is indeed in desperate need of game balancing and since it is by no means documentated (except that it's written 'in the code') it is almost never practised (anymore). At least on MF, I know no active players that do anything with it. (Are there any active players anyway?) Perhaps I could even put it this way: because shadow alchemy is undocumented (and almost unknown) there is a request for dynamic alchemy! I like your idea about dynamic alchemy, but creating a resistance table seems like a lot of work, and so does messing with the arches. Instead, why not make a semi-random roll on what to add/subtract, partially based on the hash value of the ingredient? This means that only the alchemy.c file will need changing, and dynamic alchemy will have a much better chance of actually happening (+working). That would be very interesting, the only question is how to make a reasonable guess. It would be kind of weird if a Vampire's heart gives resist_fire bonus. I'm terribly afraid that it has to be documentend (one way or the other) what bonusses an item can give, but that could be my ignorance :) If you (or someone else) has an idea to make this suggestion work, I'd be happy with it. ___ crossfire mailing list crossfire@metalforge.org http://mailman.metalforge.org/mailman/listinfo/crossfire
Re: [crossfire] RFC: dynamic alchemy
Quick thoughts: 1) I'd prefer a way to say what item I want improved, vs it improving the strongest. this is more an issue for the first improvements most likely. Or if it is very clear how it decides what is the more powerful object (item power) that may be reasonable, except you have 2 objects with power 0. 2) Limiting the improvement of the target item based on the first item probably isn't good. In the case of resistances, one can find items that have very high resistances, but these can not be directly applied to the player or have a limited duration (think of the potions here). If I can take that potion of fire resistance (90% resistance) and apply it to a sword or other permanent item, that would make things way out of whack. Even 75% fire reistance on an item may be too powerful. This is more a case if the player has a mechanism for making those items. While there are some good items out there right now, there are some effectively limitations because they would go on the same place on the body (dragon plate mail gives good protection, but you can only wear one suit of armor at once). If I can make a hat, boots, gloves, belt, etc of fire resistance, many limitations may be easily overcome (OTOH, there really isn't anything that prevents those items from showing up in maps.) 3) I'd also think it is nice for items improved not to be tied to the player as previously state. However, I was thinking that what could be done is that based on the power of the item, there is a random chance it becomes tied. In this way, a player could make items for others, but not really powerful ones. That said, IMO, the need to make some objects god given is no longer relevant with the item power code. At one point, I think that was to make it so that you couldn't give really good stuff to low level players. While item_power doesn't prevent that gift, it effectively prevents the low level character from using it. IMO, if we really want more multi player cooperation and interaction in crossfire, we really shouldn't limit what players can trade, etc. 4) Stats are currently ints. Changing it so that the max value is much higher is IMO not a worthwhile task. They could probably be changed to floats with a lesser amount of work. Another approach is the mimicing of floats via random numbers. If that item should really improve it by .1, you make a random roll with a 10% chance of it increasing it, the rest, it does nothing. For alchemy, this could be good enough, and adds some luck and 'oh cool, it worked this time' factor. 5) For most custom objects (white dragon scale armor) there is no way to know if it has been modified from the normal one. The only thing you can really find is if it has been modified from the archetype, but lots of things on maps are already modifications from an archetype (almost all generated treasure is in fact). ___ crossfire mailing list crossfire@metalforge.org http://mailman.metalforge.org/mailman/listinfo/crossfire
Re: [crossfire] RFC: dynamic alchemy
On 27/03/06, Wim Villerius [EMAIL PROTECTED] wrote: Shadow alchemy is an exploit, used to create items that are impossible to create with dynamic alchemy. (It is impossible to have items with resist_something 99 - and this limit could even be set lower) To those unfamiliar with it, shadow alchemy generally involves finding hash collisions for the recipes, fooling the alchemy code into thinking you are doing something else entirely. Since the hashing function is (on purpose) very weak, there is no easy way of making shadow alchemy impossible short of entirely changing the way traditional alchemy works. It is currently hard enough to discourage most people though (thanks to some safeguards in the code). For most purposes, however, it currently does what dynamic alchemy will do, but without the much needed game balancing, and very scarce documentation. I like your idea about dynamic alchemy, but creating a resistance table seems like a lot of work, and so does messing with the arches. Instead, why not make a semi-random roll on what to add/subtract, partially based on the hash value of the ingredient? This means that only the alchemy.c file will need changing, and dynamic alchemy will have a much better chance of actually happening (+working). These are the things I can think of adding/subtracting to items: resistances stats speed weight value ? -- careful not to make this one exploitable ac wc luck ___ crossfire mailing list crossfire@metalforge.org http://mailman.metalforge.org/mailman/listinfo/crossfire
[crossfire] RFC: dynamic alchemy
Hi, Dynamic alchemy is a proposal which was discussed about a year ago on the message board. During that time I've been writing a message for the list that never was sent for a reason I cannot remember. Perhaps I judged the proposal to be too incomplete to lead anywhere. Perhaps it was because I am not capable to code anything myself. Anyway, since I think this would nevertheless be an interesting addition to Crossfire, I now do send it. Take your time, the message is pretty big now. (I'm sorry for that.) I don't think the idea in its current state is ready for implementation, but an idea - in whatever state it - is ready for discussion, right? ;) WHAT IS ALCHEMY? Alchemy is a form of chemistry studied in the Middle Ages which involved trying to discover how to change ordinary metals into gold (Oxford advanced learner's dictionary) WHAT IS ALCHEMY IN CROSSFIRE? In Crossfire, we don't try to create gold, for it is a rather useless metal. As far as I am aware alchemy is used like a fully controlled commercial process. It is highly accurate and reproducible, more or less like a chemical, an industrial process! So, current alchemy is more or less an industry used to create predefined items in a predefined, reproducible - 'scientific' - way WHAT SHOULD ALCHEMY BE IN CROSSFIRE? From a role playing perspective, what should alchemy be? IMO this question is assuming too much. It does assume role-playing! Crossfire doesn't have much role-playing at all, since (almost) all players tend to be(come) a 'Jack of all trades' (and a master of all, if they spent sufficient time). OK, scratch that role-playing perspective for now, and just ask what alchemy should be. Way too hasty, first ask if there is any need for alchemy and if the current alchemy is not sufficient. Alchemy is not necessary (strictly speaking). Although it is an interesting addition to the game, it usually doesn't come in sight before a player is already quite experienced and has seen a lot of the world. At that stage, alchemy and alchemy results do not offer much - except little experience and some money. The artefacts found in game are better than alchemy results (except for results of shadow alchemy, a subject I don't wish to discuss). So, alchemy is not necessary. But that's not an answer to the question whether there is any need for alchemy or not. I would say Yes!, playing with alchemy is (or is supposed to be) a lot of fun. The answer to the second question (Is the current alchemy system is sufficient?) is by me answered with a resounding No! Why is that? For reasons already mentioned: - results are pre-defined - results are not half as powerful as 'normal artefacts' In other words: If we manage to develop an alchemy system that allows one to create really powerful items, a system that does offer more than just predefined results, I'll be satisfied (but others wont). Before continuing with some more detailed descriptions, I would like to offer some in-game notes about alchemy. Since the game takes place in a not-so-very-high-tech world (where very high-tech things like teleportation are still magical) nobody (in that world) has exact knowledge of what alchemy is. Alchemy is an art practised by many, mastered by none. In ancient times, there where a few great alchemists, and their stars rose high. They all where capable creating highly enchanted equipment, and some of these items, amongst which the Dragon Scale Mail of Ruggilli still exist today. Perhaps the most praised White Dragon Scale Mail still exist somewhere. Although equal in skills, the ancient masters of Alchemy had very different definitions of what exactly alchemy is, and they where likely all wrong. Since alchemy is a business enshrouded in a cloud of vagueness, nobody exactly knows what could be the result of an alchemical process. Therefore, nowadays alchemists describe the art of alchemy as a mystic process used to transfer magical powers from one item to an other. This is the baseline I will use in the development of a new alchemy system, which I would like to call 'dynamic alchemy'. DYNAMIC ALCHEMY AND THE CURRENT SYSTEM Dynamic alchemy is not intended to be a complete replacement for current alchemy, but it is more than just an extension. Dynamic alchemy is used to create 'advanced' equipment, current alchemy remains to create base ingredients (such as water of the wise, (fixed) mercury, potions of ...). Since equipment is not created with alchemy but rather with bowyery, jewellery, smithery, thaumaturgy or woodsman, we perhaps should speak about dynamic bowyery (etc.). I will not do so, but please keep in mind that experience gained from any dynamic process will go (I assume) in one of these skills and not in alchemy. For the user nothing but the recipes (and results) changes, but under the hood, there will be lots of difference. DESCRIPTION OF 'DYNAMIC ALCHEMY' As said before, dynamic alchemy is the art of transferring magical powers from items to other items.
Re: [crossfire] RFC: dynamic alchemy
Various thoughts: 1) The idea is interesting. However, like most such proposals, balance has to be maintained - if I can take a couple ancient red dragon steaks and get mithril chain resist fire +90, the case can be made that that is a bit too power. 2) You mention where to store information about alchemical improvements, and state your preference for a table instead of the arches. I'd say arches are the right place - a large table is just unwieldy, and unlikely to get updated (I can see the relatively common case of someone copying one arch to another, changing the name, and making some other changes. This won't match in the table, and thus the table is out of date. Yet if they copy the archetype, they are likely to see alchemy_... fields.) The other point is that if anything, the more recent push has been to get rid of files in the lib directory and put that into archetypes. I'm specifically thinking of the treasurelists here - no longer do we need a monolithic file for all the treasure lists, these can be in the arch directory tree. 3) Other things that could be added: hp/sp/grace regen (unless you count those as stats). sustenance (slower digestion). Bonus movement types (flying, swimming, etc). This last one is trickier because it is really an all or nothing type of thing (either the item lets you fly, or it doesn't). An unrelated but perhaps interesting improvement would by duration items. Eg, this object will let you fly for up to 1000 ticks. Then, for each tick it doesn't fly, it recharges 1 tick of duration. In that model, partial movement types make sense - this object lets you fly, but right now, only for 20 ticks before it needs to rest - further improvements increase the duration. Doing this wouldn't be that far off from the rod code. 4) In terms of stats - they are sort of like movement type - either you add a stat point or don't. However, the key-value lists could be used to hold fractional improvements. So each improvement gets you say 0.1 of a point - you could in fact use similar logic to your resistance improvement idea. Thus, it could a bunch of objects to improve a stat. 5) Direction of resistance - if prepare weapon scroll is used, as said, that solves the problem. However, as one of the potential bad effects, maybe it does reverse. One problem with 'low to high' is that if you are starting with something relatively mundane you want to improve, that is unpredictable. Lets suppose for some reason you just want to start with a simple +1 sword. That could be low. However, I think that given crossfire is multiplayer, binding improved objects to players isn't a good idea. I should be able to create some cool stuff for a friend - that will help things IMO than everyone having their own stash. It also means that not everyone has to be an alchemists - a few powerful player alchemists in the town could possibly make pretty good business improvement objects for other players. However, one could perhaps change the enchant item scrolls - it just marks the object for improvement, but doesn't tie it to the player. 6) I think even some more dynamic aspects are needed. For example, you can't really enumerate the normal rings - rings have their resistances added in the treasure code - there is no way to say a ring of str +1 is this archetype. So you need some way to say 'if this is a ring, examine what properties it has and choose one for dynamic alchemy'. Perhaps some for a large majority of food items. One thought on this is that for a baseline, the object can't improve the object any more than it grants. For example, you have a ring str+1 resist fire +18 You toss it in the pot to transfer to your plate armor. If your plate armor already has str +1 or resist fire +18, this ring can't help out at all. However, if the plate armor has less than that, this ring can help bring it to that point. This does get interesting if you have a ring like 'resist fire +20, resist cold -20'. Can resistances (or other things) get drained away? Does the code try to optimize for improvements? That also raises the other interesting point: Suppose I have plate armor resist cold -20. Can I transfer away that resist cold -20 to just some other object, or is the only way to get rid of it is via resist cold + objects? I bring that point up because that could be used to explain why there are items with negative resistances - they were used to get rid of the undesirable aspects of an otherwise good object. ___ crossfire mailing list crossfire@metalforge.org http://mailman.metalforge.org/mailman/listinfo/crossfire