• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!

Skill tree upgrade system ideas

Status
Not open for further replies.
Level 7
Joined
Nov 19, 2015
Messages
283
Hi guys, I'm new here. I used to use TheHelper.net but they are pretty quiet now. Good to see you guys here are pretty active.

I have a map with heroes that has access to many skill trees (13 atm). Each tree has three upgrades with the final one being the ultimate. Some give upgrades give passive bonuses, some give active spells and some can adjust the previous active spells.

I would like possible ideas on how to upgrade the skills and maybe the pros and cons. I can't decide whether I want to store it in a spellbook or have it at at a building with upgrades. The problem with that is that there are at least 13 skills trees and only a maximum of 12 or 11 icons can be stored on the UI. I was wondering if anyone had any better ideas.

Also I want a level requirement for the ultimates (level 5) however to upgrade the second ultimate you need to be level 10.
 
Level 21
Joined
Mar 27, 2012
Messages
3,232
I'll assume the more practical option first for sake of reference. Let's say you have 11 skill trees, which are all contained in a single spellbook. Each skill tree consists of 11 skills. This will lock up 12 order IDs for spellbooks and 121 for the skill learning. Total: 133.
Let's say some things in the skill tree give you actual castable abilities. For each you need one order ID, so in the worst case you'd have another 12 spellbooks with another 121 skills. This is a pessimistic case and would obviously impractical in any case, so I'll disregard this and instead assume that castable abilities are put in the normal command card.
If you import a certain text file you can have up to 8 command card slots available(by hiding the patrol button). 1 of them goes for the skill learning thing so you have 7 left.
If you gave each skill a separate order ID it would break down too easily, so instead I'll assume the more complicated option - each ability having 7 versions of itself, with different hotkeys and the order ID being based on hotkey. This brings the total ability count to 121*8+12=980. If you don't use JNGP then making so many abilities by hand will kill all your willingness to work on this stuff, so at this point I have to ask you:
What is your current skill level? Do you understand JASS? vJASS? Do you have JNGP?

EDIT: Just noticed that you mean 3 abilities per tree. This still brings us up to 276 though.
 
Level 7
Joined
Nov 19, 2015
Messages
283
Thank you for the detailed analysis. I am doing everything by GUI and do not have JNGP. I am currently reading up on the tutorials here on Jass but it probably will take a while to understand.

In my map I am using a keyboard arrow movement system giving my hero access to all 12 slots. I was assuming that I would only need 13 upgrades (or abilities that mimic an upgrade) and any active abilities/passives to be added separately. Since most of my map is triggered, I was just going to use conditions to check the level of the ability/upgrade. I don't really want to create so many abilities for each upgrade because it will kill my soul.

The problem is that I'm not sure what to do since I have 13 skill trees. I only really need a single upgrade for each skill tree and adjusting the level +1. A single spellbook is not ideal, nor is having the upgrades in a building. Are there any other leveling/upgrading mechanics that others have used.

BTW your tutorials on spellbooks and decreasing map loading are nice.
 
Level 21
Joined
Mar 27, 2012
Messages
3,232
What are the mechanics of your skill trees? Do you need some prerequisites or are they just pools that you can choose abilities from?

There are 2 reasons why having copies of the same ability is useful.
1. Order IDs and base abilities are limited. Making abilities of a specific slot always have the same order ID avoids conflicts.
2. Hotkeys are limited. It can turn out to be easier for both you and the players to just use a consistent hotkey scheme, which I do by creating a version of the ability for each slot.

You can combine both points very effectively, but if you do it you must do it early, because remaking your triggers can be tedious.

With JNGP and some scripting knowledge you can create scripts that make the abilities for you. I have written a few additional scripts to further ease the creation of objects, but they are not public. If you're interested I can give you the scripts.
 
Level 7
Joined
Nov 19, 2015
Messages
283
I am interested however you will probably have to link we to a few good tutorials so I can learn how to use JNGP. I've only ever used GUI.
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,202
Assuming you cannot max out all skills at the same time, it might be a good idea to optimize the skill tree availability in the first place. Not only does this make the map a lot more user friendly as people cannot choose useless allocations but it means you do not need to support "stupid" combinations such as a single level of all skills.

