[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.

Read More
4 Comments

Camera Experiment 1A: Behaviour Trees for Gameplay Cameras

14/5/2016

268 Comments

 
PictureA simple behaviour tree from my Archery Tag AI
The first question I must address here: Why would anyone put a behaviour* tree on a camera?

Behaviour trees are a powerful tool that allows designers and artists to visualize logic flow. It is easier for a non-technical person to learn and interact with a visual system that describes the states, than one where they must infer the states. The quick wins of behaviour trees over Blueprint include less rules to understand, clearer visual connections and flow, and nodes can be renamed to disambiguate them from other nodes (all of which help first-time users too).

The video above is part of a playlist showing how to implement behaviour trees in Unreal, and is recommended viewing for anyone who wants to have a practical understanding of the features tested in this experiment. Note that we implement very basic triggers with behaviour trees
in this experiment, however, these triggers are simple examples and might be better off implemented at the C++ level. Ideally, the process used in this experiment would be applied to empowering camera artists through control of camera behaviours in cases where performance costs are considered less important than giving artists a greater degree of autonomy.


Picture
This graph represents the triggering tools for camera artists on Prince of Persia. Click this picture to watch Jonathan Bard's GDC talk.
This experiment begins where Real Time Cameras in Unreal Editor 4 - Part 12 ends. Also in that article, I mentioned a GDC talk where Jonathan Bard from Ubisoft explains why they implemented a system like this for Prince of Persia. In that game, camera artists were given control of " thinking" for the camera using behaviour trees but camera senses and actions were implemented by engineers. My use of Unreal's Behavior Tree mimics the Decision Graph employed by camera artists for triggering behaviours, but I applied Blueprint for engineering tasks like scripting the camera.

*The answer to the second question is yes, I will insist on spelling behaviour in the Canadian/UK fashion whenever possible. I'll keep Unreal's spelling for their tools.

Read More
268 Comments

Real Time Cameras in Unreal Editor 4 - Part 12

27/3/2016

29 Comments

 
Video: Remi Lacoste. GDC 2013."...Emotionally Engaged Camera... " https://archive.org/details/GDC2013Lacoste
Reference: Mark Haigh-Hutchinson. 2009. "Real-Time Cameras: A Guide for Game Designers and Developers." Elsevier.

As we come closer to completing this series of articles, I have a varied assortment of guidelines from Haigh-Hutchinson that I have not shared yet. Many of these guidelines are echoed in Remi Lacoste's GDC Talk on the camera for Tomb Raider 2013, which is recommended viewing for anyone interesting in camera or conveying emotion in video games. His powerpoint for that talk highlights a key difference between the camera I made in Part 10 and the camera it was meant to emulate: "Instead of using an animated layer playing on top of our cameras, we used a physics based camera shake system allowing us to embrace a more custom approach." My Timeline-based implementation served as a good way to experiment with timelines, but in this post I recreate those camera behaviours using physics instead. I found Timelines useful in demonstration of my intention in Hugline Miami too, but ultimately physics provides better implementation when collision is involved. Today's grab-bag of wisdom happens to include three guidelines about camera collision.
  • "Prevent the camera passing through (or close to) game objects or physical environmental features. If the near plane of the camera view frustum intersects render geometry, unwanted visual artifacts will be produced. These will certainly detract from the graphical quality of the game, and a best seem very unprofessional. This problem is typically easily avoidable; it should be considered as simply unacceptable in modern camera systems. A passable solution to avoid this problem is to apply transparency effects to the geometry in question. By effectively removing the geometry (and indeed actually doing so according to camera proximity), the camera may be allowed to pass through without creating distracting visual artifacts...
  • Do not allow the camera to pass outside the game world. In the vast majority of cases, the camera is required to remain within the visible geometry of the world to prevent the player from seeing the construction of the game environment and thus destroying the illusion of the game play. There are limited cases where it is necessary to position the camera outside of the main game environment but only when care has been taken to hide construction details from the player...
  • Avoid enclosed space with complex geometry (third person cameras). There needs to be sufficient space for the camera to be positioned such that the player character may be viewed in relation to the game play elements with the environment. Small enclosed spaces will require the camera to be moves outside the environment to achieve this. If kept in close proximity to the player character it will likely result in poor framing and frequent loss of line of sight. Environmental construction should take camera framing requirements into consideration from the initial design stages."

Read More
29 Comments

Real-Time Cameras in Unreal Editor 4 - Part 11

5/3/2016

12 Comments

 
Screenshot from Metroid Prime Trilogy
Screenshot from the Metroid Prime trilogy, with camera design and programming by Mark Haigh-Hutchinson
Reference: Mark Haigh-Hutchinson. 2009. "Real-Time Cameras: A Guide for Game Designers and Developers." Elsevier.

So far, my focus has been on third-person cameras. I will share some first person camera wisdom from the reference textbook in this post, and also give third person camera examples to contrast between tho two camera schemes. These examples will demonstrate the following three points as they pertain to both first person and third person:
  1. "Do not require the player to manipulate the camera simply to play the game - unless it is a design requirement. For third person presentations, the camera system should be able to choose the most appropriate solution automatically, even in the most complex of situations. It is permissible to allow the player to control the camera when it is absolutely necessary or desirable to do so, but it should certainly not be required. Many games adopt a laissez-faire attitude to camera manipulation, which is unfortunate given its importance. If camera manipulation is allowed (or specified as part of the game design) then care must be taken to ensure the player cannot position the camera outside of the world geometry or into a position occluding the player character. The range of motion and method of manipulation must be carefully matched to the game design and technical requirements. An obvious exception to this rule would be first person games, where camera manipulation is an important part of regular game play. Even in this case, there are times where the camera orientation may be automatically adjusted to aid the player without overriding player control. Usually this is a subtle assistance to the player in clearly defined situations. Motion up or down steep inclines may induce some vertical pitching of the camera to assist in aiming or navigation of the world.
  2. Allow camera manipulation when possible or dictated by game design requirements. Certain game play situations will disallow camera manipulation, but certainly denying the player this control can often seem restrictive. Naturally, we should strive to present a view that does not require this manipulation, but there are certainly cases where the design would demand the player to examine their environment in detail. It is also true that it can be difficult to judge player intent and camera manipulation allows a greater sense of control and determinism for the player. There can be nothing more frustrating to a player than being prevented from seeing the world in a manner relevant to their current situation or intended action. The problem, however, is that the camera designer should not abdicate this responsibility as a solution. Additionally, restrictions to camera manipulation after such control has been allowed may be confusing and frustrating to the player unless adequately explained...
  3. Limited roll should be allowed in most regular game cameras. Little or no rotation should normally occur around the forward axis of the camera. Again, this is distracting and disorienting during regular game play, but within cinematic sequences, it is certainly permissible. Occasionally roll is used as part of an interpolation sequence to change the player's view of the game world, perhaps as part of a special mode of game play (e.g., climbing a wall and crawling along it). Some games have used this effect to intentionally disorient the player, but it should be used sparingly. Flight simulators and their ilk are an exception to this rule, as they usually present a view of the game world from the point of view of the vehicle. Even so, many people react poorly to extreme roll, so in external vehicle views it may prove wiser to only allow a limited amount of roll to emphasize a vehicle banking, etc. There are cases where roll can be used to a limited degree to emphasize differences in game play or to underscore an emotional state of the player character. Clearly, roll is perfectly allowed during cinematic sequences."

Read More
12 Comments
<<Previous
Forward>>

    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