Month: March 2017

Chris here. This is the largest single release we’ve done since starting the alpha with folks, and by a fair margin. The release notes are nuts, but worth a read.

That said, right off the bat: “seriously Chris?? TWO WEEKS since the last build for the game?” Don’t worry, that’s not something we’re going to turn into a habit. In addition to simply packing this one with stuff, we also had that recent hacking attempt against us which slowed us down a tad, and some personal life things outside of our control. But the biggest slowdown, by far, was the new icon system kicking my butt again and again.

Movie poster: “And then his butt… kicked back.”

(Wait, that’s not right.)

Icons!

At any rate, the icon system that is now in place is an in-progress version that has resulted from a lot of experimentation on my own part, along with experimentation by Blue, as well as lots and lots of discussion from players.

Note that I’m locking the original topic about icons, and I’d like to have a new discussion that starts from the common baseline of what is in 0.114. I’m reasonably pleased with what is here, although the flair in particularly could look a little more visually polished.

Overall there are some polish things that need to happen with several areas of the icons, but in a generalized sense I think the core goals of showing clarity and yet not being cluttered is working well? Before we get into polishing things like the flair too much, we want to make sure that we’re on the right path here.

The good news is that if we want to shift around what pieces of icon are where, it’s now something that I can do with some trivial code (or in some cases just xml).

The short explanation of these:

You can now see what a ship is via a combination of a central player-color icon and (sometimes) a non-player-color “flair” under it.

You can see the health for squads under them.

The mark level is still shown below them, but is done in a sprite fashion now. And the color of the mark level on the squad shows its action status (Free Roaming Defender, etc).

If it’s under a forcefield or cloaked, then the mark level gets an additional glow around it to show that. It’s subtle, but helpful.

If the squad is selected or mouseovered, then the main player-colored-icon part gets a border.

GUI!

Keith has been doing a ton of work on the GUI, adding in new menus and generally making things more-sane. It’s still all temp graphics and so on, but the idea is to get the usability higher, which I think is very much happening there.

Another big thing that he has been working on with this is an Objectives window, which is inwork still (naturally), but is something I believe he wants to have a pretty major role in the game later on. A lack of direction was something that was the biggest stumper for new players in Classic, even those that got through the tutorials.

The idea is to help solve that via the Objectives window, as well as making that useful for veteran players to check some intel (via what objectives are available for them). At least, that’s my understanding — don’t hold us to that. Keith can explain it better, as it’s his brainchild and I’m probably misrepresenting that bit by accident. 😉

Other Stuff

Oh man, it’s been so long I can’t believe some of the stuff that is in this build. These were forever ago, but they’re just coming out now. In no particular order:

Keith fixed a bunch of bugs, and I fixed a few.

We did a lot of internal work on our release process, to make releases easier and more reliable. AND to make it so that hopefully we can remove files from the steam builds, which is useful for the external modding project that comes with the game. (Keith, don’t forget to check that worked for you).

Some more work has been done to improve functionality in the custom LODs that I created for the game. Although there’s a central problem with it right now that is causing them to not calculate their distances properly. So it’s putting a lot of extra load on the GPU now compared to what it will next build.

The wormhole graphics have gone through like four more iterations, heh. They’re a lot less neon now, and more attractive and more efficient.

If you’re playing on a non-US-English OS (linux or otherwise), the game should now work properly for you.

You can hold Z to see the range of ships, or shift to show the orders your ships have. I’m already aware of an error in the display of your ships’ orders when they’re headed for a wormhole.

The cursor on the gamefield plane is now a lot more attractive and clear.

It’s been a really stressful couple of weeks for me, but I’m really happy with the end result. Expect much more rapid releases coming up next week — although for now I’m off for the weekend, heh. Looking forward to relaxing a bit.

Just in case there’s some major issue in this build that prevents you from playing, there’s a new beta branch in Steam for the older 0.113 build of the game. You can revert to that if you want to play it for whatever reason, anyhow — hopefully the new build is far preferable on all fronts, though. Knock on wood! 🙂

March 22nd, 2017 – Notes for Cinth (or modders!) on how to use the new functionality in our custom LOD system that allows for you to do simple culling on child renderers that already dynamically batch from LOD0 onwards.

