Naming Conventions and Structure

From The Official Visionaire Studio: Adventure Game Engine Wiki

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)
  • 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.