• 🏆 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!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Keeping Track of Everything

Status
Not open for further replies.
Level 23
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?
 
Level 19
Joined
Oct 7, 2014
Messages
2,209
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.
 
Level 22
Joined
Feb 6, 2014
Messages
2,466
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.
 

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,180
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.
 

Zwiebelchen

Hosted Project GR
Level 35
Joined
Sep 17, 2009
Messages
7,236
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').
 
Level 23
Joined
Oct 12, 2008
Messages
1,783
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.
Top