Difference between revisions of "Riding the Waves: A Workflow Tip Guide"

From The Official Visionaire Studio: Adventure Game Engine Wiki
Line 13: Line 13:
 
| ''Quick note: I just want to point out that this tip guide isn't really a tutorial, just think of it as a sort of text based Ted Talk. My goal here is to give you an idea of my workflow & why I work the way I do, & not to tell you how you should work, but instead hopefully provide you with some ideas on how you can potentially improve your own workflow. In the end, however you choose to work is entirely up to you.''
 
| ''Quick note: I just want to point out that this tip guide isn't really a tutorial, just think of it as a sort of text based Ted Talk. My goal here is to give you an idea of my workflow & why I work the way I do, & not to tell you how you should work, but instead hopefully provide you with some ideas on how you can potentially improve your own workflow. In the end, however you choose to work is entirely up to you.''
 
|}
 
|}
 +
 +
 +
== Always Make a Plan ==
 +
 +
I'm not saying that you have to type up a 1000+ page in-depth document detailing every single little thing to do with your game, but ideally you should come up with some kind of plan, even if it's just some daily or weekly tasks that you want to work on.
 +
<hr>
 +
{| class="ts"
 +
|-
 +
| ''Quick note: Any kind of plan is better than no plan, because no plan leads to chaos, which leads to an inefficient workflow, which often leads to frustration, a lack of focus, & eventually a decline in overall motivation to work on your projects. Trust me, chaos is a project killer.''
 +
|}
 +
<hr>
 +
Here's a few methods you can use for planning out your projects & time sensitive tasks...
 +
 +
=== Game Design Document ===
 +
 +
The game design document (GDD) is usually a large document that would typically be created to share with other members of your project team as a guideline of what your game is about, which includes: a general summary of the story-line, the game mechanics, puzzle designs, character bios, location information, etc. etc. Game design documents can also be used for pitching your game to potential game publishers in the hopes of getting funds to create the game of your dreams.
 +
 +
=== Mind Mapping ===
 +
 +
