Blog

CMake Essentials Series - Part 4

November 16, 2022

In this last installment we’ll cover the necessary commands to install a library for use in other projects. Motivation Over the course of this series we’ve learnt how to use CMake and make use of existing libraries, but not what is involved in authoring new libraries that others can easily integrate. By following these best practices we can make our libraries easy to use and more likely to be adopted....

CMake Essentials Series - Part 3

November 2, 2022

How to integrate larger third-party dependencies into your CMake projects and reuse them across multiple projects. Motivation While FetchContent is great for some things, it’s not always the right tool. When a larger dependency like a full framework or package needs to be integrated, instead of making it part of the same build, the dependency can be built and installed separately and then integrated into the main build with find_package....

CMake Essentials Series - Part 2

October 19, 2022

How to quickly integrate third party libraries with your CMake projects. Motivation Dependency management in C++ has always been difficult. Without any sort of package manager the manual steps involved in bringing in a library can be time consuming and error prone. Fortunately CMake has a fairly recent addition (3.11-3.14) that makes this incredibly simple. Example The killer feature that makes dependency management a breeze is FetchContent....

2022 O3DE User Survey Report

October 12, 2022

On a Mission to Continuously Improving the User Experience in O3DE The O3DE user interface and user experience Special Interest Group (SIG UI-UX) conducted a survey in June 2022 with the goal to continuously improve the Open 3D Engine (O3DE) experience for developers, artists, content creators and other users. Results from over 200 participants provided a snapshot that will be used to guide the evolution of features, capabilities and enhancements to improve user experience in future releases of O3DE....

CMake Essentials Series - Part 1

October 5, 2022

This series aims to give an overview of some of the most useful functionality in CMake and how to apply it in O3DE. Motivation CMake is the most widely used build system in the C++ community and understanding how best to use it unlocks a whole host of possibilities when it comes to C++ development in O3DE. Project setup becomes a breeze and integration with open source projects is made much simpler....

For the Love of the Game: In Search of Best-of-Breed 3D Creation Tools

September 21, 2022

For the Love of the Game: In Search of Best-of-Breed 3D Creation Tools Born out of a desire to make their own games, indie game developers Jacob Dodenhoff and Phoenix Cook forged Chaotic Creations Interactive (CCI), a small game development studio in the mid-west of the United States. Their studio reflects who they are and what they value: the players, and the commitments they make to them....

Advance Prototyping of the InteractiveTutorials Gem for O3DE

September 7, 2022

Hi! I’m Madeleine, an Amazon intern working on Open 3D Engine (O3DE). My summer project focused on advanced prototyping of the InteractiveTutorials gem. This prototype teaches users how to work with Open 3D Engine, right in O3DE Editor. As users work through tutorials, the tool highlights the parts of the interface used at each step. So far, I’ve added several features and scoped out future improvements, including automating tutorials and making them easier to navigate....

C++ STL Algorithms Series - Part 4

August 31, 2022

Topic This week we’ll be looking at where algorithms can lead us into trouble and how we can avoid falling into these traps. (This article is a little longer than usual, normal programming will resume next week). Motivation This came from a real-world example where rigid adherence to trying to use an algorithm at all costs lead to an unexpected outcome. By taking a step back and thinking through the problem again, an alternative approach presented itself, but served as a stark reminder to check ones thinking and never assume....

C++ STL Algorithms Series - Part 3

August 17, 2022

The more familiar we become with algorithms the more places begin to emerge where they can be utilized. This time we’ll introduce transform and see how it can be used to solve a familiar problem. Example transform takes a pair of iterators and applies a function to each element, storing the result to an output range (this is usually a new collection but it can also be performed in-place)....

C++ STL Algorithms Series - Part 2

August 3, 2022

Topic Continuing from the previous entry in this series, we’re going to keep exploring some of the use-cases of <algorithm>/<numeric> in our day to day work. Example It’s all too easy to come up with trivial examples for algorithms that don’t reflect the type of problems we have to solve everyday. With that in mind, this example (though a little contrived) might be something we actually want to calculate in O3DE....