[email protected]
Level Design Portfolio
  • HIGHLIGHTS:
    • Camera
    • Collaborations
  • The Long Dark
  • World Design

Telling stories through captivating gameplay.

Warning, this is a construction zone!

Flip through the tabs above to view Open Worlds and other Level Design works I've been crafting since 2014.

Or click the red button
to review my professional work as a Game Design generalist.

Fast Travel to Game Design

Camera Experiment 1B: Behaviour Trees for Gameplay Cameras

11/6/2016

4 Comments

 
Picture
Notice the (aborts self) and (inversed) properties which are critical to the functionality of this Behavior Tree. The Selector is also required.
While revisiting this experiment, I found the quality of results are greatly improved by removing the BTService_SenseContextOverride and creating new Tasks instead. The "Act" functionality is elegantly replaced by StableCamera and PhysicsCamera nodes that also avoid the unwanted jitter from the previous implementation.
Picture
The StableCamera Task sets Physics Camera Disabled to true, while the PhysicsCamera Task (not pictured) sets that key value false.

Results: Ease of use


1. No data were gathered for this category, as I was not working under test criteria.

2. Additional knowledge was required for the user to create this behaviour tree:
  • New Tasks can be created with custom actions and placed in the graph
  • Tasks have properties that must be initialized from the default window
In this case, Key_PhysicsCameraDisabled must refer to correct Blackboard key.
  • Decorators have properties that must be initialized from the default window
Observer aborts must be set to "Self" to return to the root node, and in one case the Inverse Condition property was set true to check the exact opposite condition.

3.
The shortest possible re-implementation took 17 clicks, including 3 click and drags as well as 2 right clicks. I also typed 3 times to filter nodes after clicking and dragging to add nodes to the behaviour tree, only hitting 2 keys each of those times.

Note that the number of clicks actually increased because more properties were customized to create this simpler layout. Each default property, excluding booleans,
requires 2 clicks to be changed from the initial value. Removing unused Blackboard keys (to autopopulate the defaults correctly) reduced the total number of clicks by 4.

4. Here is additional documentation describing how Tasks can be implemented:
https://docs.unrealengine.com/latest/INT/Engine/AI/BehaviorTrees/QuickStart/12/



Results: Visual feedback


PictureSomehow I missed New Task despite using the next two buttons.
It is hard to find flaws in usability unless you are a relatively new user and have an imperfect comprehension of the optimal workflow for the test you are trying to complete. The first time I did this test, I focused on applying my new knowledge of Services, specifically the context override pattern, causing me to ignore one of the most basic actions for the Behavior Tree editor: creating a New Task.

A lot of the other basic actions are more discoverable, for instance, the Root node can only connect to a Composite node so one is forced to learn the difference between Composites and basic Tasks. Having the Wait and MoveTo basic Task nodes available immediately is very helpful for beginners, because they provide everything needed to create basic AI. Since the resulting node from clicking New Task is almost exactly the same as MoveTo node, I think some user experience improvements could be made to help new users discover what other functions Tasks can accomplish. One suggestion would be to add a right click menu option to convert a Wait or MoveTo node to a new Task node.


Picture
Minor additions to the Side Scroller Character to make the Physics Camera transform (A) relevant only when the character is not falling.
Visual quality of results:
The visual quality of the product is greatly improved by this new implementation. Some of the flickering from the previous test results was caused by the Service's update intervals, and additional engineering-side conditions to keep track of the character state helped smooth the transitions. The new test results were implemented in a way that is much simpler than the Blueprint implementation and could be accomplish with a modest understanding of Behavior Trees. Overall, there was a strong improvement with a few hours of iteration on the previous method.

Getting further improvements will likely require starting from scratch, and will be completed in the near future when I have time to create a third person camera. In the meantime, I will be doing experiments to compare behaviour trees with state machines and tinkering with advanced AI features with applications to gameplay cameras; for example, the Environmental Querying System (EQS).
4 Comments
custom CV writing link
15/7/2016 05:30:08 pm

This camera experiment is really very beneficent for us and we can learn special knowledge by this post. You will not get this knowledge easily on other pages even you try your best because this is really precious according to visitors of this page.

Reply
cv company link
10/6/2017 10:20:22 pm

Honestly, I've never seen such detailed way of explaining how BLAH like this works. I don't know much about these things, but I think you just educated me in a single blog post. You really did an amazing job here. I hope you continue being such an inspiration to every gamers out there. This is such a worth visiting blogs. Keep us updated to your gaming life! Thank you so much for posting this informative article

Reply
best research paper writing service reviews link
23/2/2017 02:09:41 am

I'd like to test some of the ideas. Just keep reporting!

Reply
resumesplanet.com link
16/4/2017 05:28:16 pm

This information is very useful and very knowledgeable to learn. This information can be used in any presentation that you really want. I will also make my IT friend learn this and so that you will learn in this kind of things. I'm glad to read this article, I learn a lot today and I hope that you will post more knowledge like this. Thanks for sharing this article with us, I really appreciate the effort that you do to share this information.

Reply



Leave a Reply.


    James Dodge

    Level Designer

    View my profile on LinkedIn

    Categories

    All
    CameraAnalysis
    CameraDevelopment
    GlobalGameJam
    Photoshop
    TombRaider


    Archives

    October 2021
    December 2017
    November 2017
    October 2017
    September 2017
    August 2017
    July 2017
    June 2017
    May 2017
    April 2017
    March 2017
    February 2017
    January 2017
    December 2016
    October 2016
    September 2016
    June 2016
    May 2016
    March 2016
    February 2016
    August 2015
    July 2015
    March 2015
    February 2015
    December 2014
    September 2014
    August 2014
    July 2014
    April 2014
    January 2014
    December 2013
    November 2013
    October 2013
    August 2013


    RSS Feed

Site powered by Weebly. Managed by Bluehost