The Sandbox Engine, Xsolla Payments and Two AI-Built Games: JRPG Crypto Games Podcast

We follow up on The Sandbox with answers on its Genesis engine and its new Xsolla card payments, then play the two games we built in it with Claude, MushroomRun and Purrvivors.

The Sandbox Studio Podcast Thumbnail

On this episode of the JRPG Crypto Games Podcast, Colorado and July go back to The Sandbox to answer the questions we left open a couple of weeks ago. The engine is a fork of three.js called Genesis, with an optional WebGPU renderer. The Sandbox now takes card payments through Xsolla while keeping its SAND token, and we built two games in it with Claude, each in well under an hour.

July reads out every library behind the engine, Colorado asks whether the Xsolla deal is a vote against SAND, and we work out what two games cost on a $200-a-month Claude subscription. Both games are playable, and you can find the links in the section below the video.

Play the two games we built

We made both games in The Sandbox’s engine, with Claude connected to it over MCP. Neither is a finished product, but both show what a few prompts get you.

  • MushroomRun. July built it in 30 to 40 minutes with 5 to 10 prompts. You play an Indiana Jones-style adventurer racing a timer to collect glowing mushrooms in a temple ruin, and every spider you bump into knocks some of them out of your hands. The art comes from The Sandbox’s own voxel asset library.
  • Purrvivors. A teammate built it in about half an hour with around five prompts, and had Claude model the art in Blender. It plays like Vampire Survivors with a cat. You throw yarn balls and swipe claws at mice, rabbits, a Roomba and a squirting water bottle, then spend the coins you collected on upgrades for the next run.

Who’s on the show

  • Colorado hosts the show
  • July co-hosts and built MushroomRun

The build by the numbers

  • 5 to 10 prompts to build MushroomRun
  • 30 to 40 minutes from idea to a playable MushroomRun
  • About 5 prompts and half an hour for Purrvivors
  • $200 a month for the Claude subscription we used, about $6 a day
  • Under $1 worth of subscription usage for a game, by July’s estimate

In this episode

  • 00:00 The Sandbox engine is a three.js fork
  • 01:51 The tech stack, library by library
  • 04:52 Xsolla payments and the SAND token
  • 07:52 MushroomRun, built in 40 minutes
  • 12:23 Purrvivors, a Vampire Survivors with a cat
  • 15:46 What it cost and where to play

Full transcript

This transcript has been lightly edited for readability. Speakers are Colorado and July from the JRPG team.

The Sandbox engine is a three.js fork (00:00)

Colorado: So welcome to another episode of our crypto games podcast. A couple weeks ago we talked about The Sandbox, and we left a bunch of unanswered questions with that one. We’ve done some research, we actually made some games with it, and we’ve got a bunch of the answers now. So we wanted to do a quick follow-up.

One of the first things I really wanted to understand is what was behind their engine as a whole. What was the tech stack? So we took a look at it. I think we had mentioned maybe it was three.js, maybe it was Babylon, but it’s a three.js fork, and they basically did a mixture of a couple things.

One thing which I like is they give the option for WebGPU. By giving the option for WebGPU, you can actually leverage the GPU of the user’s machine, and you could really go all out. If the guy’s got a strong GPU on his machine, you could get the same quality that you could get with a AAA game. Has anyone done that in three.js? It’s yet to be seen.

It also brings up one more unanswered question. How are they going to handle scalability? If you made something which is really high quality and requires a good GPU, is there something there which is going to scale it back if someone visits on a mobile phone or on a computer with a weak GPU? So that one’s still unanswered, but we understand much more about their tech stack as a whole.

The tech stack, library by library (01:51)

Colorado: So I’ll turn it over to July. July, why don’t you give us a list of the dependencies in this tech stack?

July: All right, I have a list here. You already mentioned that they give you the option for WebGPU. Their three.js fork is called Genesis. That’s what they’re calling the whole package, I guess. They have Genesis WebGL Renderer and Genesis WebGPU Renderer for rendering, plus cascaded shadow maps and a post-process manager.

Apart from that, they have a bunch of libraries and engine plugins. For physics they’re using Rapier. For navigation and AI pathing they’re using recast-navigation plus three adapters. For CSG and boolean modeling they’re using Manifold 3D. For post-processing they’re using pmndrs postprocessing. For tweening it’s tween.js, which again, I think, is connected to three.js. For state they’re using Zustand. Never heard of it.

For schema validation it’s Zod. For in-browser TS compiling it’s esbuild-wasm, ts-morph and jiti. For debugging UI they have Tweakpane, dat.GUI and stats.js. For the mobile joystick they have nipplejs. For compression and miscellaneous other features they have fflate, YAML, nanoid and reflect-metadata. And for networking they have WS, plus some other optional stuff. It’s WebTransport over HTTP/3.

