STAR CITIZEN CUSTOM GAME ENGINE
So yesterday someone pointed to a video interview that Brian Chambers, Development Director, gave at GamesCom 2016 this past August. At the 6:15 mark, he was asked about the progress of the game engine. He stated that the engine was “over 50% modified from the base CryEngine“.
What follows below is my comment (posted on Frontier forums) following an exchange in which one person said “They needed to make their own engine, but it’s too late for that now” and then a Shillizen backer said “Considering that they stated they changed more than 50% of the engine Its accurate to say that they already did just that.”
I already knew that they were using CryEngine3 as the basis for the game. In fact, I wrote an entire section in my July 2015 blog specifically about that, and why the engine they chose simply wasn’t up to the task.
Here’s the thing, when you use middleware engines, they are as-is. You rarely ever have to modify the source engine. In fact, back in the day, you would need a very expensive source engine (e.g. ID Tech5, UE, CryEngine etc) to even do that. Why would you need a source engine license? Simple: if the engine isn’t adequately suited for something that you need to support. And more often than not, it’s usually better to build your own engine, than to try and modify a middleware engine, because depending on how far you want to take it, you’re better off doing it from scratch if you already have the expertise to modify someone else’s engine using their source code.
That’s why, even today, anyone licensing engines like UE4, Unity etc, rarely have to mess with the “guts” of the engine. They use them as-is; and if you want extended features (e.g. network, UI, scene management), you can find plugins which augment (are built on top of) the underlying engine without you ever having to mess with the engine’s source code. e.g. anyone wanting advanced networking/multiplayer in Unity5, will probably buy the Photon plugin. Similarly there are hundreds of plugins for it. So, more often than not, someone else has already done the “targeted” work for you. Want larger scenes? There’s a plugin for that. Want a better scene editor? There’s a plugin for that. Want better audio, networking, UI, matchmaking, shaders, progen terrain etc – you have so many options that you simply do NOT have to write ANY custom code for UE4 or Unity5, unless you want to, or have no choice.
Similarly, when we licensed Trinigy (later bought and renamed to Havok Vision Engine), we didn’t need anything in the source license as we had no intentions of modifying the source because we already knew that the engine (bare metal, with very little fluff and/or useless features) was capable of doing exactly what we wanted. In the implementation of other middleware to “overload/replace” the built-in HVE implementation (e.g. Triton for water bodies, Silverlining for sky, clouds, atmosphere etc, FMOD for audio, Iggy for UI etc) we made minimal changes to the underlying engine in order to build our custom engine that powers Line Of Defense.
So, our revision of HVE, coupled with the augmentation of third-party middleware which worked better with the built-in HVE versions, became our “custom game engine”. We didn’t even make .01% mods to HVE because the engine was quite capable of supporting the game I was building. In fact, it was because I was able to find such a C/++ engine, that I halted development of yet another in-house game engine for this game; as I felt that we were reinventing the wheel. We lost a little over six months of dev work on that; and which I wrote-off as R&D. CryEngine was a non-starter due to scene sizes and other limitations; Unity was C#, UE4 wasn’t out yet, and though I already had private access to it, I was advised (by Epic) not to use it for production work at the time, since it wasn’t ready and too many things could change along the way.
In contrast – hence my alarmist warnings from last year – once it occurred to me that the new game scope CIG were trying to build could never be done on CryEngine3, I said so; right off the bat. I also stated that such a game needed a custom engine.
Then it came to light that they were in fact using CryEngine3 as the basis for such a custom engine. This despite the fact that once you embark on such an endeavor, the further you go, the more you realize that you could’ve just written your own engine from scratch to build the exact game you wanted.
In this interview that you linked, Brian says specifically: “over 50% modified from the base CryEngine”. Note that would be CryEngine3. And (just as I said in my blog), they stopped taking updates from CryTek awhile back due to the fact that their code base had forked so far off, that it didn’t make sense. Also they only have source license to CryEngine3. Which, btw, is why VR will never come to Star Citizen unless they go back in and bring up the now legacy (and broken) VR support they have in CryEngine3, up to the current standards. The game will never support VR anyway; so there is that. But I digress.
The reason that I went back and quoted (the forum trims multi-quotes) the entire comments (from you and Soliluna) in what you just now responded to with Brian’s comment, was because
i) when you say they already did just that, I stated that it’s false. why? well because they did not make their own engine
ii) when you say they changed more than 50% of the engine, I asked for cited sources because to my knowledge, nobody knew just how much modification they had done to CryEngine3 in order to come up with StarEngine
Now we do. And it not only looks even more bad for them; but it also – again – proves me right when I stated last year that the game they were building could never be built with the engine they chose. Ask any tier 1 engineer, and they will tell you that no dev goes and modifies a source engine by 50% unless they are a) out of time to build a custom engine, or don’t have the expertise to do so b) out of time to switch to another engine c) have game assets which have slaved them to the engine they’re stuck with
So, from the start, they thought vision 1.0 of the game could be done with CryEngine3. They were right. Then Chris increased the scope; which then put vision 2.0 of the game outside the scope of CryEngine3. They kept going with the CryEngine2 mod, until at some point, they reached “zero barrier” and could no longer turn back (port to an adequate engine such as UE4 or even CryEngine5, or build a custom engine from scratch).
Now, according to Brian, in Sept 2016, they have modified CryEngine3 by about 50% in order to come up with a custom engine for the game Chris wants them to build. And it’s still a freaking mess.
The problem is that even if they get to 90% modification of CryEngine3, it still won’t be possible for it to power the game that Chris wants because, not only will they never – ever – get to a 100% modification to make that happen, but that would also imply that they have completely replacedCryEngine3 with whatever abomination that is Star Engine. With all their resources and money, they could have built a custom engine – from scratch – in under two years.
And they will still fail to build, let alone deliver the Star Citizen game promised. Since SQ42 doesn’t have all the ganky nonsense that is in SC, they stand a good chance of delivering on that, as I’ve stated time and time again. Unfortunately, not only are a multitude of backers already entitled to that game for free, but unless SQ42 knocks it out of the park, it’s never going to earn the income required to keep buying them time to continue with Star Citizen.
In closing, I welcome folks to ponder this: They are using a heavily modified version of CryEngine3. CryTek are now on CryEngine5 (free). And even Amazon’s Lumberyard is built on CryEngine5 (free). So ask yourself this, how is spending all this money and dev resources to modify a source engine by 50%, a good thing – under any circumstance? It’s not. It’s a waste of time and money. Which is precisely why they are coming up with all these tricks to keep raising money; even long after they quadrupled the money they were originally asking for.
This is the sort of thing that should make any reasonable and/or sensible backer, absolutely mad.
“So, I get your point that if they had simply written their own custom engine it would have saved them a lot of time and money, rather than going the long way round and rebuilding another engine a piece at a time.
But why, in your estimation, would it not be possible for them to re-write Cryengine 3 to the point where it CAN support the kind of features a game like Star Citizen needs?
Am I wrong that it would simply take more time and money (which they seem to have plenty of) or would this (shall we say less efficient approach?) present other obstacles that would make the task Sisyphean?“
- Think of CryEngine3 as paint mix color # 1234
- You are building a house; and you already know what color you want it to be. That being color # 1234-drywall (note that paint is texture specific)
- You continue building your house, still intending on using color # 1234-drywall
- At some point, the owner has decided that the back of the house will use a different kind of wall texture (e.g. drywall vs concrete); so 1234-drywall isn’t going to work there
- The builders, with instructions from the architect, continue with concrete for the back of the house; even as the painters, having bought loads of paint # 1234-drywall, continue painting other parts with it
- Several months down the road, painters tell the architect that 1234-drywall simply isn’t going to work on that concrete back wall
- Seeing as there is no way to make 1234-drywall work on a texture which would require 1234-concrete, the painters set out to create the closest thing to 1234-concrete as possible, by doing their own mix. Not unlike how you can walk into a paint store and ask them to color match (they have computers for this) as close as possible 1234-concrete, derived from 1234-drywall
- The end result is that, as drywall (vision 1.0) is totally different from concrete (vision 2.0), the chances of that concrete back wall painting ever matching the drywall used elsewhere, are close to zero
- So the builder and architect decide to mix their own paint in order to meet with the owner’s specification. Along the way, they decide that the best way forward is to probably rip out the concrete wall or plaster drywall over it so that 1234-drywall works. There’s your MVP (drywall for the back of the house, instead of concrete).
At the end of the day, as I mentioned in my missive, in order to come up with a custom engine which would make it somewhat possible to build vision 2.0 of the game, they would have to modify CE3 by a whole lot more than 50%. And even so, the underlying CE3 architecture is still going to be there because things like scene management, 64-Bit positioning, networking etc, are all the things they would need to either rip out and replace, or build on top of. And the time it takes for them to be doing all that, could have been spent building a custom engine which specifically does what they want.
It is hard for a none programmer to quite grasp how horrendous it is to go back and modify someone’s code; let alone an engine built by several people. Which is why, last year when people were saying that opening F42-GER with ex-CryTek engineers was going to be the magic bullet, most of us who know better, just laughed. It’s been almost 18 (?) months since; look at what they have now.
To be clear, I don’t envision there ever being a time whereby their CE3 FrankenEngine ever powers vision 2.0 of the game. I simply don’t see it happening. For that, would need to modify CE3 by 90% or more. Well, therein lies the rub.
Let the record show that in my very first blog back in July 2015, I did say that it would take at least $150 million to build vision 2.0 of the game; assuming they had the tech, talent, time, and money. We’re at $124m and I have no reason to believe that they will ever achieve the promised vision 2.0 using that engine; even with $250 million.
And that’s the reason why Chris declared the MVP. As I understand it from sources, he has been advised time and time again, that vision 2.0 is simply not possible with what they have. And the best they can hope for is to ship “something” (in this case an MVP, and/or SQ42) in order to buy more time. However, the risk there is that, given their burn rate around all these studios, contractors, overhead etc, there is no guarantee that they are going to keep this charade up for much longer. Once they ship whatever he thinks is an MVP and/or SQ42, it’s going to immediately change everything for better or worse.
btw I don’t believe that Chris will ever come out and say that any version (e.g. 4.0) is the final product, hence MVP. He has thrown the MVP word out there simply as something that he can fall back to in the event that he is ever accused of never shipping the finished product. Just like he did with Star Marine, where he said that “it’s in the PU”, he will simply say that he already indicated that they will first ship an MVP, then build on top of it. That notion of “building on top of it” is the part where he gets to justify more time and money in order to bring his vision 2.0 to life. The fact that he made a bunch of promises, while not delivering on even 50% of them even with all the money, is going to get lost in translation along the way. Especially if he ever ships the SQ42 promised; which, as I understand it, is on just as much shaky ground as Star Citizen, seeing as – this point – they still don’t even have a complete “game” with everything promised in the stretch goals.
The upcoming CitizenCon on Oct 9th is going to be more of the same. Neither Star Citizen nor SQ42 is going to be released this year. That’s already a foregone conclusion. Whatever shows up at CitizenCon is going to be of the same smoke and mirrors vein. If they ship any aspect of SQ42, we’re hearing from sources that it will be tagged as a “prelude” (most of us call that a demo btw) in order to keep the backers at bay, gauge interest etc. It will succeed as far as the hardcore backers are concerned; but most of us won’t care, as it won’t be the promised EP1 game.
At the end of the day, none of this will matter. As gamers, all we can do is wait, watch, dissent, speculate, argue, fuss, fight etc until they either ship as promised, or fail completely. Those who are trying to quash dissent are the ones helping to spread the ludicrousness of this whole thing.