• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.
  • The Hive's 22nd Icon Contest: Creep Abilities is now concluded, time to vote for your favourite set of icons! Click here to vote!
  • ✅ The POLL for Hive's Texturing Contest #34 is OPEN! Vote for the TOP 3 SKINS! 🔗Click here to cast your vote!
  • ✅ The POLL for Hive's Techtree Contest #20 is OPEN! Vote for the TOP 3 FACTIONS! 🔗Click here to cast your vote!

Keeping Track of Everything

Status
Not open for further replies.
Level 24
Joined
Oct 12, 2008
Messages
1,783
I have a problem.

I have the tendency to create a unit/ability first with a placeholder name.
Problem is that I tend to change these names a lot in the final product.
This means that in the long run, I have plenty of dummy abiilties, globals etc. that reference the placeholder name of said skill, not its final name.
In small doses its fine, though when it comes to picking up after having not worked on something in awhile it can become very confusing.

So, how do you overcome this?
Do you rename all associated things every time you change the name of something?
Or do you simply keep tons of documentation on your projects?
 
I suggest to avoid using placeholder names.
I don't usually change names but when I do I change every thing that is associated with it which could take a lot of time but it is more convenient than a documentation since you actually change all of the names instead.
 
So, how do you overcome this?
Do you rename all associated things every time you change the name of something?
Or do you simply keep tons of documentation on your projects?

Code in vJass so that you know which variables are associated with the spell.
Also, if you code in vJass, just use JNGP's Replace function which will replace a certain word (string to be exact) to a new one. It is the same as any TextEditor replace function.
 
So, how do you overcome this?
As long as you do not change the raw code value of types the references will update automatically. This is because the game uses raw code values to reference abilities and not the ability name which is used by humans only.
Do you rename all associated things every time you change the name of something?
I try to employ a naming scheme that does not need revision of all components. For example a editor only suffix on abilities which associates the purpose. Since this is editor only visible the name is less important and could even be the proto-type name of a system or ability which had long since changed to something else.
Or do you simply keep tons of documentation on your projects?
The key is to structure things such that you can always pick up again at a future date after forgetting most of what you have done. This is where trigger comments and editor only suffixes for types is important.
 
Remember the P-6 rule:

Proper planning prevents piss-poor performance.

Couldn't be more true for mapping. Sit down with a piece of paper and write down what you want to do before doing it. It helps and saves a LOT of time.

If you can not avoid using a placeholder name for something, that is usually not an issue as you can get the name of any game objects via triggers dynamically through GetObjectName(). If you write quest dialogue or stuff like that, make sure to use this instead of hardcoding the names into your strings.


If you want to batch-change names or fields in the object editor, you should take a look at LUA and create and manage your objects directly via LUA. This requires planning ahead, though (as you have to have a list of your rawcodes... pro-tip: use naming conventions for your rawcodes, for example, 'AX00' to 'AXZZ' for your dummy abilities, 'AA00' to 'AAZZ' for unit abilities and 'AH00' to 'AHZZ' for hero abilities - or match your ability rawcodes with the corresponding hero rawcode; for example, your hero has the rawcode 'hX10', then have the abilities under 'AX10' to 'AX1Z').
 
First up, thanks for the responses.

The key is to structure things such that you can always pick up again at a future date after forgetting most of what you have done. This is where trigger comments and editor only suffixes for types is important.

Ive come to notice that.
Sometimes, even naming something very literally is no guarantee you'll remember it in the future.

If you can not avoid using a placeholder name for something, that is usually not an issue as you can get the name of any game objects via triggers dynamically through GetObjectName() . If you write quest dialogue or stuff like that, make sure to use this instead of hardcoding the names into your strings.

Noted.
 
Status
Not open for further replies.
Back
Top