Back to search

I hear a neat story that when the first physics stuff was being built for Star Citizen the spaceship movement was bugged and the guy in charge of this was trying to figure out what the heck was going on, double checking, triple checking everything to find out what was going on. He talked with Chris Roberts at some point and he just went, 'oh yeah CryEngine simulates everything as if underwater'. Now I probably got something wrong in the story above but what I want to know is if there are any similar stories to share about someone losing lots of sleep trying to figure out a problem that turned out to be incredibly easy to fix ... if you just knew that particular oddity of the engine.asked by Piet11111

TL;DRMark Abent tells the story of a physics programmer losing days debugging odd ship movement before discovering that CryEngine treated anything below zero as water, which was a simple fix.

So I didn't ... I didn't even know about this story. What is this?

Oh this is a great story. So this happened roughly two years ago before we even launched Arena Commander. And we had our physics programmer John Pritchett, he flew out from Kansas, and we're working with him trying to get Arena Commander 1 out. Everything was going ... sort of working well, and then all of a sudden our ships just started acting weird: it would fly but it would go the wrong way and then you would just stop.

So like our missiles sometimes?

Worse. Actually our missiles were underwater but that's another story. But yeah ... and we're trying to figure out what's going on. And John Pritchett, he's debugging, debugging this, and he spent like two or three days because we're all still new at the engine, especially him, trying to figure out what's going on with physics: is it the game code, is it the thrusters, is it the ... whole big system?

And he finally figures out, he walks up to us and he goes, I still remember his face, "Our ships are underwater!" Everyone around just looks and goes "Can you repeat that?"[slightly hysterical laugh]"Our ships are under water!" And what happened is CryEngine by default, like if ...

Has water under everything. Under every single level in CryEngine has water.

If you think of an xyz plane you have [indicating each axis] x and then maybe y and then z up and down. So if this table was the xy and z up and down, anything below 0 would be considered "water". So any entity that went past 0,0,0 instantly got the water flag. So if you were flying up in here [above the table] but as soon as you go down here [below the table] you're in water.

Even though the plane was invisible because you can't really ...

Even though we got rid of terrain ...

... and got rid of water for space you were still going under water.

And it was a simple fix. It was just like really? Oh my gosh. And there's been many bugs like that but ... ugh ...

That's kind of awesome. I can see ... I can just see John's face too. Like "By the way ..."

"By the way"

"This thing water. Everything's in it."

I don't even know how you knew that. But that was a good ... that was a good story. Alright, let's go on to our next question. So Mr Mortis Rigger. Oh that's good! We have ... I have to say before I go on to this question we have ... I'm going to get ... we have a guy named John and his last name is Riggs. So we call him Riggs the Rigger.

He doesn't like it. Hopefully he doesn't see this but [whispers] Riggs the Rigger!

10 for the Developers›Episode 11·
Published on this date.23 May 2016