A long time ago, in a Rec Room far far away, when Sandbox Machines roamed custom rooms, the first version of Circuits was conceived. We wanted a way for players to add logic to their rooms, a way to allow rooms to be dynamic, more alive, and hopefully, more fun. Thus, Circuits were born, the “logic” system in Rec Room, used to drive everything from game rules, to player spawning, to Gizmos and sound effects.
The Beginning
Circuits started out very modestly. They were originally called “Signals”, they used big old cubes, and they were single-player only, but you could still do some pretty neat stuff. The first prototype came in December of 2017:
Even with their simplicity, we thought they were pretty fun. One of the first things we made with them was a basketball mini-game, and that felt pretty cool:
So, we invested time to make them work in multiplayer games, cleaned up the art, and added some fun Chips to work with.
Circuits V1 officially released in February of 2018 as part of the “Merch Booth” update. We’ve been blown away by the creations the community has made with them ever since. Everything from machines that draw geometric patterns on the whiteboards, to Pong, to entire room experiences have been built with them over the last two years. You all have consistently impressed us with your ingenuity and skills!
The Problem
After a little over two years, Circuits have really started to show their age. They can be buggy, they can be hard to understand, and worst of all, they’re limiting the boundless creativity of the community.
Simple things like just storing a value are hard, or at least, not intuitive. You can only work with numbers, no matter what “type” of thing you’re dealing with. You can’t loop through collections of things, like players or teams. Due to our first networking implementation, V1 circuits execute only 10 times per second. Things get lost between the ticks, things feel laggy, and generally it’s holding back the experiences our creators want to give their audiences.
We want to change that!
The Solve - Circuits V2
Circuits V2 is the newest version of logic in Rec Room. We’ve built it from the ground up to be more powerful, more expressive, and easier to use than Circuits V1. We want to empower our creators to build whatever they want, and Circuits V2 is a step down that path!
We’re still figuring out a lot of the details, so consider everything a work in progress, but here’s some new key features:
V2 circuits are event driven. No more 1/10th second tick! You can respond to events in near real-time, enabling faster interactions and more interesting behaviors. You can even make your own custom events, like “MyEvent” in the image below. Circuits can send and receive events anywhere in your room, and provide a really powerful way to message things far away, or to respond to many different inputs the same way. For example, every button in your room could fire a “ButtonPressed” event that triggers a Sound Effect Chip.
V2 circuits have an explicit order and chain of execution, that you define! Only circuits in the chain will execute. So, in the image below, only one of the two Show Notification chips will run per-execution, never both. No more checking if a number isn’t zero!
V2 circuits support types! Booleans (true/false), Integer numbers, Decimal numbers, Players, and Strings (like Player names), Lists, and more to come!
V2 circuits have Variables! Gone are the days of using a Random chip to store a value. We now have variables! You can set them whenever you want, and they’ll hold their value until they are set again.
V2 circuits no longer cost ink! V2 circuits instead use a new metric, “Heat”. V2 chips only cost heat if they execute. So, you can create massive amounts of chips, as long as they’re not all running constantly =].
V2 circuits run locally, meaning you don’t have to wait for network latency to execute local logic. We’ll dive deeper into V2 Networking in a later blog post!
Because V1 and V2 circuits are so different, the two systems will operate separately, in parallel. V1 circuits will not connect to V2 circuits (or vice versa). Your old rooms won’t break, and all the old functionality will remain available via V1 while we bring the new system up to speed!
The Future
Circuits V2 is in the “Kinda soon” bucket on our Creator Roadmap. You can expect to see them rolling out in 1-3 months. We’re very much trying to take our time and make sure we can deliver an awesome and powerful experience.To reiterate from our Creator Road Map post, the plan for rolling out Circuits V2 is as follows:
Phase 1 (“Kinda soon”) - Circuits V2 are released under an opt-in “preview” checkbox.
Creators can use V2 circuits early, but they might be a little unstable, or things might change around between versions.
Creators will probably have a mixture of V1 and V2 circuits in their rooms, as many features of V1 won’t be present in V2 yet.
V1 circuits remain the default logic system in Rec Room. We’ll still provide bug fixes and sometimes new features on V1 circuits if we need to.
Phase 2 (Medium Term) - Circuits V2 are made the default logic system.
You no longer have to opt-in to use them.
Circuits V1 are placed under an opt-in, “Legacy” checkbox. We’ll still provide high-priority bug fixes, but no new features will be added. Many of the things we’ll be adding to V2 wouldn’t be possible in the old system.
Phase 3 (Very Long Term) - Circuits V2 have been around for a long while, and are providing more utility than Circuits V1.
“Legacy” checkbox is removed. You can no longer edit V1 circuits, but they’ll probably continue to work in rooms that have V1 circuits saved.
More for another time...
We’re so impressed with everything creators have been able to build in Rec Room. It’s not uncommon for us to have no idea how some bit of logic was done, or how some effect was achieved. We can’t wait to see what you can do with all the new interactions and expressiveness of Circuits V2!
Stay tuned for further Circuits V2 Blog Posts, where we’ll dig into things like events, networking, planned features, and rollout news. If you have questions about a specific feature, a request, or a comment, let us know, and, as always, you can reach us directly at the social media links listed below!