I think that’s most of the stack.

Colorado: Wow. So it sounds like a pretty robust stack with a lot of features in it. And I think with that, you could probably build some really good stuff, depending on how it’s used. I’m not sure how much value-add there is in bringing down a couple of libraries, but I guess it’s good that they pre-selected some stuff.

If I was using Claude… because you could use Claude, or you could use whatever LLM you want to help you with the coding part. Claude might say, no, actually, for physics I think this is a better library, or something. It could bring something down. But I guess it is nice that they put together a whole stack for you, and they say these are the things that work, and you’ve got networking and the basic stuff that you would expect from a raw-level game engine.

Xsolla payments and the SAND token (04:52)

Colorado: So the other question that was unanswered last time was what is going on with the token. They didn’t exactly answer it, but they made this announcement. Do you remember the day of the announcement?

July: No, but I can check. I think it was in the last week or two.

Colorado: And they announced that they’re using Xsolla for payments. It kind of brought me to… I saw, all right, they’re going to let you use Claude, or they’re going to let you use this, and you’re going to have to use AI to make this. You’re going to have to be paying for AI tokens, and this stuff is expensive. And I think it makes more sense to pay for it with actual real money than with their token, because all these third-party providers are not set up to accept SAND. They’re all set up to accept real payments and real money.

But what was their announcement exactly? What are they doing with Xsolla?

July: So they have a partnership with Xsolla, and they’re using it for payment with fiat currencies. At least my understanding is that users will be able to pay for things through Xsolla, just putting their card down the old-fashioned way. Xsolla’s been around for a while, so it’s pretty well known and used all around.

This doesn’t mean you can’t use SAND for anything. SAND is still going to be supported if developers decide to use it for buying in-game stuff, so they’re supposed to work hand in hand.

Colorado: Okay. It feels like pivoting away from Web3 and going back to just a traditional system. But yeah, I guess it remains to be seen how SAND is going to be integrated into it. I suppose it’s good if it turns into a seamless onboarding ramp to crypto that eventually drives us into the Web3 ecosystem. Then maybe they’ve got something good.

To me, what it looks like, at least from the announcement they made, is they’re saying, this is how you pay for things. You can pay for things in game with this. On the positive side, most people have credit cards, and not everyone has a crypto wallet, or the right crypto wallet with SAND in it, or whatever. So it opens them up to more users.

But on the negative side, for Web3 as a whole, it feels like a vote of unconfidence in their token. Not the best news, but I guess we’ll see. It remains to be seen how it gets integrated.

MushroomRun, built in 40 minutes (07:52)

Colorado: So we played with the engine a little bit more. One of the guys from the team made a cat game, or a mouse game?

July: Yeah, it’s like Vampire Survivors where you’re a cat.

Colorado: Vampire cat game. And July, you made a game also with us. So why don’t you talk about the games that we did, just to see how much they cost, how long it took to develop them, what’s in the games and what we actually made with the thing.

July: Okay. So I can’t tell you exactly how much they cost, because we just used our Claude subscriptions, which are $200 or something as a subscription. I connected it with MCP, and I just used Claude and The Sandbox engine, nothing else. I did maybe a total of 5 or 10 prompts.

Once it was connected, I even made Claude connect itself, apart from me clicking a few things in the engine. I asked it to set up everything, and it worked right off the bat. I asked it, okay, so what can we do now? It gave me a few things we can do. I was like, okay, sure, make a plan for what we’re going to do and start executing it. And it asks along the way and all that.

Colorado: How long did you spend on the whole thing, from idea to shipped game?

July: I wouldn’t call it ready to ship, but whatever I had made took maybe half an hour, 40 minutes, something like that.

Colorado: Okay, wow.

July: And it’s a very simple game. It’s a small level, you walk around, you can jump, you collect mushrooms which glow, and you’re on a timer, and there’s…

Colorado: Did you put art in it, or did you just let Claude put art in it? Oh, so it does have art.

July: Yeah, yeah.

Colorado: So the level, and the characters, and everything?

July: Yes. So initially I made it without any art. I just made it do a gray box. It asked me if I wanted to use specific assets, or if I wanted to drag something into the project for it to use, or to just do gray box. I asked it to do gray box, figuring that’s the simplest for prototyping, and I wanted to get to using assets later.

So initially I just made it gray-box out the base functionality of the game and the level and all that. It made little glowing mushrooms, it used the default character, it made little blocky red enemies, and the block-out of the level, basically.

So you’re on a timer. You go and collect mushrooms. If the timer runs out and you don’t have all the mushrooms, you lose. If you get all the mushrooms, you win. If you bump into an enemy, you drop some mushrooms and you have to pick them back up. Once you have two or three mushrooms left, I believe, the ones that are left in the level start glowing and shoot a beam up, so you can find the ones you missed on your initial run. And I think that’s pretty much the whole game.