March 22nd, 2017 – Notes for Cinth (or modders!) on how to use the new functionality in our custom LOD system that allows for you to compensate for bad anchor points in models (meshes). You can always update the mesh itself, or now you can do this too.

Also: fantastic news, Cinth is out of the hospital! He’s not back at work yet obviously, but this is a great step forward. 🙂

Now — screenshots!

The above wormholes are based on his torus concept, and they look WAY better in motion. Though I like how they look when still, too.

The above two screenshots are of the new science generators that you can find on planets. They were to be called “husks,” which isn’t really what this evokes to my mind, but it’s really cool-looking and so we might keep this styling. We’ll see.

One of the frustrations I’ve had with the ship graphics in AI War 2 is that it’s hard to make sure that they’re both vibrant AND nicely reactive to the environmental colors and similar while being so hugely restricted in terms of how many truly-PBR techniques we can use because of limitations caused by having SO many realtime objects to light in that sort of scenario.

I’ve gotten around that with a variety of tricks that have evolved over the last months, and it’s been working well with Blue’s cel-shaded clean ship albedo/diffuse coloring. It wasn’t perfect, but I knew I’d have time to improve it later — the main issue I had was that specular highlights tended to trend to white on all models.

Part of the recent evolution in the look of ships was to give them more of a metallic-on-cel-shaded look, which allows for a lot more flexibility in the sort of visual effects we can then do. My first approach to that was to think of PBR, and so that’s what we recently converted to — the Unity Standard shader, which is heavily PBR.

There were a variety of challenges with that, though — I couldn’t control the amount of specular whiteout as much as I wanted while still having a ton of metallic feel to it. Cinth kind of set me on the path of chasing the metallic look to marry that to the cel-shaded look that Blue sent me chasing, and I really wanted to get those working together.

The New Approach!

Experimenting a bunch last night and then today, I’ve settled on an IBL approach that is using Blinn-Phong again, back to what my custom rim-lighting shader was doing before we went to the standard shader (sorry, no link on that one — it’s somewhere on the forums or kickstarter, though).

Anyhow, the big benefit of this approach is that I’m able to handle reflections via a cubemap that has nothing to do with the larger scene, and then tint the reflections as needed, along with using a fresnel effect on them. Then beyond that I’m faking a metalness map in some cases (such as for the fighter and bomber) by additively using the inverse of that data in the diffuse channel.

It’s All About The Motion

Bear in mind that the result is a lot more dramatic in motion, because as ships move around you get a lot more of them shimmering and glinting in the light as a school of fish might.

Even so — in still screenshots I think that it looks a bit better now. But in motion it’s night and day.

Also: Lighting

Also! Bear in mind that based on the lighting of the planet in question, you’ll get pretty drastically different results from what I am about to show. In one case I was frustrated because the serial number on the fighter wasn’t showing up properly… only to realize that in fact it was acting appropriately in the lower-direct-lighting environment it was in at the time.

The basic rule of thumb is that the ships wind up varying in appearance more from planet to planet in terms of the characteristics of light on them, which is a big part of the goal.

Bomber

The above is what I had before, using the Standard shader and a metalness map. I was particularly unhappy with that one.

Now a few shots of what the new one looks like from various angles:

You’ll notice that in the two different angles give a really different feel to the color, even within one lighting profile. That has a lot to do with the fresnel effect and cubemap for the reflections, but also just the specular highlights based on the view angle toward the light, too.

In a couple of angles that makes it looked a little more washed out in the cool orange parts, but very metallic — and then in other angles it looks rich and deep like the original cel-shading work that Blue did. I’m really pleased with how these feel like they’re a living and interesting part of the scene, rather than just a flat piece of junk that always looks the same no matter where you see it or from what angle. Perish the thought. 😉

Fighter

So the above is again the “before shot,” prior to today’s IBL work. I was actually really happy with this one already. Then here are a few angles of what it looks like now:

In some lighting angles, you can see that this one is really dark on some of the surfaces. But there’s also a very metallic sheen to it. From other angles the main color comes right back out, and from yet others there’s this kind of bluish shimmer that passes over it as the camera or the ship turns, either way.

I might need to make the cockpit a little brighter, I dunno. Minor tweaks.

More To Come!

At any rate, the space dock and Ark and warp gate and planet controllers also really got a huge upgrade out of all this. All the rest of the ships are still using the PBR approach, which looks similar-enough but not quite the same by any stretch.