Mind mapping, cloud mapping, thought mapping, you can call this whatever you like. This involves using a piece of paper or a whiteboard/blackboard or an application like [https://www.yworks.com/products/yed yEd] to create flow charts. Flow charts work really well for puzzle design, dialogs, & figuring out what events, locations, etc. are connected to each other.
 +
 +
[[File:mm_example.png|800px]]
 +
 +
=== Sticky Notes ===
 +
 +
They are kind of messy, but if you are a messy kind of person you will probably love scribbling on these & sticking them all around the edge of your monitor & wherever there's a bit of empty space on your desk &/or walls. They are mostly useful as reminders if you don't have the best of memory like me. I don't personally use them myself as I prefer to keep desk & work area as clutter & distraction free as possible as it helps keep me focused on whatever I'm doing.
 +
 +
=== Tasks & Goals ===
 +
 +
Jot down some goals for the day, week, or month on a notepad, in a text document, or use one of those online project planning websites - there's plenty of free ones available. It doesn't matter what you choose to use, just that you have some sort of plan, because if you are jumping around doing little bits here & there instead of working on something & finishing it then moving onto the next thing you will find that you will probably have a hard time keeping track of everything that you have done.
 +
<hr>
 +
{| class="ts"
 +
|-
 +
| ''Quick note: I even created a small text document with a list of some of the topics that I wanted to cover on this wiki page, however as per usual I often end up thinking of additional things I want to cover after I've started typing up the page, but that's ok as sometimes inspiration comes from doing instead of thinking.''
 +
|}
 +
<hr>
 +
 +
  
  

Revision as of 15:44, 20 August 2022

On this page you will find a bunch of tips on how you can potentially improve your workflow. Just in case any of you don't already know what workflow is, it is the efficiency of how you work, which can summed up as so...


  • How long does it take you to perform specific tasks?
  • How consistent is the time it takes you to perform said tasks?
  • How much work is involved in performing said tasks?

Now that you know what workflow entails, is there anything you could do to increase the efficiency of your workflow that will help you decrease the time it takes you to perform tasks while reducing the amount of work involved in finishing the tasks? The answer to that is yes, but it may take you some time to figure out what workflow works best for you, as everyone is different & there's no one-size-fits-all solution.

Anyway, let's crack on...


Quick note: I just want to point out that this tip guide isn't really a tutorial, just think of it as a sort of text based Ted Talk. My goal here is to give you an idea of my workflow & why I work the way I do, & not to tell you how you should work, but instead hopefully provide you with some ideas on how you can potentially improve your own workflow. In the end, however you choose to work is entirely up to you.


Always Make a Plan

I'm not saying that you have to type up a 1000+ page in-depth document detailing every single little thing to do with your game, but ideally you should come up with some kind of plan, even if it's just some daily or weekly tasks that you want to work on.


Quick note: Any kind of plan is better than no plan, because no plan leads to chaos, which leads to an inefficient workflow, which often leads to frustration, a lack of focus, & eventually a decline in overall motivation to work on your projects. Trust me, chaos is a project killer.

Here's a few methods you can use for planning out your projects & time sensitive tasks...

Game Design Document

The game design document (GDD) is usually a large document that would typically be created to share with other members of your project team as a guideline of what your game is about, which includes: a general summary of the story-line, the game mechanics, puzzle designs, character bios, location information, etc. etc. Game design documents can also be used for pitching your game to potential game publishers in the hopes of getting funds to create the game of your dreams.

Mind Mapping

Mind mapping, cloud mapping, thought mapping, you can call this whatever you like. This involves using a piece of paper or a whiteboard/blackboard or an application like yEd to create flow charts. Flow charts work really well for puzzle design, dialogs, & figuring out what events, locations, etc. are connected to each other.

Mm example.png

Sticky Notes

They are kind of messy, but if you are a messy kind of person you will probably love scribbling on these & sticking them all around the edge of your monitor & wherever there's a bit of empty space on your desk &/or walls. They are mostly useful as reminders if you don't have the best of memory like me. I don't personally use them myself as I prefer to keep desk & work area as clutter & distraction free as possible as it helps keep me focused on whatever I'm doing.

Tasks & Goals

Jot down some goals for the day, week, or month on a notepad, in a text document, or use one of those online project planning websites - there's plenty of free ones available. It doesn't matter what you choose to use, just that you have some sort of plan, because if you are jumping around doing little bits here & there instead of working on something & finishing it then moving onto the next thing you will find that you will probably have a hard time keeping track of everything that you have done.


Quick note: I even created a small text document with a list of some of the topics that I wanted to cover on this wiki page, however as per usual I often end up thinking of additional things I want to cover after I've started typing up the page, but that's ok as sometimes inspiration comes from doing instead of thinking.



Editor versus Scripting

A lot of you are probably going to be facepalming right now, as most of you that know me (AFRLme) know that I am very script heavy when I provide answers on the forum & Discord server. The reason I prefer scripting over action parts is because for me it's much faster & easier for me to type than it is to drag the mouse cursor all around the Visionaire Studio editor clicking on this & that - for me it's that simple, it's faster & easier.

I'm not saying that you should all switch to scripting, but scripting is so much faster if you are willing to learn it. Why? Because something that you create in the editor might require a 100 action parts, but might only require a line of code, or a few lines of code at most.

Having said that, I am not averse to using action parts, I do still use them when they are easier & faster than doing something with script. I also like to mix & match action parts with scripting via execute a script & if lua result action parts.

A quick example of when action parts can be faster than scripting would be simple condition/value based queries where you only need to query a single thing. If you need to query multiple things or perform complicated queries that involve the and or or query operators then you should consider using the if lua result action part as that is what that action part is for, but it does require scripting knowledge to use.

In other words it's all about figuring out what works best for each situation & not being afraid to get your hands dirty, experiment, & learn new things. If you aren't willing to do that, then enjoy working at the speed of sloth on all your projects.


Conditions versus Values

When it comes to conditions & values, conditions are very simple to use compared to values as they only have two states, which are true & false, however that doesn't mean that they are efficient workflow wise.

I tend to work with values a lot more than conditions, & the reason behind that is because they are excellent at dealing with multi-state situations because they have multiple operators types you can query. This means that you can create a single value & assign it to multiple scene objects & use the different available query operators to control how the value affects each scene object.


Quick note: By assigning a condition or a value to the properties section of scene objects & interface buttons, you can control when the object or button will be visible (active) or hidden (inactive).

Here's a quick example of defining language via conditions & values...

Condition Example

change condition "language_is_English" to true
change condition "language_is_German" to false
change condition "language_is_French" to false
etc...

Value Example

value "v_lang" = 1

As you can see values are much faster as there's much less work involved.


Resources

Name Description
animation_tnt_v2.zip A working .ved file, complete with resources. Check out the readme.txt file for instructions. Visonaire Studio 5.1.9.1+ required.