I recently had a chance to sit down with Baffled Media's Benjamin McCallister, the Lead Developer of Batch 17. We discussed persistence and instancing in the game, modding in the online world, post-release content, and more.

Me: How many people are working on Batch 17?

McCallister: I’m actually the only full-time person, but, at any given time, I’ve had probably up to ten people who have helped me on it. I’m the primary guy who’s done the development, but there have been creative minds coming as designers, some people who have helped me with how this works. Playtesters have also tread back and even designed models for me. They’ve all been friends of mine or people who I’ve met through Facebook or the indie game developer forums. I’m pretty heavy on the indie game developer forums, Facebook, and Reddit. A lot of those people came from there, but no one on payroll.

How do players’ persistent instances work?

Basically, the entire game is made as one big open world. For example, you spawn—initially—on a space station, which has maybe 200 square meters worth of space to run around in and then, from there, you take shuttles down to any one of the eight asteroids that are in the game. But it’s all open world so, technically, it all exists at the same time whenever you load in. I just used code to hide stuff and not run code that you’re not close to. So when you have an instance, it’s of your entire “universe.”

And then people can just go in there and destroy whatever they want?

The way that the PvP is envisioned/working is that there’s damage that’s persistent and then there’s damage that’s not persistent. Everything in the game that’s persistent—things that get blown up like concrete barriers, things that can be set on fire, things like that—can be destroyed and then that damage that should persist, it can be repaired.

For PvP, when somebody goes into your instance that’s been flagged for open PvP, if they came in while you were logged off, destroyed a bunch of bases, killed some of the mobs that have some of the better loot, stuff like that, that would all persist as if you had been logged on while it had happened. That stuff would persist that way until it was reset. So, for example, if it was a mob that dropped loot that spawned once a day, it wouldn’t reset until that was done or until you had gone back and flagged an area to be rebuilt, which would take time, as well.

How do invasions work? Is there matchmaking or do you manually choose who to invade?

That is a great question. A lot of what I want to do when the game gets ready to launch is get player feedback on how the best form of finding people who are active is. It really is probably going to depend on how many people there are, where those people are located, and how many are on the server. Right now, there are servers on the east and west coast [of the United States]—I’m using Amazon, so I can pull servers up pretty much anywhere around the world and create instances of those.

If there are a ton of people, the matchmaking service probably needs to have a little bit more intelligence put into it. Right now, the matchmaking system is anybody who’s online in your area, like on the east coast, and flagged for full PvP would be invadable.

Right now, what I’m doing is you get three instances per account. So when you flag an instance for PvP, you’re basically saying that “I know this instance can get totally wrecked.” It might even serve as an invitation to draw out other people. I’m hoping that PvP warfare grows organically, like somebody gets bored and goes looking for open PvP instances.

Say I invade you, you’re going to get notification as to the fact that you’ve been invaded. So you could go back and log in right then to try to take me out or you could get a notification when you log back in that says “hey, Ben invaded you.” Then, from the moment that you were invaded, you’ve got 24 hours to find my instance, invite friends, and then come and just totally wreck my instance.

Hopefully, the idea is that gangs form around sort of retribution style of PvP.

With that form of PvP in mind, are you planning to allow players to modify their worlds directly with structures that can be destroyed?

Absolutely. One of the big things about the system is that there are a few different kinds of currency in the game. There are credits, there are crystals, and then there are dog tags. Credits are pretty self-explanatory. Every sales vendor in the game that’s factioned with Imperial would sell you things that work based on credits—simple stuff. Crystals, you get for killing higher level mobs and non-player characters—non-human characters, at that. Dog tags would be obtained through different kinds of loot. That would unlock things like turrets and stuff like that.

Those turrets could be used in PvP where you want to protect certain things or build bases around that. There are some base-building aspects to it. The turrets will also be used for, potentially, PvP value, as well. I’m a big fan of Bioshock, setting up robots all over the place and dragging mobs back and watching them get killed. So there would be some strategic value to those rewards, as well.

How are the player-created mod levels going to fit into the persistent universe?

Again, that’s something I really want to base on feedback. Right now, the mod system has two levels. There’s the sort of Fallout style where you’ve got exclamation point-type commands where you can spawn things and move things around and detach your camera and work with some settings with what I call the brain inside the game. Then, you can actually download the mod toolkit and open it up in Unity and build your own level entirely, which is what you’re talking about. Once you’ve done that, you have access to everything. You can shoot couches out of your gun if you want to.

When you log into those, you’re spawning that for that level. There’s an instance that’s created for that level and that data doesn’t persist outside of that. So when you and your friends go in and you get guns that shoot couches that explode into dinosaurs, you can’t take that into a standard PvP instance. But once you’ve explored that, you can create a copy of that instance. So, for example, if you made a really cool map, the idea would still be that your map could be cloned by other people that could go join it—or join yours directly, of course. But the idea would be that you could create maps that would be voted on, perhaps, at some point in the future. You might have a map of the week or a featured map to entice people to play with the toolkit.

So it won’t be one of the three instances you have by default? It will be another instance that you can create off to the side of that?

Yeah, it doesn’t affect anything. The reason for that is that you wouldn’t want to start the game, find a mob that’s really too tough to beat, go and create a magical gun that explodes on impact, go back to your normal PvE instance, and farm him. That would be pretty unfair.

You said it works in Unity, so it’s going to allow you to literally change anything?

Anything at all, yes.

Except for the base engine?