This wasn’t really on my list of things to work on this week originally, but with Cinth having some major health issues and there also being some major health issues with a couple of my extended family members, it’s been a week where I wanted to focus on some things that were productive, but not quite as mentally taxing. This was a tricky problem to solve, but not as tricky as some.

This is something I’m really jazzed to show you — it’s basically the replacement for the Electric Shuttle from the first game, except a bit revamped in a good way.

You may recall that Blue has been working on icons lately? She actually finished those up yesterday, and the ball has been in my court since then. She’s moved on to working on other things, including the Eyebots (not yet painted, but modeled) and then what you see above.

There are a variety of higher-priority ships than these that Keith put on his list, but I’ve been sampling from a few areas simply to get us a few more small ships earlier than later in the art process. Those are a nice break for Blue compared to doing all the really giant ships first. Variety being the spice of life, and all that.

No release today, but there should be one tomorrow, I expect. Lots of things have been inwork, it’s just one of those times where it doesn’t fit to do a release on a given day.

There are a variety of under the hood improvements in this new 0.112 build that are getting us a bit of extra performance and quality in a few areas, and which get us closer to getting into some of the GUI work.

Other stuff?

Blue has been pulling her hair out working on the new icon system for the game, and the results are coming along really well at this point. It’s been a big task and the topic of much discussion with players; even after the direction was set late last week, that still left a lot of experimenting to get something that looks cohesive and clear while still being attractive. Getting just the right amount of detail is a big deal. We’ll be ready to show that off later this week, I think.

There is a backlog of 3D models and textures that are done and ready to get into the game, but unfortunately Cinth had a very serious medical emergency over the weekend and so will be out for a few weeks at bare minimum, and possibly more like months. At the moment he’s still in the hospital. Please share your well wishes for his recovery. At any rate, a bunch of that stuff will drop all at once sometime soon once I have a chance to get to it.

In general, Keith has been looking at the GUI more now that I’ve gotten the unity project set up for him to be able to do that sort of thing. So we’ll see what happens with that, in terms of what he does with it both with and without Blue at this point. He can speak to that better than I can.

I’ve been working on a modified version of the sort of sprite batching system that I use in starward rogue for actually displaying the ship icons that Blue is creating. That’s been a tricky thing, because they are pretty different systems, but after a lot of study I just don’t think there’s a more efficient way of handling it. The actual GUI won’t use that system (that would be less efficient, not more), and of course the main game doesn’t either (same deal when it comes to large ships). But for this particular case it should pan out well.

I was also working on some cool stuff relating to a new system for explosions of ships, although I’ve temporarily set that aside. The general principle of it works and looks great and seems to perform well, so that’s enough for me for the very short term — I have bigger fish to fry before I finish that one up.

There are two really major components added in this one that Keith and I have been wanting to get in there for a while. The first one is the special forces from Keith, which you may remember from The AI From Within: Part 4. So that’s… a pretty awesome big deal. 🙂

The second item is one that has been on my todo list since before alpha even started, which is the unity project for modders. That link has a good video tutorial that covers the setup on all that, and it’s that screenshot that you see above.

This lets modders start experimenting with graphics, and soon sound, for the game. But this also is a project where we’re going to be putting all our GUI bits — meaning that Keith is able to manage those assets more directly when they are in the prototyping phase at least, and meaning that the GUI will be as open as possible for people to make any sort of edits to.

Blue and Cinth are both still plugging away at some cool things at the moment. She’s finished well over half a dozen new ship models that had backed up in my queue for processing into the game, and Cinth is taking that load off of me.

Blue is working on a new version of the icons for squads, based on lots and lots of feedback from folks so far, and then our interpretation of the overall trends (since individual opinions vary quite widely).

We’re not going to show off the new icons at all until they’re fully integrated (sometime early next week, I imagine), because we’re now to the point where it will be most helpful for all of us if you can see the next prototype fully in place in the game. We’ve had a lot of people having to try to imagine how things will look in actual practice when there’s a lot of stuff onscreen at once, and while people have done a fabulous job with that, hopefully we can all agree it’s time to stop imagining and start seeing. Then we’ll continue iterating from there, as needed.

Anyhow, there’s a lot of other random bits of things inwork as well. As always, I suppose. Definitely an enjoyable time at the moment. 🙂