Skip to content

Insomniac engine

Insomniac’s engine is carried from game to game; ALERT’s research names its generations by codename: i16 Sunset Overdrive (2014, PC 2018), i20 Marvel’s Spider-Man Remastered, i31 Miles Morales, i29 Ratchet & Clank: Rift Apart, i30 Spider-Man 2, i33 Wolverine. Sourced · ALERT wiki The wiki records Sunset Overdrive, the i16 generation, and nothing of the later ones. Observed

Everything in the game is an asset with a 32-bit id, stored in a few large archives that a compressed toc indexes. Almost every asset is a DAT1 container: a header of tagged sections, each section one fixed binary structure. A model is geometry in .model sections, a texture a header plus DDS-ordered pixel chains, and the city a field of hexagonal zones that list placed models and carry Havok collision. Observed

The decoding of Sunset Overdrive was a one-day census of the PC build 3373500, and that install is no longer present, so the figures cannot be re-checked today. The counts are measurements over every asset of the stated kind and are marked Observed with their scope; nothing here is marked as proven. Layout names that come from ALERT are Sourced. Observed

Area State Confidence
toc, archives, naming through layout.csv, DAT1 and LZ4 wrapper complete Observed
Zone placement (kind 0 placed models, decals, effects) all 4,936 zones read; other kinds and traversal data not decoded Observed
Models quantisation, vertices, indices, meshes, LODs, UV0; materials, skinning, vertex colour, second UV not decoded Observed
Textures header, mip-chain sizes, formats; slice order and sRGB bit not established Observed
Collision Havok packfile and class census; shape data not decoded Observed
Materials, actors, configs, cinematics, animation not read here Unknown

The first of Insomniac’s formats to be decoded here, the placement section, was the one ALERT left open. Sourced · ALERT wiki Games: Sunset Overdrive.

What do the later Insomniac generations change?

ALERT documents 64-bit asset ids, 256 spans, DSAR archive compression and GDeflate textures from Spider-Man and Rift Apart on. None of it was measured here, and Sunset Overdrive’s own section formats are only compared with those games’ by ALERT, not by this wiki.

Pages

Archives and files

  • The toc and the archives — How Sunset Overdrive finds an asset: the zlib-compressed toc, its sections, the 20 archives with duplicated assets, and layout.csv, which names every asset.

Data model

  • Assets and the DAT1 container — The 36-byte asset wrapper, LZ4 compression, and the DAT1 container whose tagged sections hold every Sunset Overdrive asset type.

World and streaming

  • Zones and hex tiles — How Sunset City is cut into hexagonal zone assets, how a zone lists its placed models in section 06ABCAB2, the per-kind offset tables, and what is still undecoded.

Geometry

  • Models (.model) — The Sunset Overdrive model asset: quantised vertices, 16-bit indices, the mesh table, the four-LOD look table, UVs, and the sections that are not yet decoded.

Textures

  • Textures (.texture) — The Sunset Overdrive texture asset: its 36-byte header, SD pixels in the asset and HD mips in a separate stream asset, formats, mip-chain sizes and cube maps.

Collision and physics

  • Havok collision (zone_physics) — The Havok hknp packfiles that hold Sunset Overdrive's collision, their header variant, section layout, and a census of the shape classes; the shape data itself is not decoded.

Sources

  • ALERT (Tkachov) — Python reader and asset browser for Insomniac archives (Sunset Overdrive, Spider-Man, Ratchet & Clank, Wolverine); GPL-3
  • ALERT wiki — documents toc, DAT1, asset types and per-section formats; its codenames name the engine generations