Difference between revisions of "Naming Conventions and Structure"

From The Official Visionaire Studio: Adventure Game Engine Wiki
(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 lists 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.
+
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 --, etcetera...
+
Here's a few examples of what I use as separators/headers... -- menu --, -- scene --, -- playable_character --, -- npc --, -- misc --, ...
  
  
Line 35: Line 35:
 
|
 
|
 
** character
 
** character
*** playable
+
*** tom
**** tom
+
**** idle (various sub-folders containing the characters idle/standing animations)
***** idle (various sub-folders containing the characters idle/standing animations)
+
**** walk (various sub-folders containing the characters walk animations)
***** walk (various sub-folders containing the characters walk animations)
+
**** talk (various sub-folders containing the characters talk animations)
***** talk (various sub-folders containing the characters talk animations)
+
**** random (various sub-folders containing the characters random animations)
***** random (various sub-folders containing the characters random animations)
+
**** character (various sub-folders containing the manually triggered character animations)
***** character (various sub-folders containing the manually triggered character animations)
+
*** npc_barry
*** npc
+
**** etc...
**** barry
 
***** etc
 
 
|-
 
|-
 
|
 
|

Revision as of 23: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)
  • data (sub-folders for various game assets)
    • 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...
    • 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)
        • objects (static image 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.