Dev Blog

The Machinery — April 2022 (version 2022.4)

We are deep at work on a bunch of bigger features spanning all the way from a new improved document editing model, to support for handling very large worlds. Unfortunately they aren’t ready to be rolled out just yet, but rest assured they are well worth waiting for.

In the meantime we still have the April release for you with a some smaller features and bunch of fixes and improvements.

More »

...

A Taxonomy of Bugs

Debugging is often an undervalued skill. It’s not really taught in schools (as far as I know), instead, you kind of have to pick it up as you go along. Today, I’ll try to remedy that by looking at some common bugs and what to do about them.

More »

...

The Machinery — March 2022 (version 2022.3)

Thanks to everyone who ventured outside of the Moscone area for our GDC meetup! It was great to see you, and also great for parts of our team to be able to meet physically for the first time since the pandemic started. We understand that everybody makes different risk assessments and that, for many, going to something like GDC doesn’t make a lot of sense, so we’ll try to do more virtual events too. For example, on the 29th of April, Niklas will be giving a prerecorded talk at the Hytradboi conference.

More »

...
The Machinery — April 2022 (version 2022.4) A Taxonomy of Bugs The Machinery — March 2022 (version 2022.3) The Machinery — February 2022 (version 2022.2) The Machinery — January 2022 (version 2022.1) The (Machinery) Network Frontier, Part 2 2021 Recap Compiling The Machinery with Emscripten: Part 2 — Graphics The Machinery — November 2021 (version 2021.11) Compiling The Machinery with Emscripten: Part 1 The Machinery — October 2021 (version 2021.10) The (Machinery) Network Frontier -- Part 1 The Machinery — September 2021 (version 2021.9) API Versioning One-Click Save Game System -- Part 3 Procedural Forest Sample The Machinery — August 2021 (version 2021.8) The Machinery Roadmap Update! Accessibility in The Machinery The Machinery — July 2021 (version 2021.7) Early Adopters Program One-Click Save Game System -- Part 2 The Machinery Beta — June 2021 (version 2021.6) One-Click Save Game System -- Part 1 Supporting Native HDR Monitors The Machinery Beta — May 2021 (version 2021.5) A Debugging Story The Machinery Beta — April 2021 (version 2021.4) Gamepad Implementation on Linux Dig Shallow Graves The Machinery Beta — March 2021 (version 2021.3) Porting The Machinery to Linux The Machinery Beta — February 2021 (version 2021.2) Moving The Machinery to Bindless Dino! Dino! The Machinery Beta — January 2021 (version 2021.1) Summer Fun with Creation Graphs The Machinery Beta — December 2020 (version 2020.12) Interns at Our Machinery: Simon Interns at Our Machinery: Frank The Machinery Beta — November 2020 (version 2020.11) Interns at Our Machinery Linear Algebra Shenanigans: Gizmo Repair The Machinery Goes Open Beta Step-by-step: Programming incrementally The Machinery Beta — September 2020 (version 2020.9) Borderland between Rendering and Editor — Part 3: Selection Highlighting WaSaBi Part 5: Making it WFH The Machinery Beta — August 2020 (version 2020.8) The Machinery Beta — July 2020 (version 2020.7) Prototypes in The Machinery The Machinery Beta — June 2020 (version 2020.6) Subgraphs and Function Graphs Borderland between Rendering and Editor — Part 2: Picking The Machinery Beta — May 2020 (version 2020.5) WaSaBi Part 4: Working From Home Recording Statistics — An Exercise in Minimalism GPU Simulation The Machinery Beta — April 2020 (version 2020.4) WaSaBi Part 3: Accessibility The Machinery Beta — March 2020 (version 2020.3) Writing a Low-Level Sound System — You Can Do It! Borderland between Rendering and Editor - Part 1 GDC 2020 Time Tracking In 2020 See Ya Later 2019! Alpha Update More on Creation Graphs WaSaBi Part 2: Defining Culture Data Structures Part 3: Arrays of arrays Vertex Assembly and Skinning We are Starting a Business, ideally -- Part 1 Data Structures Part 2: Indices Data Structures Part 1: Bulk Data Summertime Rolls Syncing a data-oriented ECS with a stateful external system The Machinery Asset Pipeline Quick Update Creating Cross-Language APIs Referencing Objects: Names vs GUIDs Creation Graphs Our Machinery Meetup What's happening this year Localization in The Machinery’s UI The Anti-Feature Dream Vasa The Story behind The Truth: Designing a Data Model Entity-Component-Systems and Rendering Our Machinery Podcast Part 10: Community Management A Tale of Two Bugs Device Memory Management Marketing Mini Series Part 9: Internal Marketing Making the move/rotate/scale gizmos work with any component The Machinery Shader System (part 3) Marketing Mini Series Part 8: Online Marketing 101: The Four Pillars Implementing drag-and-drop in an IMGUI The Machinery Shader System (part 2) GDC meetup! Marketing Mini Series Part 7: Websites The Document Model and The Machinery The Machinery Shader System (part 1) Marketing Mini Series Part 6: Co-Marketing/Partner Efforts Minimalist container library in C (part 2) Explicit Multi-GPU Programming Marketing Mini Series Part 5: Demos Minimalist container library in C (part 1) A year in review Vulkan: Pipelines and Render States Marketing Mini Series Part 4: PR (Public Relations) Should entities support multiple instances of the same component? Vulkan: Command Buffer Management Marketing Mini Series Part 3: Branding Virtual Memory Tricks Vulkan: Descriptor Sets Management Marketing Miniseries: Part 2 User Groups and User Conferences Multi-Threading The Truth It’s All About The Data Keyboard Focus and Event Trickling in Immediate Mode GUIs Simple Parallel Rendering How to Marketing (A 10-Part Mini Series) Moving away from GitFlow High-Level Rendering Using Render Graphs Let's All Go to the Conference DLL Hot Reloading in Theory and Practice DPI-aware IMGUI Interviewing Part 2: The Interviewer One Draw Call UI Interviewing Part 1: The Interviewee Defaulting to Zero UI rendering using Primitive Buffers The Importance of Diversity Little Machines Working Together (Part 2) Efficient binding of shader resources Finding Alignment Little Machines Working Together (Part 1) A modern rendering architecture Quality Life, Quality Work One-button source code builds Our development methodology Our Origin Story Physical Design of The Machinery Fiber based job system Day 1 Blog