Yeah. I’ll be honest with you. I haven’t really worked out how I want to do code obfuscation yet. I will have something in there, but there are de-obfuscators so it wouldn’t surprise me if some people reverse-engineered some of the actual, physical code.

The mod toolkit is made up of essentially just a single folder that has a lot of pre-built items in there. Then, from those pre-built items, you can look at them and determine “oh hey, there’s that script that says this is an AI. Oh, this AI is an Imperial—or he’s a sniper or he’s a hunter or he does this—and he’s got this many hit points.” And there are little tooltips in the scripts for all of the items. So you should be able to, from looking at a couple of sample items, get an idea of how to create your own items and, hopefully, just add scripts or create copies of pre-existing mod items. But you could, theoretically, pretty much do anything.

Are the single-player and multiplayer components based on the same world?

Absolutely.

And is the campaign open world or are levels locked behind the completion of other levels?

No, it’s not like that at all. I’ve blown through the first three levels in 25 minutes. The idea for the very first asteroid is just to get off of the asteroid and go somewhere else and realize there’s more to the world than that. To do that, you have to go through a cavern first. You have to shoot a couple of guys, get the flares, and then you can go through the cavern. Once you’ve gone through the cavern, you have to unlock the next part. Then you get the green keycard and you can unlock this.

It’s a bunch of physical challenges that you overcome by getting another piece of loot, but I’m assuming that people will find hacks and other ways of getting around it without having to do that. And that’s perfectly fine. There are treasure chests and other things like that that are stored in places that I don’t think people might get to just in case they happen to.

So then you don’t have to play it in sequential order?

No. Whatever incredible way you can come up with to get to the next part, you’re welcome to.

Will you be supporting the game with post-release content updates?

Absolutely. That’s a big goal. If the single-player campaign is big and people really enjoy it, then absolutely. This is actually based on a short story I wrote ten years ago. Like all bad authors, the story is open-ended. As the game would progress, I would love to see more asteroids done. Probably not in this exact same universe because it’s a finite asteroid belt. But at the end of the game, once you realize the reasons behind why you have memories of your past life, it definitely unlocks a larger universe to travel to at that point, even including maybe going back to Earth and finding your family and a lot of other interesting things.

I saw that you’re also planning in-game events. How is that going to work?

I’m a big fan of community-led things. In an ideal world, if the game sold more than eight copies, there would be people I wanted to not to take the place of CSRs, necessarily, but sort of what the other MMOs have done with in-game events and using CSRs to sort of key those off. So there would be a mechanism in place for a general person to do it. Right now, it would have to be done by myself.

Essentially, the way the whole system works is that there’s a real-time engine, a UDP server that handles when you’re walking around and shooting stuff and stuff like that, and then there’s a web services based thing where I can basically spawn anything wherever I want. That’s sort of how the mod engine works and that’s why when you press a dash command, something happens. It actually creates it physically in the database and now it exists.

Because of that, and also because of the way the mods work, we can create prefabs that are as complex or as simple as we want with people who spawn and run and do quests and stuff like that. The idea would be that somebody might create a prefab, which somebody could do using the mod toolkit, and make that an in-game event. So maybe potentially in the future, instead of just having levels that are community-based, it would be pretty fun to have in-game events that people submit, as well.

So it won’t be, for example, one instance that you have everyone come to for an event or a global event that’s active in all instances?

That’s a great question/suggestion. Again, I think I’m going to let a lot of the traffic decide what we do and what routes. If they are pretty simplistic events that can happen on a single realm—just the east coast or just the west coast or just America—then that’s probably more complicated than just doing something that spawns everywhere simultaneously, but it would definitely be doable. We’ve got to look at how we do synchronizing across all of the databases between all of the different servers, which is a problem that we are tackling right now. Because right now, if you create a character on the west coast, there’s no way to port that data over to the east coast currently. Same problem World of Warcraft had when they started, right?

Are the destructible objects persistent?

Yes. So that’s an interesting question. There’s a script that’s actually a Unity asset that does destruction on objects. It picks which algorithm it breaks things up into. So, simply, let’s say that you have a cube that breaks into four pieces. Once that destruction happens, those four pieces might fall differently on your machine than on my machine.

So for destructible objects that it doesn’t matter how they work, all the flag says is that it was destructed. Every time you come in, it might look slightly different than it did before, but the brick wall will always be destroyed.

That’s totally separate from objects that were manually created for destruction, which means that, when they fall apart, they fall apart in a specific way, but after they fall apart, the individual items are tracked, as well. Let’s say you had a four post tent with a roof on top of it and you knocked it over and the roof fell ten feet away. If you threw a grenade and you blew that roof up on top of something else, anybody who’s sitting there watching and playing with you is going to see that roof fly up and they can use it exactly the same way and that will persist separately.

Are you considering Early Access?

Absolutely. I think that would be the lifeblood of the game. I see what some of the other guys have done with Early Access. Whether or not you agree with how they’ve done it, I think it’s a perfect model for this, just because I really want community feedback on this. I was a big Dark Age of Camelot player, a World of Warcraft player for a long time. I was really active in a lot of the forums with people that played those games. I saw how much feedback could have driven positive feedback in those and that’s really what I’d like to see for this game. I’d like to have some feedback before it goes “live.”

It will be a work in progress, considering it’s an online entity, but I’d definitely like to do Early Access. And I think that, depending on how the response is to the game, there would be a price point set for this that would be, hopefully, very advantageous for anyone who wanted to get in on the Early Access.

--

Batch 17 is currently on Greenlight. It is currently scheduled to launch sometime in the second half of 2016.