Difference between revisions of "Naming Conventions and Structure"
(→Lowercase vs. Uppercase vs. Mixed-case) |
m |
||
Line 10: | Line 10: | ||
=== Whitespace === | === Whitespace === | ||
− | Using whitespace between words is ok in this modern day & age, but I do recommend joining your file-names & object names together with dashes-or_underscores_like-so. Why, you ask? Well it stems from a long, long time ago, in a system, far, far away, when it was common practice to join words together with underscores & dashes; mainly to access things via command line, or whatever. A lot of people still name things like this out of habit, but it's actually just good practice to name things in this way & is more likely to be accepted by various programs. | + | Using whitespace between words is ok in this modern day & age, but I do recommend joining your file-names & object names together with dashes-or_underscores_like-so. Why, you ask? Well it stems from a long, long time ago, in a system, far, far away, when it was common practice to join words together with underscores & dashes; mainly to access things via command line, or whatever. A lot of people still name things like this out of habit, but it's actually just good practice to name things in this way & is more likely to be accepted/understood by various programs & code formats. |
=== Prefixes === | === Prefixes === | ||
Line 16: | Line 16: | ||
=== Separators === | === Separators === | ||
− | Technically Visionaire Studio has no separators but you can easily create headers/separators in the object | + | Technically Visionaire Studio has no separators but you can easily create headers/separators in the object list by creating an object/script/animation etc, naming it something like ''-- something --'' & leaving the object, scene etc blank. For scene separators/headers I recommend creating them as a menu scene & for scripts I recommend setting them as execution scripts inside of the scripts properties tab. |
− | Here's a few examples of what I use as separators/headers... -- menu --, -- scene --, -- playable_character --, -- npc --, -- misc --, | + | Here's a few examples of what I use as separators/headers... -- menu --, -- scene --, -- playable_character --, -- npc --, -- misc --, ... |
Line 35: | Line 35: | ||
| | | | ||
** character | ** character | ||
− | + | *** tom | |
− | + | **** idle (various sub-folders containing the characters idle/standing animations) | |
− | + | **** walk (various sub-folders containing the characters walk animations) | |
− | + | **** talk (various sub-folders containing the characters talk animations) | |
− | + | **** random (various sub-folders containing the characters random animations) | |
− | + | **** character (various sub-folders containing the manually triggered character animations) | |
− | + | *** npc_barry | |
− | *** | + | **** etc... |
− | |||
− | |||
|- | |- | ||
| | | |
Revision as of 22:25, 6 January 2015
Naming convention & structuring are both useful methods for organizing & remembering file-names, folder locations & what should go where.
Naming Convention
Lowercase vs. Uppercase vs. Mixed-case
When naming your files & game assets, you should try to make it as simple as possible. I recommend using lowercase only because it saves a lot of time when you aren't having to mess around pressing the shift key or toggling the caps lock key on & off every two seconds.
this is far quicker to type than: This, Because This Requires Me To Keep Reaching Over With My Right Hand To Press The Shift Key. Now on the other hand: THIS IS REALLY HORRIBLE TO READ & STILL REQUIRES ME TO KEEP HOLD OF THE SHIFT KEY OR TOGGLE THE CAPS LOCK KEY ON.
Whitespace
Using whitespace between words is ok in this modern day & age, but I do recommend joining your file-names & object names together with dashes-or_underscores_like-so. Why, you ask? Well it stems from a long, long time ago, in a system, far, far away, when it was common practice to join words together with underscores & dashes; mainly to access things via command line, or whatever. A lot of people still name things like this out of habit, but it's actually just good practice to name things in this way & is more likely to be accepted/understood by various programs & code formats.
Prefixes
Prefixes are a great way for quickly determining where something belongs, what it is for, or what it is linked to. In Visionaire Studio I tend to name things like, so: obj_object-name, anim_anim-name, act_action-name, v_value-name, cond_condition-name etc. For scenes I tend to use a number based prefix like, so: 001-001, which would be chapter 1, scene 1. I also tend to add these numbers in (brackets) at the end of certain objects & animations so that I know that, that specific object/animation is only to be used in that specific scene/chapter.
Separators
Technically Visionaire Studio has no separators but you can easily create headers/separators in the object list by creating an object/script/animation etc, naming it something like -- something -- & leaving the object, scene etc blank. For scene separators/headers I recommend creating them as a menu scene & for scripts I recommend setting them as execution scripts inside of the scripts properties tab.
Here's a few examples of what I use as separators/headers... -- menu --, -- scene --, -- playable_character --, -- npc --, -- misc --, ...
Folder Structure
Folder structure is just as important as name convention, as it can mean the difference between spending ages searching for a specific file, instead of simply browsing to the most logical place. A good name convention is also required for a good folder structure!
Here's a quick example of how I might organize my game/project:
root (contains the .ved & various sub-folders) |
|
|
|
|
This is just a small sample of my folder structure. I tend to group things together that need grouping together. It's a good idea to remember to add prefixes to your game assets such as sounds/voices/animations etc if they are only to be used in one specific scene. It's also a good idea to separate images/audio files containing different languages into separate folders.