| 01-12-2006, 11:48 PM | #1 |
For a map I am making I would like to have a fancy RPG-like system where your hero can train in certain "schools" or fields, like Subterfuge, Mechanics, Conjuring etc. which enables them to research various spells. Some spells might require training in multiple schools. Each player would only have one hero. Using techtree requirements in some way would be nice because that would avoid some triggers, on the other hand having shared buildings/units that all players can access for training might be nice too. The heroes would be limited to three of these spells but I want the possibility for the spells to branch at higher levels rather than a straight upgrade path like typical hero spells. I imagine this would involve removing the original spell, Summon Water Element say, and replacing it with Summon Acid Element or Summon Double Water Elements for example. I would appreciate any genius ideas for how to do this in a way that is easy enough for me to do and for players to understand. I guess I should mention some more expectations in terms of numbers. I would have 6 schools of training, which I may wish to expand in the future. And each school would have maybe 3-5 basic spells which may branch 0-3 times at higher levels. Hope that isn't too much trouble. Maybe you can even have fun thinking something up! |
| 01-12-2006, 11:52 PM | #2 |
Use the spellbook ability and put the specific class spells in each and you can use that in conjunction with tech-tree unit requirements for requirements. |
| 01-12-2006, 11:58 PM | #3 |
Since learning certain spells will require a certain upgrade, you'll need to make a dummy unit for each player, have some way for the player to select that unit, add the upgrades to that unit, when the upgrades are researched, remove/add abilities to the hero, like replace the water elemental ability with acid elemental ability. |
| 01-13-2006, 05:17 AM | #4 |
Thanks, I don't think either of your suggestions handle the branching of skills though, which is the thing that is really causing me trouble. Maybe you are talking about that and I just don't understand. The best I can think of right now is that when a hero learns a skill from a training place (using a dummy learn spell), that button slot is replaced with a spellbook which has variations on the spell which can be learned when the hero has more skill points to spend. (I would create a hidden unit that all the spells require which would be destroyed whenever the hero doesn't have any skill points). However, that seems like a lot of work to set the up for a large number of spells. Now I realize setting up a large number of spells is going to be a lot of work anyway, but if anybody can think of a better way to create a branching skill tree I would like to here it. I bet people have even done similar things for other maps. |
| 01-13-2006, 05:48 AM | #5 |
It won't help you with the particulars, but this map may give you ideas on good ways to deal with some of the nuances of replacing learned abilities with a trigger system. Woods Lore At any rate, it's certainly going to be a trigger question. I'll move ya to the right forum. |
| 01-13-2006, 08:54 AM | #6 |
Thank-you kindly for that map suggestion. That will give me some stuff to consider. I don't think this is a trigger-only topic though. It involves units and abilities and clever ways of putting them together as well. |
| 01-13-2006, 11:19 AM | #7 |
There are countless ways to handle ability branching. It can be a shop (trainer?), with each item representing one of new abilities to branch in, with requirements for purchasing each ability. Or it can be a spellbook. Or it can be a dialog which the player has an option of invoking every time his hero is ready to learn a new skill. This is a hard and big task in itself, but this is not the big question you have to answer first. Frankly, how exactly your hero is given the order to unlearn one skill and learn the other is not your biggest problem. The big question would be, whether you want to use non-hero abilities and upgrade system for this, using add/remove ability trigger actions. If you go with non-hero abilities, then you will inevitably end up using upgrades to learn new skill levels and activate new abilities. In this case, i suggest you get a separate unit "trainer" for each school, assigned to each hero (Kind of like Spellstones assigned to each hero in Enfo). These trainers can research upgrades for the cost of, say, 1 wood, which is given on every hero level-up. And then you create "on upgrade done" event triggers, which replace one skill with another when branching skill is learned, and also somehow remove forfeited skill opportunities from trainers. Now, i would never use this system. Reason being, i have a firm belief that upgrades and heroes are best left separate, for a variety of issues. Upgrades system adds useful shortcuts, but somewhat limits your opportunities on unlearning skills, changing techtrees and sharing your tech with other people. If you are like me, then you will be better off using hero abilities, learnable through normal hero skill learn interface, which you swap with each other seamlessly, using an engineering upgrade trick. You still keep the trainers, but you don't use them for upgrading skills anymore, only branching them. When a branched skill is selected from the trainer, he trains a unit, associated with the branched skill ----- (( INTERLUDE: You can keep a tech garden, which is a nice GUI for your hero's current skill status by the way. Example of tech garden is seen in Blizz Azure Glade TD, even though the tech system itself there is pretty primitive )) ----- ...unit associated with the branched skill, and at the event of this unit's construction complete, you swap one hero skill with the other. This allows you to easily sort out skills your hero can no longer branch into, by the way, by making next level of branched skill training require the unit, associated with prerequisite skill(s). This also allows you to easily set up a "skill unlearn" system, by simply killing the relevant tech units and swapping back all relevant skills. |
| 01-13-2006, 05:09 PM | #8 |
You no longer need to use upgrades. The map I linked was a test of the (new at the time) trigger function that lets you set the level of the ability. If you learn a dummy ability and use the level of that dummy to track the level that you should have for whatever skill fills it, upgrades have become un-useful. |
| 01-16-2006, 08:15 AM | #9 | |
What is this engineering upgrade trick you speak of qwertyui? I know e.u. can replace one spell with another, but it also adds the upgrade ability/icon to the hero, I don't see how I could use it to my advantage. Are you suggesting creating a new unit for each branch in the spell researching and giving that unit the ability to train the next set of branches? Cuz that would create a plethora of units, and I want to keep them to a minimum. But I also want to be able to have a plethora of spell trees to research and the command card isn't very versatile, so that's the tricky part. What do you mean by Quote:
|
| 01-16-2006, 10:35 AM | #10 |
Someone should correct me if i am wrong on exact trigger names, but if you add an eng.upgrade ability to hero and then disable it (not remove, just disable). It will then hide the eng.upgrade button. If this method was disabled, i know another one, which is a bit more complex and involves tricking the game engine, using 2 engineering upgrades. Here is a link to my older post which details this method completely. Nevermind the somewhat arrogant tone though, i was 3 years younger when i wrote it ^^. Also the attached map seems to have been lost, which is a shame. But it still gives you some good details about how to do it. http://www.wc3campaigns.net/showthread.php?t=55423 One thing you should be vary about is that AFAIK engineering upgrade creates bugs when you try to swap skills with different targeting mechanics. (i.e.: storm bolt to flamestrike). A workaround is possible by recreating the hero and relearning all of his skills as needed. That may sound complicated, but its a price to pay if you want that hero-learn skill tab fully functional :/ |
| 01-16-2006, 12:34 PM | #11 |
If you want a fully triggered spell system, then I suggest you drop hero skills in favour of unit abilities. Since it's a custom spell system, there's really no need to keep the hero skill point mechanic, as you can do spell advancement in other ways. Also, it's a lot more difficult to manipulate hero skills than regular abilities with triggers. There are some problems you run into anyway. If your hero can learn any (or almost any) combination of skills, you get the problem of possible ability hotkey conflicts, or worse, order conflicts if you don't base each spell on a different ability. The icon position conflict can be solved by just giving all abilities the same icon position and they will automatically disperse through the command card. You can avoid this by choosing hotkeys/base abilities for spells in such a way that only incompatible spells (the ones that aren't allowed to be together due to some design restriction or other) share a hotkey. This means you have to add certain limitations; the most primitive and poor from the design perspective, but efficient, is to divide spells into groups that share an icon position, give all the spells in the group the same hotkey and simply prohibit the use of two spells from the same group for no apparent reason other than engine limitations. Better would be to define spell incompatibilities based on what schools they're from or some other design element like that so the limitation appears to make sense, but then it's a lot harder to anticipate all spell combinations that are still possible and distribute hotkeys accordingly. However you design the spell system, some limitations in spell choosing will have to be present in order to avoid ability hotkey conflict. Furthermore, each spell will need to have another dummy spell/unit/upgrade which will be used for learning the spell (unless you choose to learn spells through text commands, a multiboard interface or anything else). You will definitely need a trigger system with a database formed out of many variable arrays that will categorize all the abilities by schools/requirements for learning/are they new spells or upgrades of old... The setup of shops/dummy units for learning spells is just a small part of the work, it's just the interface for the player, the big thing are the triggers that are manipulating it. |
| 01-16-2006, 01:08 PM | #12 |
I have an idea on how to make one that emulates hero learn skill interface and does not require the hassle of engineering upgrades. But it relies on the following things: 1) whether its possible to detect player hitting a "learn skill" hero button. 2) whether its possible to set tech levels to spellbook skills. 3) whether its possible to put multiple channel spells in one spellbook 4) finally, whether its possible to detect activation of spellbook abilities. Now i am pretty sure its all possible, but i never did it before so i can't say absolutely positively. If both are true, then you can basically call up a spellbook of learnable spells every time your player hits "Learn Hero Skill", and then use it as learn skill interface, using tech options to regulate which hero abilities are accessible and which are not. Then you just do what anitarf up there said, only you use this spellbook as your "learn skill" interface. You will need to create a dummy ability for every learnable ability u have, and also two arrays, which store an ability and its dummy under the same index. |
| 01-17-2006, 04:01 AM | #13 |
You think it is possible to detect a player hitting a learn skill button and interupting that and using triggers to do stuff based on that? I don't think so but if anybody knows that this is possible I would like to know how. In regard to order ids, which yes, I do have to make unique for every spell that could be combined with other spells...how do I know what the order id's are for regular spells that don't have the ability to specify? Is it equal to the order string generally? Do passive abilities have order IDs? What are all the problems that occur when you do have 2 spells with the same order ID (learning, casting, detecting)? Or conversely, when would it be OK to have 2 spells with the same ID. |
| 01-17-2006, 05:18 AM | #14 |
Isn't there a player clicks button event? EDIT: Verified this... There is an event called Hero Abilities Button Clicked. However, it tells that it only should be used in SP maps. Anyone ever tinkered with this one? Regardles, even if it won't work, a workaround is still possible. You simply create a spellbook which has red cross icon and put it up instead of hero learn skill interface. You will need an additional solution to represent amount of skill points left on hero though. |
| 01-18-2006, 06:15 AM | #15 |
There is a way to remove/replace the hero + button??? |
