View Issue Details

IDProjectCategoryLast Update
0021715AI War 2SuggestionOct 2, 2019 1:32 pm
ReporterAsteroid Assigned ToChris_McElligottPark  
Status closedResolutionwon't fix 
Product Version0.894 Desaturation And Cross-Planet Move Orders 
Summary0021715: Ship models look a bit static
DescriptionNow that I've started zooming to look at the models and planets, I get the impression that ships are just 3d models placed in some 3d editing software, not actual ships. I believe this is caused by:
- lack of thrusters effect (flame, trail, heat distortion, ...)
- lack of sway or of the most minute movement
- they're all exactly on the same plane (mostly looks weird if tilting the camera

and something other people have reported on Steam - shots not coming out from actual guns, turrets with big guns not even facing the direction they're shooting in.


Not the end of the world for me since I play mostly zoomed out anyways, but a lot of people are gonna notice it doesn't look much like a space game.
TagsNo tags attached.

Activities

Chris_McElligottPark

Oct 2, 2019 11:05 am

administrator   ~0053383

None of this is going to be resolved, ever. Not trying to be rude, just clear -- I don't want people to get the wrong idea about what is possible or intended, and this isn't remotely on the roadmap.

The game simply wouldn't be able to function with that level of detail on ships, and to even attempt that level of extra modeling would be tens or even hundreds of thousands of dollars of work. The original kickstarter used very small stylized ships that were much more abstract, but we wound up adding extra detail.

We actually have a vastly higher level of visual fidelity than was ever promised, but it's true that it's not a AAA production. But we also didn't have a AAA budget, and we have a far larger scale of combat than any other similar-ish game.

There would have to be a pretty major technical breakthrough that isn't likely in the next half decade for any of that to really be possible at this scale, and it would be a mammoth undertaking that is large enough to warrant a sequel.

We're already WAY over-delivering on the visuals compared to what was originally shown. I'm really proud of them, and how they straddle the line between visual fidelity and still having the scale of ship battles and performance. The amount of work and research that has gone into making this remotely possible is pretty staggering, really.

BadgerBadger

Oct 2, 2019 11:13 am

manager   ~0053385

There was an early attempt to make flame trails and so on work, and as I recall it was awful for performance. You can't do stuff like that and have thousands of ships on a planet.

Asteroid

Oct 2, 2019 11:32 am

reporter   ~0053387

Sway if desired can be done with a bit of random motion on the units you zoomed on.

Ships can be given a small random Z offset they stay on all the time.

A flame/trail effect can be easily made with Shuriken particles. It's not worse for perf that having every ship shooting, and can be turned off or LODed when the camera is sufficiently far away.

The main problem really is that the locations from which engine trails or shots should come out are not marked. So there would be a boring manual job of placing those on every ship, but it would be worth it IMO.

And I'm not a Kickstarter backer so I don't see why it gets mentioned here. People buying your game won't care how it was funded, I'm simply pointing out that some parts of the game are higher fidelity than others, which feels weird.

Chris_McElligottPark

Oct 2, 2019 12:07 pm

administrator   ~0053388

"Sway if desired can be done with a bit of random motion on the units you zoomed on."

That requires calculating what ships you're zoomed in on. And I actually used to have some sway on them (bobbing, really) that was done on-GPU and so was essentially free, but people were commenting "this isn't an ocean."

"Ships can be given a small random Z offset they stay on all the time."

That tends to look funky, I tried it. It looks like some sort of mistake, typically.

"A flame/trail effect can be easily made with Shuriken particles. It's not worse for perf that having every ship shooting, and can be turned off or LODed when the camera is sufficiently far away."

Shuriken particles are absolutely ridiculous for performance and the GC. They're untenable for any real world use at this scale. The shots and whatnot that I use are using a technique of my own. We use zero GameObjects for ships, because even THOSE are too slow. That's the sort of optimization we had to go to; everything is heavily optimized with GPU instancing and DrawMeshInstanced.

The shots that I'm drawing are ridiculously efficient compared to shuriken, and do most of their computations on the GPU itself. It's literally thousands of times more efficient than shuriken, and has zero GC hit.

"The main problem really is that the locations from which engine trails or shots should come out are not marked. So there would be a boring manual job of placing those on every ship, but it would be worth it IMO."

The style of instanced stuff for shots are something that I demonstrated were possible to do for engine thrust a while back, as well, although they don't curve around or whatnot. It's something that adds very little and would be an incredible time sink. It wouldn't be too super inefficient on the GPU, but definitely more than what is there now.

And most of the models just aren't designed with that in mind.

"And I'm not a Kickstarter backer so I don't see why it gets mentioned here. People buying your game won't care how it was funded, I'm simply pointing out that some parts of the game are higher fidelity than others, which feels weird."

Bear in mind that I'm not responding to just you, because others will also read it. The kickstarter stuff refers to how much was promised versus what is delivered. As far as the game having mixed visual fidelity, I guess that's just the nature of a lot of games, honestly.

