Why didn't we just make Item System 2.0 the first time? Tell us a little bit more about what we were doing with Item System 1.0 and maybe a little bit about why this is the time to upgrade to Item 2.0.
TL;DRThe original engine lacked an entity component system and the early team was too small to build one, so it was adopted later for performance, design and maintainability, and it will let ships and stations share systems.
Well, CryEngine originally didn't have an entity component system in it. So we get this engine. It has a lot of behavior that's in it. We're trying to make a game. We have a certain scope for that game. There's a certain amount of employees. It's much smaller than what we have now. And so we're focused on making vehicles, making ships, making all this behavior that we need. But as we make this game, we push out releases. The team looks and says, this doesn't scale, right? We need to get much bigger. So how do we scale? Well, a big thing that's been happening with engine tech is these entity component systems. And it's a good idea, I think, for lots of reasons. It's a good idea for engine performance, but it's also a good idea for design. It's a good idea for code maintenance. So it's just a really good idea. Our engine team looked at the code base and said, can we make this better? Yes, we can. And sort of working on it, but it's a really big change to the entity system. It's a big change to gameplay systems, a big change for the designers. So it takes a long time, but it's absolutely the right approach. It's where we need to go.
It's something we always knew we were going to have to do, even from the beginning. It's just when you're starting the project, you've got 10 people in a studio, and maybe another 10 in another studio. There's not enough resources to start on a project at this scale. So we had to scale, and then we could scale.
Well, at the same time, when we were first starting off, we had to start getting something [...] So that initial thing kind of helped us go, okay, we were able to get the stuff to a point where we could sort of prototype it. Now we need to get the actual finalized design and spec and engine and everything that will allow us to take this beyond and actually iterate on.
And speaking of scale, I think the componentization of these various systems is useful in that we can take the same systems. And so when we'll have space stations or bases on planets, instead of making bespoke power systems for that, we'll utilize the same exact system for handling power on that base, and ultimately we should be able to take a ship power plant, plop it into the power pipes for that base, and it should behave in the way that we expect it to.
And so when players learn how to manage the components of their ships, they'll be able to apply that information possibly towards the repair and maintenance of a space station?
Yes. As far as the component system and the gameplay goes, they're exactly the same, actually.