One of the things that will become apparent for those in the alpha is that I don’t really work in a linear fashion. ;)
I have a todo list of things that is long, and there are things of relative priority in there even within priority categories.
One of the things that is funny about todo lists like that is that if you never take time off from the highest-priority category, often the lower-priority ones don’t get done at all. The highest-priority one just fills up again and again, etc.
At any rate, the other comment I have is that typically you have to seize upon inspiration when it strikes. Sometimes I look at a piece of code or other work and just think “oh man that’s going to be a slog,” but I’m excited about something else on the list.
In those circumstances, unless the house will burn down if I change items, I switch to the item that I’m excited about. That gets that item off my list, and I’ll wind up doing it faster because I’m more excited about it.
Later I’ll revisit the thing that I had been dreading, and one or more of three things will now be true:
- I’ll be excited about that now; or
- I’ll have at least had an epiphany about it so it doesn’t feel so bad; or
- I’ll feel so guilty for “slacking off” that the energy from that will propel me through.
Sometimes people comment on how darn fast Keith and I are at doing various things. I don’t know what Keith’s methods are, but I tend to use various tricks to get myself to work harder than my natural inclinations. “Slack off” by doing a lot of little things, then tackle the big thing out of guilt, etc. It’s surprisingly effective at chewing through large todo lists.
The last couple of days I’ve felt particularly slack because there’s been so much OS-specific stuff that I haven’t been able to really focus much on my todo list at all. I’ve gotten a few things done, maybe a dozen at most, but it’s not what I’d prefer. A lot of the other things I got done never made it onto that todo list at all.
Today is another funky day for me, in that regard. Cinth made some mockup derelict ships that look amazing, but are very metallic and thus PBR-lighting-model-based. I told him I’d have to redo that of course, which he knew going in, but dang if we both didn’t really love the look.
Soooo… I thought about the performance gains that we’ve unexpectedly had with the game thus far, and started wondering about going with a PBR pipeline approach with the main game ships themselves. It means throwing away my rim lighting shaders and a variety of other things, but it could be awesome, right?
Turns out: yes.
So I’ve been working on a hybrid style that gives those homeworld-2-looking flat shaded models a more modern metallic styling to go with them. The approach actually works really well!
But it does make the ships a little bit darker, which fits with another issue I have in general, which is to do with the space backgrounds for the game. It was way down on my list, but I had already noted I hate the backgrounds for the skyboxes, and wanted to change them.
So that’s also happening. We’ll see where performance winds up, but this is all GPU-side stuff. It’s possible that my Mac will have some sort of issue with this on the GPU side, but somehow I suspect not. I have some more shader work to do with the lower LODs than 0, but I think that I can get some really interesting things going there.
Also of note, on windows in particular it was using DirectX9 in builds up until now, which means that the BC7 compression format was being uncompressed and then sent to your GPU in an uncompressed format, wasting a lot of bandwidth on the GPU bus as well as VRAM. I’m switching over windows to primarily use OpenGLCore, since that can use BC7, near as I can tell.
I could just make it use DX11 on windows, but I have endless problems with the unity editor itself bugging out on me in DX11 for some reason. On like 5 computers with fresh installs on 3 different windows versions (7, 8.1, 10), over multiple years, on many different unity versions (4.x to 5.x). Curiously, almost nobody else has this problem, so I guess I just have some sort of strange DX11 Editor curse. Actually running DX11 in the standalone player works fantastically.
Anyhow, that’s yet another aside. But basically I’m now finding that I want to toy with a few more styles and options now that we have all these different machines with different performance coming back to us. Almost all the machines are running at 60fps+, and I’m wondering if I can keep that happening while also sliding in a few more advanced bits.
I’m betting so, but we’ll see for sure when the next build comes out tonight. That’s what I’m working on today, anyhow.