At this point I'm $200k to $300k out of pocket on this game from my own money, the kickstarter money went only to other staff no longer with the company, the game doesn't even cover expenses on a monthly basis, and so on. So meeting the kickstarter backer requirements are important to me, because that's the benchmark for where I can walk away and stop losing massive amounts of money if this game doesn't start selling more after EA. My hope is to be able to work on it for another few years, but if it's not a commercial success to where I can at least pay the bills I can't do that; at the moment I'm forced into a situation where I go deeper into debt every month because of the obligation that this game represents. I want it to be the best it can be, but with the recognition that we're already two years over schedule on this and under a mountain of debt for it.

So for me, it's all about making it as fun and playable as possible, and as attractive as can be done on my own without breaking performance. But in terms of endless polish of the sort that would take a larger and specialized team... that stuff is way out of scope for me. Maybe if the game is a smash hit financial success, but thus far I've been paying for the privilege of making this game, not getting paid to make it. I'm more or less at the end of my rope on that, so things along these lines that are purely cosmetic and which already had a lot of work and R&D put into them doesn't really feel good.

It's not your fault, and I'm not upset, but I did want to be clear where I was coming from since you seemed confused why I would mention the kickstarter promises. I have to keep all of those in order to keep my ethics, and beyond that I have to either have this game turn a profit or I have to step aside and possibly even leave the industry if I can't make money here anymore. I haven't made enough money to even cover my expenses for four years now, which is pretty hard. I don't want to leave, and I don't want to stop working on this game, but my view of the critical path for the game and what can make it a better success is pretty colored by that. I have to do a lot with a little, and when it comes to things like graphics I'm really proud of what has been accomplished even though it's not AAA.

Asteroid

Oct 2, 2019 1:19 pm

reporter   ~0053392

I wasn't aware that the particles weren't using any Unity stock system. Some kind of thruster effect using your own technique sounds like a good idea honestly. I'd like to look into it, but the problem of identifying where the engines are remains. They're visible on most textures, just not marked in an exploitable way. I disagree that it adds very little when zoomed in - the tiniest flame animation or blinking light would change the ships from "lifeless model in 3dsmax" to "spaceship".

Regarding the people who didn't like the sway effect you had, I wonder if they're happier with the current look when zoomed out? Might be with asking. Sometimes people criticize assuming it's necessarily gonna lead to something better, not to... Nothing at all.

Chris_McElligottPark

Oct 2, 2019 1:32 pm

administrator   ~0053394

There are older videos of the ship sway. It did look like ships bobbing on an ocean. They did indeed expect it to be replaced with no movement, as these are spaceships at rest, not something bobbing in an atmosphere. Some folks want ships to fly around as if they are dogfighting, and I did mock up something like that years ago, but it looks absolutely bonkers in terms of not being able to keep track of what is where as well as being really expensive to calculate even if we have a central group of splines that we use to calculate the matrix offsets for larger groups of ships. I spent a lot of time looking into it in early 2017.

As for the thruster locations, that's something that would require matrix transforms to work now (since ships rotate in 3D space), and that's something that would likely be pretty costly to run, as well as complicated to calculate. When I took this approach in the past, long ago, I was still using GameObjects and a transform hierarchy. Now none of that exists. Way too much overhead. So the TRS matrix would have to be calculated every frame for each thruster emission based on the original model.

The brute force math is easy, but requires going back and forth to managed and unmanaged code for each matrix math bit (they did this because of integration with the PhysX system). So we'd have to reimplement matrices with the correct handedness in purely native code. Ideally with something that can use SIMD calculations.

TLDR it would be a lot of hours of work even to get the system working at all, let alone actually fill in the data for the thrusters, and then we'd probably see the framerate absolutely tank because of all the extra load of the matrix math. Actually drawing the thrusters wouldn't be much of a hit, but the matrices... whoof.

Literally none of our main graphics in the game use any kind of unity stock system. We don't use stock shaders, we don't use GameObjects or transforms, and we use SIMD-accelerated vector math as much as possible. There are some particles used for wormholes, but that's about it. It's all extremely custom, which is why it runs at all while doing so many calculations on the back-end for fighting, etc.

Issue History

Date Modified Username Field Change
Oct 2, 2019 1:30 am Asteroid New Issue
Oct 2, 2019 11:05 am Chris_McElligottPark Assigned To => Chris_McElligottPark
Oct 2, 2019 11:05 am Chris_McElligottPark Status new => closed
Oct 2, 2019 11:05 am Chris_McElligottPark Resolution open => won't fix
Oct 2, 2019 11:05 am Chris_McElligottPark Note Added: 0053383
Oct 2, 2019 11:13 am BadgerBadger Note Added: 0053385
Oct 2, 2019 11:32 am Asteroid Note Added: 0053387
Oct 2, 2019 12:07 pm Chris_McElligottPark Note Added: 0053388
Oct 2, 2019 1:19 pm Asteroid Note Added: 0053392
Oct 2, 2019 1:32 pm Chris_McElligottPark Note Added: 0053394