Dreams



Dreams is a game creation toolkit/social platform developed by Media Molecule that released in February 2020. I joined Media Molecule in late 2021 as a programmer to help update the creation toolkit, and ended up specializing in the logic and animation systems.

The largest project I worked on during my time on Dreams was the Animation 2.0 update that released in June 2023. The headline features are demoed in the VOD below.



The design of the tools focused on immediacy, removing steps in the animation process, and flexibility in editing. The update also shipped some interesting features that allowed people to create completely new kinds of animations, such as the physics recording feature (that allowed you to bake simulations into a cheap, deterministic animation) and the stop motion blending feature (which automatically quantized motion in an animation to give it a stylized look).

The new animation tools were also a massive optimization over the old tools. Dreams uses "gadgets" that provide sensor functionality, perform calculations, and affect the world. These gadgets are connected with wires that transmit values between them. In Dreams, animations are driven by different animation gadgets that connect to the affected objects using invisible wires. Given Dreams is a console game, there are hard limits for how many gadgets and wires can exist in a scene. The new animation update drastically reduces the amount of wires and gadgets required to make complex animations, which opens the door for creators to make far more advanced creations without hitting the built-in limits (for example, one user-created animation called "Duet", which originally used up 45% of its wire budget and 18% of its gadget budget, used less than 1% wires and 4% things when converted to use the new animation tools).



I was the sole developer on the animation update, and as such I was responsible for design decisions, scoping, implementation, and iteration of the tools.

In addition to the animation update, during my time on Dreams I helped ship many smaller user-facing create mode updates (invisible wire filter, colorblindness filters, paint glow visibility settings, weighted randomization gadget, and more); worked on features to aid the development of Mm's original game, Tren (snap points, photo gadget upgrades, persistence R&D, small tooling tweaks); and helped close out the server migration efforts to ensure the Dreams servers are secure, sustainable, and scalable.