Order IDs are a limited resource which is why people generally avoid giving a unit hundreds of abilities. That and users will never cast all 100 abilities and so there is no point ever giving them ones they do not use.
 
Level 21
Joined
Mar 27, 2012
Messages
3,232
JNGP is just the normal editor, but improved. It's mostly meant for making it easier to write JASS, but it also has some other useful features like greater control over tiles(16 slots), removing the doodad limit and allowing you to input smaller and larger numbers in object editor. You don't have to know how everything works, just the parts that you use.
I use a mix of versions 1.5d and 1.5e, which I achieved by copying some folders from d to e. I personally don't like 2.x versions. In any case, choose for yourself: 1.5d or 2.x(requires you to register there).
For JASS there are many tutorials, but I found it easier to learn by experimenting. When you have lots of experience with GUI, JASS starts to make sense, since it's basically the same thing expressed differently. I learned by converting GUI triggers to JASS.
 
Level 7
Joined
Nov 19, 2015
Messages
283
Thanks for the tips and the link was really helpful since I was actually trying to download it yesterday but didn't know what to do with it.

I never really saw the order IDs as a resource since I usually made small maps but I will keep that in mind. After reading on the reducing loading times, I also am trying to reduce purple fields when not necessary. Is there a tutorial which explains exactly what each data point does in the object editor, ones I have read before were incomplete.

Also if you guys have any tips or links to proper mapping such as how I should keep purple fields and order IDs to a minimum. I picked up a few things such as naming my points as Temp_Loc_n and making sure I delete them as soon as possible. Is there a way were I can learn to more effective/efficient at mapping since I kinda taught myself and its probably not the best way of doing what I need done.
 
Level 21
Joined
Mar 27, 2012
Messages
3,232
I never really saw the order IDs as a resource since I usually made small maps but I will keep that in mind. After reading on the reducing loading times, I also am trying to reduce purple fields when not necessary. Is there a tutorial which explains exactly what each data point does in the object editor, ones I have read before were incomplete.

Also if you guys have any tips or links to proper mapping such as how I should keep purple fields and order IDs to a minimum. I picked up a few things such as naming my points as Temp_Loc_n and making sure I delete them as soon as possible. Is there a way were I can learn to more effective/efficient at mapping since I kinda taught myself and its probably not the best way of doing what I need done.

I don't know what many fields do either. Usually their names give a strong hint to what they do though and I can just try.

I don't specifically focus on reducing purple fields, because I already avoid having unnecessary stuff in general. Eventually it becomes problematic to maintain an overview of what you have in the map if there are too many randomly added things.
About purple fields, I will probably not think of them specifically unless someone complains about loading time. (My computer is overpowered, so I am the last to notice)
Also, it seems that identical strings(descriptions) are not as bad as unique ones, but I haven't tested that.

Order IDs specifically don't cost you any performance. The real problem with them is that when making a larger map you have the risk of not having enough base abilities, especially with buffs, because most abilities can't have their order IDs changed and because buffs from the same base abilities don't stack(except for auras).
This is mitigated by triggering your abilities, although it is a bit scary at first when you've not done it much. I gradually moved to custom abilities as my skill increased.

There aren't tutorials for many things, because even though they could it written most people just develop a feel for how things should be. In general it's usually enough to just keep in mind:
Your own effort is the most limited resource. Make things in a way that either saves time(including the time spent on maintaining it) or teaches you something. It's easy to overcomplicate things.
 
Level 12
Joined
Nov 3, 2013
Messages
989
I have a map with heroes that has access to many skill trees (13 atm). Each tree has three upgrades with the final one being the ultimate. Some give upgrades give passive bonuses, some give active spells and some can adjust the previous active spells.

How does your skill trees work and can you clarify what they actually are?

Are they 13 different categories that heroes can mix and match abilities from?

Are you limited to a number of categories per hero? Maybe you can't take skills from more than 5 different trees and some might be incompatible; I.E. if you have skills from the "Holy" skill tree then you can't take skills from "Necromancy" as they conflict (Lore-wise and gameplay.).

I think that I can probably give you some tips and ideas if you can explain what your skill trees are meant to be in more detail. (Especially if it's custom hero esque.)
 
Status
Not open for further replies.
Top