AI in Rec Room - You Are Here

As we revealed in last week’s blog post (and hinted in previous AMAs), Rec Room has been working hard to bring AI to creators. We want to talk about our plans publicly as soon as we can (now!) because we’re really excited about releasing these features.

Why AI?

We know you’ve wanted AI for a very long time. Internally, we’ve loved building quests and we know you want to do that too. So badly that you’ve found ways that honestly amaze us.

^TwilightCrest by @sketched

^TwilightCrest by @sketched

^ClockingOff by @BDSwagMuffin

^ClockingOff by @BDSwagMuffin

^BloomingAdventure by @Demoro

^BloomingAdventure by @Demoro

We know how difficult these rooms have been to build, and we want to invest in bringing you tools to make these experiences easier to craft.

Bringing AI to creators is a large endeavor, so we are going to be doing this in stages. This approach lets us get tools to you faster and enables us to innovate and adjust in between stages based on your feedback from the last phase. We’re referring to each of these stages as “phases” internally, and we’re very close to getting Phase 1 to you.

Now let’s go into more detail about what these “phases” mean for rolling out AI.

Phases

For us, a phase encompasses a set of tools that unlocks new scenarios for creators, and takes us one step closer to a fully capable AI tool set. We’ve outlined at least 4 phases long term. 

Phase 1 focuses on making our bots, starting with our initial cast of Goblins and JumboTron bots, available for you to use in your own rooms. The initial scripting capabilities for these bots will be pretty lean, but we’re keeping it lean intentionally so that we can iron out a whole bunch of complexity and expand our AI systems with confidence in the near future. We’ll go into more detail about phase 1 below.

Phase 2 is all about taking the simple building blocks from Phase 1 and expanding them to include all the same AI scripting capabilities we rely on for our Quests and Laser Tag rooms. As such we’d start enabling things like being able to spawn bots in random locations within a region, assign bots to your own custom patrol paths, or even assign bots to different teams so that you can have a mix of hostile and friendly AIs interacting with one another. For some creators, Phase 2 means that they’ll be able to easily build a wide variety of Quest experiences. For others, this will be the best time to build an awesome new tower defense game, or horde mode room! We want you to be able to channel your passion and creativity into building your own adventures and telling your own stories, rather than fretting over details of how to just get things to work! During Phase 2, you will still be limited to our own bots, but we’ll be adding in even more as we update them to work in any room. 

Phase 3 is all about establishing the pipeline for being able to customize AI, save new versions of them, and republishing them to share with others. For example, you could make a giant yellow skeleton who moves really slowly but has quadruple hit-points. It won’t be the most flexible customization in its first incarnation, but this phase is really all about laying the foundation of the system so that it can handle all the magic of fully customizable, built-from-the-ground-up AI that we see as the ultimate destination for all this effort.

Phases 4 and beyond are entirely about giving you low-level user-friendly building blocks for creating your own AI. This includes everything from what they look like, how they animate, what sounds they make, and much much more. Our cast of bots has made for a lot of joy in Rec Room, but we’re most excited to see what you all would make if you had the tools to do it yourselves from the ground up. We can’t wait to get there, but we have to acknowledge that it’s going to take a lot of work to make it happen. Aside from having an abundance of passion for doing the work, and a belief that using these tools will feel more like working on electronics and motors than like programming a game, the honest truth here is that we won’t know the details of how this system works until we build everything leading up to it. The way it ultimately shapes up and feels will be evolving with every release as we hear from our wonderful, engaged creators all along the way.

Beyond these phases, the sky's the limit on how many and how varied AI building blocks we can add to extend the system. This is a large part of the reason we want to release things incrementally, so we can prioritize tools based on creator feedback. We can’t wait to see what creators will do once they aren’t limited by just our RRO bots, whether that be custom NPC in quests or something we haven’t even thought of doing.

As we mentioned last time, AI Phase 1 is slated for release in the next month, Phase 2 soon after in the next 3 months.

Since we’re so close to release, we want to share how Phase 1 has been going.

Phase 1

