Indiana Jones and the Great Circle

We are working closely with various teams at MachineGames, supporting new and existing technology for their proprietary game engine and production pipeline.
Indiana Jones and the Great Circle is the first release we contributed to.
Our Contribution
We are thankful for the opportunity to apply our knowledge and diligence in a wide variety of areas:
Engine Systems Programming
We were instrumental in designing and implementing runtime systems and associated tooling for segmenting the game world into sectors that can be defined by level designers. These sectors are used for a variety of optimizations, such as:
- Loading and unloading parts of the game world, considering player location, orientation and direction of movement
- Determining of desired detail levels for parts of the game world and associated objects
- Determining simulation fidelity of game objects via reduced update frequency or omission (i.e. object dormancy)
- Offline processing of sector information for generating merged and simplified representations of neighboring sector geometry (i.e. impostor generation)
Further areas of systems work include:
- Ability to query and handle player entitlements such as DLC or special item ownership across platforms
- Support for full-motion video playback during scene loading
- Enabling real-time game scenes to be displayed on menus
- General CPU & Memory optimization
Gameplay Systems Programming
Our focus in gameplay systems programming included the design and implementation of a system for composing weapons or tools using modular, reusable building blocks consisting of static and animated objects. This system is used to create firearms with various attachments while retaining correct interaction with character hands. We eventually expanded it to enable the setup of entire characters with modular clothing or accessories and the offline generation of item thumbnail images.
We heavily contributed to the game’s traversal systems for non player characters, covering:
- NPC Pathfinding, navigation mesh generation, visualization & authoring
- NPC traversal along splines placed by level designers and the necessary tooling
- Procedural NPC hand- and foot placement during traversal using inverse kinematics
- AI middleware updates (Havok)
- Robust in-game and editor visualization of collision volumes
We optimized, expanded and solidified the game’s save system, supporting serialization of the internal states of elaborate visual logic graphs used for scripting behaviors and sequences.
Tools and Pipeline Programming
We developed a sophisticated set of tools and runtime systems for authoring and rendering expansive terrain, including:
- Terrain sculpting, painting, masking & blending
- Scattering objects such as decals, props or foliage
- Virtual texturing system with runtime texture compression
- Houdini engine integration for procedural terrain generation
- Real-time interaction & preview in the editor
- Version control system integration
- Support for pen tablets and pressure sensitivity
We applied usability, stability and functionality improvements to a host of tools such as the editor’s Asset browser, Logic Designer, Material Editor & Painter, World/Prefab editor, Cinematic/Timeline editor.
Some of our focus went towards the creation of LOD generation tools for deformable objects with blend-shape support (powered by Simplygon).
Render Programming
Last but not least, we had a hand in shaping the game’s visual identity through contributions to its state-of-the-art rendering pipeline.
We overhauled the game’s water rendering systems through:
- Simulation and rendering of interactive algae and goo
- Realistic rendering of intersection between water surfaces and objects
- Tools for underwater “fog” volume placement and density control
- Substantial optimization for larger scale water setups
We provided a host of substantial GPU and memory optimizations, including support for streaming the vertex paint information of arbitrary objects. This system is heavily used for creating visually distinct variants of recurring level geometry and prop items.
