Difference between revisions of "Naming Conventions and Structure"
(Created page with "Naming convention & structuring are both useful methods for organizing & remembering file-names, folder locations & what should go where. ==Naming Convention == === Lowercase...") |
|||
(11 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
Naming convention & structuring are both useful methods for organizing & remembering file-names, folder locations & what should go where. | Naming convention & structuring are both useful methods for organizing & remembering file-names, folder locations & what should go where. | ||
+ | |||
==Naming Convention == | ==Naming Convention == | ||
+ | |||
=== Lowercase vs. Uppercase vs. Mixed-case === | === 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 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. | + | <span class="inlinecode">this is far quicker to type</span> than: <span class="inlinecode>This</span>, Because This Requires Me To Keep Reaching Over With My Right Hand To Press The Shift Key. Now on the other hand: <span class="inlinecode">THIS IS REALLY HORRIBLE TO READ</span> & STILL REQUIRES ME TO KEEP HOLD OF THE SHIFT KEY OR TOGGLE THE CAPS LOCK KEY ON. |
=== 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 <span class="inlinecode">dashes-or_underscores_like-so</span>. 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 === | ||
− | 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: | + | 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: <span class="inlinecode">101_</span>, which would be episode/chapter 1, scene 1. I also tend to add these numbers at the beginning of certain objects & animations so that I know that that particular object/animation is only to be used in that specific scene/chapter/episode. |
− | === Separators === | + | Here is the actual list of prefixes I use for scene objects & interface buttons... |
− | + | <hr> | |
+ | ◻️ interactive scene object: <span class="inlinecode">obj_</span><br/> | ||
+ | ◻️ point of interest that can be examined: <span class="inlinecode">poi_</span><br/> | ||
+ | ◻️ non-interactive animation: <span class="inlinecode">anim_</span><br/> | ||
+ | ◻️ non-interactive image: <span class="inlinecode">img_</span><br/> | ||
+ | ◻️ object that can be added to inventory: <span class="inlinecode">itm_</span><br/> | ||
+ | ◻️ interactive interface/scene object button: <span class="inlinecode">btn_</span><br/> | ||
+ | ◻️ command: <span class="inlinecode">cmd_</span> | ||
+ | <hr> | ||
+ | === Collapsible Separators === | ||
+ | Visionaire Studio supports separators, which also double up as collapsible groups; however moving the separator will not move the content listed underneath it, so keep that in mind. You can create collapsible separators almost anywhere in Visionaire Studio where you can create something, just add a <span class="inlinecode">-</span> before the name, like so: <span class="inlinecode"> -example </span>, & it will automatically be turned into a separator. | ||
− | |||
== Folder Structure == | == 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 | + | 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: | Here's a quick example of how I might organize my game/project: | ||
− | root (contains the .ved & various sub-folders) | + | {| class="ts" |
+ | |- | ||
+ | | root (contains the .ved & various sub-folders) | ||
+ | |- | ||
+ | | | ||
* data (sub-folders for various game assets) | * data (sub-folders for various game assets) | ||
− | ** characters | + | |- |
− | *** | + | | |
− | **** | + | ** character |
− | ***** various sub-folders containing the | + | *** tom |
− | *** | + | **** idle (various sub-folders containing the characters idle/standing animations) |
− | **** | + | **** walk (various sub-folders containing the characters walk animations) |
− | ***** various sub-folders | + | **** 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... | ||
+ | |- | ||
+ | | | ||
+ | ** menu | ||
+ | *** main_menu (background image, static image assets & various sub-folders) | ||
+ | **** animations (animation assets) | ||
+ | **** buttons (button assets, such as: new game, resume, load, save, quit etc) | ||
+ | |- | ||
+ | | | ||
+ | ** scene | ||
*** 001-001 (background image & various sub-folders) | *** 001-001 (background image & various sub-folders) | ||
**** objects (static image assets) | **** objects (static image assets) | ||
**** animations (sub-folders containing animation assets) | **** animations (sub-folders containing animation assets) | ||
+ | |} | ||
+ | |||
+ | 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.{{toc}} |
Latest revision as of 23:24, 21 August 2022
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: 101_, which would be episode/chapter 1, scene 1. I also tend to add these numbers at the beginning of certain objects & animations so that I know that that particular object/animation is only to be used in that specific scene/chapter/episode.
Here is the actual list of prefixes I use for scene objects & interface buttons...
◻️ interactive scene object: obj_
◻️ point of interest that can be examined: poi_
◻️ non-interactive animation: anim_
◻️ non-interactive image: img_
◻️ object that can be added to inventory: itm_
◻️ interactive interface/scene object button: btn_
◻️ command: cmd_
Collapsible Separators
Visionaire Studio supports separators, which also double up as collapsible groups; however moving the separator will not move the content listed underneath it, so keep that in mind. You can create collapsible separators almost anywhere in Visionaire Studio where you can create something, just add a - before the name, like so: -example , & it will automatically be turned into a separator.
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.