The goal of this phase is to make the bots from our quests and RRO content available to creators in their own rooms. Internally, we also had to make sure our own Quests remained intact and that we were setting ourselves up for technical success in later phases. The best part of this phase is that AI will be in your hands after release, and we can start hearing your feedback. We know you’re going to make things we never would have anticipated and we can’t wait to see what you’ll come up with!

This phase will let you:

  1. Spawn any of our Goblins or JumboTron bots in your rooms

  2. Set intentional spawn locations for these bots

  3. Spawn them based on circuit signal

A lot of this relies on our new spawner gadget...

Spawner Gadget

The Spawner Gadget spawns an object - this could be a traditional prop or an AI. This means to spawn one of our RRO enemies in a room, you find the spawner gadget in the palette and place it where the enemy should spawn. Then you configure the spawner gadget to select the object to spawn.

image (1).png

Then to actually cause bots to spawn, you activate the red input pin of the gadget with a circuit signal.

image (3).png

How do bots work in custom rooms?

Good question. We've built a lot of gameplay scenarios in our Quests and Laser Tag maps over the years, but we've barely scratched the surface on the variety of environments these bots can play in. We're excited to see you push these limits, and because everyone builds environments differently, we've provided a visual indicator to help illustrate how these AI see the world and navigate through it. If a hallway is too narrow for a bot to fit through, you'll see that reflected in the navigation data. If a hill is too steep for AI to climb, you'll see that too, all without having to test all these scenarios manually.

Nav mesh.png

For creators, this visualization is a powerful design aid and time saver to help make sure your environments support the gameplay you want for your players. This information will then be saved into the room, and you’ll only need to redo the bake step when something changes where AI can move in the room, like moving walls or furniture.

Before you can have AI running around your room, open your Watch Menu, and go to This Room -> Settings -> AI -> Navigation and hit the button to bake NavMesh.

Nav Bake.gif

This information will then be saved into the room, and you’ll only need to redo the bake step when you make a change to something that affects where AI can move in the room, like walls or furniture.

What about ink cost?

In early tests, it felt confusing to balance AI ink budget against regular ink budget. We’ve settled on a system where spawned AI does have an ink cost, but it’s a very small one on par with a small prop, and it only applies once you actually spawn the AI. Each bot also has an “AI cost,” which contributes to a unique AI budget separate from room ink. The budget, which you can find under a room’s AI settings tab, only applies to currently spawned AI, regardless of how much regular ink is used in the room.

AI Budget.PNG

Before spawning we check the ink budget for props and the AI budget for AIs. If all can be added, we spawn them. If the objects cannot be spawned, the requests are tracked in a global queue that is serviced as soon as ink or AI budget becomes available.

A couple quick tips for working with AI

We’ve added a couple features to make it easier to iterate on your gameplay setups. First, we’ve added a Destroy All AI button to the AI Settings tab in room settings. This will clear out any AIs currently running around in your room. It’s easy to lose track of them as you’re testing a bunch. Second, we’ve added the ability to specify whether a trigger volume should only trigger once.

Trigger Once.PNG

With this set to true, if you just want one wave of enemies, your players will really only get one wave of enemies, rather than triggering spawns every time they touch a trigger volume.

And lastly, we’ve added a new button to Reset Gadgets in the Maker Pen settings menu.

Reset Gadgets.PNG

In Rec Room we have a very fluid line between creation and play. That said, as we add more complex features like AI, it’s helpful to be able to quickly try your experiences over and over, and see them the way your users would see them. This button provides a way to clear out non-permanent changes to the room, and reset the room back to a the state it was in before circuits started running logic. This button currently only applies to the trigger count for Trigger Volumes, and the state of your Spawner Gadgets, but it’s likely we’ll expand this to reset other gadgets where it helps. If you work anything like we do, this one will make iteration on gameplay setups much smoother.

What’s next?

We look forward to releasing AI in the next month and seeing everything you are going to do with the Phase 1 tools! Rest assured that as we get closer to a release of future phases that you’ll see similar communication via this blog, our AMAs, and our Discord. See you soon with an update on our feedback tools, and until then, give it your Rec Room best!