After it made the prototype and it worked, I made it add a double jump, and I told it to add assets. It gave me a few options, including, again, me just dragging stuff in, so I can make my own things or get stuff off a marketplace. Or it gave me the option to just use things from Sandbox’s pre-existing library of assets, which was the easiest option, so I went with that.

And Sandbox has a bunch of voxel graphics from, I guess, other projects they’ve done. So it got some. I believe the Adventurer is the model that it used for the main character, which is like an Indiana Jones.

Colorado: So how big is the library of free stuff that you get?

July: I haven’t looked for it. I think it’s enough to prototype something, to make something.

Colorado: Is it all the same art style? Is it that voxel kind of look?

July: I only used voxel stuff. I think they do have some stuff that’s not voxel… excuse me. I believe they do have stuff that’s not voxel graphics, but that’s their style, and I think that’s what they have most of, so that’s what it ended up picking.

It suggested a few characters for the main character. I went with the Adventurer, who’s an Indiana Jones type guy. For the enemies it picked spiders. I wanted it to be not a dungeon, but like a ruins temple type of vibe, so it found some temple statues and textures for the walls and stuff like that, and decorated everything. And that was it. It was pretty simple.

Purrvivors, a Vampire Survivors with a cat (12:23)

July: The other guy on the team, however, decided to hook up his Claude with Blender as well, through MCP, so he made it model all the stuff for his game. He got little, cute, very simple models, but still presentable. If you’re going for a cute, simple art style, I think it’s enough.

The main model is a cat. There’s a bunch of little mouse enemies, there are, I think, rabbit enemies, there’s a little Roomba vacuum that chases you around as an enemy type, and a squirting water bottle. It’s also an enemy, it shoots water drops at you. It made a simple modeled level. It looks very boxy, but it goes with the style. It’s very simple and cute.

And the game itself, his is quite a bit more fun, or at least I had more fun playing his than I did mine. It’s pretty much Vampire Survivors, without all the depth, obviously. You start off and you can just control the character up, down, left, right, diagonal, and you shoot automatically. Enemies come at you continuously, all the time, and every once in a while there’s a big wave of enemies that surrounds you. Enemies drop experience orbs, and when you get enough experience you level up and you get a choice of a few upgrades, and you pick which one you want to get.

You have a limited amount of weapons you can pick up. You start with throwing a yarn ball, and I think I got a little cat-swiping-its-claws thing. So it’s only the direction you’re looking, or to the left or right. I’m not sure. I think it was just left and right initially, and then it went all directions, and then it was a massive swipe around me.

You upgrade them, so as I upgraded it, it became a massive swipe. Same with the yarn ball. It was initially shooting just one, then it was two, then three, and at the end it was just a big pulsing wave of yarn balls around me. I just sat in the middle of the level, and I just needed to dodge projectiles that got to me, because everything else just died immediately.

Colorado: Wow.

July: And you collect coins as well. Bigger enemies, there are like boss-type enemies, they drop chests, and chests give you a bunch of extra items, like things you have already picked up, or things that you have room to pick up, because you only have a limited amount of room for weapons or upgrades.

When you die, you get all the coins you’ve collected, and you can upgrade so that you’re stronger from the start in the next run. For instance, I think you initially have a maximum of four weapons, something like that. You can upgrade that, I think, twice, up to six weapons.

Colorado: Wow.

July: Yeah, so it was pretty fun. And he told me he put this together in half an hour. Yeah, he said about five prompts, and a few of those were, “This doesn’t feel like Vampire Survivors, make it feel more like Vampire Survivors.”

Colorado: Oh, I see. Because if you tell the AI, “Make me GTA V,” right, then your prompt basically includes one million things that Claude should understand how to do. So when he put Vampire Survivors, that probably helped to shorten the process of making a complex game with one prompt.

July: Yes, yes.

What it cost and where to play (15:46)

Colorado: So we’re going to put a link to both of these games on the website, and if you’re watching this on YouTube, we’ll put a link in the description, so you’ll be able to find these games and get an idea of what you can make with The Sandbox.

And I guess as far as pricing, it’s hard to say what it’s going to cost if you’re using something with API usage. We don’t have an exact number, but we did this with the Claude subscription, which is around $200 a month, so $6 a day, and it didn’t even eat up the daily usage or anything.

July: Yeah, not even close. But the Claude subscription often comes out to be cheaper than if you did it with an API. So for sure, with the subscription it’s less than a dollar’s worth of stuff. With the API it probably would have been more, depending on what model you used.

Colorado: So that’s everything for today. Thank you, everybody.

July: Thank you.

◆ ◆ ◆

You may also like