AI War 2 v0.505 Released! “Tooltips And Build Menu”

Release notes here!

This is basically completely about the build menu being more usable, and tooltips being more useful and legible.  They still need a background to really be fully legible, but we got a lot of the other things with them.  The unity ui is still… a learning process, sometimes.

This time around, I made a quartet of videos rather than Keith making them:

I wrote: A lengthy look with me at how to set up new GUI prefabs and then use them in code.  This is shown while setting up the build menu to look better/clearer.

I wrote: A quick look with me at how to set up sound effects for buttons.  It’s not a complete tutorial with everything in-depth, but there are tooltips for the bits that might not be clear, and this shows the workflow with greater clarity thanks to not going over every detail.  At least that’s the goal!

I wrote: For Cinth and for modders, this is how you create new formations for ships of various scales to use in the game.  I look forward to seeing a lot more creative and militaristic formations than my simple grids have been. 🙂

I wrote: Notes for Keith on how we’re using this component at the moment, with a variety of pros and cons to it. Referenced urls:
http://digitalnativestudios.com/textmeshpro/docs/sprites/
https://unity3d.com/unity/whats-new/unity-2017.1.0

All that said, as noted in the release notes, I think there’s a way for us to work around the <sprite> tags in general and not use them.  Even when those are working as well as possible, they still regularly show up improperly because we can’t control the exact relative scaling and offset per-font and per-font-settings.

Anyhow — major usability strides in this new build, although as always there’s yet more to do.  Also a number of bugfixes.

Cheers!

Chris

AI War 2 v0.504 Released! “Big Ship Graphics Batch + Test And Revise Pass #3”

Release notes here!

I’m now back from traveling, and so is Keith, so that’s nice to be back to normal on that front.  This new build includes a ton of backlog work that Blue and Cinth have done over the last couple of months that I’m only now getting integrated into the game proper — namely, visuals for 34 classes of ship in the game!  That’s a pretty hefty chunk on top of what was already done, and there’s a lot more in the short-term pipeline on that stuff, too.

Beyond that, Keith has continued his testing-and-revising work, and that’s led to a number of quality of life improvements.  Community member BadgerBadger has also made improvements to his Nanocaust faction, and those have been integrated.

Keith has also done another quartet of videos for this new version:

Keith writes: And now for something moderately different: some playtesting to help identify the main things in the way of the play experience. Ends predictably.

Keith writes: The day Galaxy Map Display Modes were unleashed on an unsuspecting universe:(probably not very unsuspecting, considering that AIWC had such modes, but they weren’t moddable!)

I’m not sure how many of you find 1h45m videos of coding “enjoyable”, but if so: enjoy 🙂 If not, an example of how to mod in a new display mode starts around 59:27.

Aside from Chris: I also just have realized, after working with Keith for literally 7 years now, that I’ve been pronouncing his last name wrong this entire time.  In countless videos and interviews and podcasts and who knows what.

So, let’s review:

  • Keith’s name is spelled LaMothe, but pronounced lah-mont instead of lah-mow-th, which is what I’d been saying.
  • For anyone wondering, it is indeed Ar-ken games and not Arson or Arsen games. 😉

Moving on…

Keith writes: A quick change to mapgen to seed some nearby strategic objectives and make the early-early game decision of “which way do I expand?” more interesting.

At less than 20 minutes, this is a lightweight 😉

I’ve got another one that’s like an hour and 40 going through processing now, though, in case you have an excess of time to burn.

Keith writes: The Build Menu has an encounter with a chipper-shredder: You can see the current state of the menu around 1:30:05, if you’d like to cut to the chase. But there’s a lot about how to work with the UI system leading up to that. Iirc, 100% of the actual changes were in external code and xml, so stuff that’s possible for a modder.

Okay… anyhow, so that’s the news for now! 🙂

Cheers!

Chris

AI War 2 v0.503 Released! “Nanocaust + Test And Revise Pass #2”

Release notes here!

Although, frankly for the details on “The Nanocaust,” you need to click through to the forum link where community member BadgerBadger explains his work.  This is the first player-created special faction, and it’s something we’re building into the game as an option for anyone to use without having to do a special separate download or whatever else.

The other main thing from this build is basically pass #2 of Keith playtesting the game and revising based on his findings.  This is overall a smaller batch of testing and revision work, because Keith was traveling for about a week and I’ve been doing the same.  But overall it’s some solid stuff, and we’re marching onward toward where the game needs to be on a number of fronts.

Keith has also done a pair of videos, lately, and you can expect more in the future:

Keith writes: The modding tutorial on xml/code (tool links, etc) is still pending, but this contains a lot of info on modding itself, as many of the changes I’m making are functionally mods.

Keith writes: The initial bit on the dps formula and the overall balance architecture is interesting if you’d like to know more about that, but the addition of Badger’s Nanocaust faction is much more interesting, the real testing of that starts around 1:18:15 in the video.

Cinth and Blue have also been plugging away on their work, and I’ll be putting out a massive batch of their content changes (new shipn visuals, adjusted ship visuals, etc) early next week. 🙂

Cheers!

Chris

AI War 2 v0.502 Released! “Mostly-Invisible UI Work”

Release notes here!  They are short and overall not that exciting, unfortunately.  That said, if you’re modding the GUI, it’s a pretty titanic shift in terms of what you’ll find in there now.

So what’s up?

Basically over the last months we’ve learned a lot about what functions we do and do not need in our GUI in order to make it fit all the various screen resolutions and configurations, and to be as performant and attractive as possible.  It’s still blocky and untextured right now, so the attractive part isn’t there yet, but with the changes from this week we’re now able to pursue “functional, well-organized, and non-overlapping” with renewed vigor.

There are a few other things in there as well, including some minor changes that make a huge difference in how the balance of AOE units affect things.  There’s a few more of the voice acting audio clips that play now, and a few quality of life improvements with hotkeys.

Anyhow… this is one of those “iceberg” releases where it is actually a lot larger than it looks on the surface. 😉

Cheers!

Chris

AI War 2 v0.500 Released: Major Milestone! Ship batch 7 of 7.

Still not time for “beta” status, or Early Access, just yet.  If you’re waiting for the smooth gameplay experience, there’s still a bit to go — but that’s now squarely the next thing on Keith’s plate (and the GUI is a big part of that, yes).

The release notes are here.

New Ships!

There are two dire guardians in this one (which are two of the most nasty ones), and then there are four big honkin’ Zenith golems.  This includes the Dyson Sphere, the Zenith Trader… and yeah, the Devourer. 🙂  Ho-lee smokes.

Bear in mind that these are the last of the ships until things are playing really well and the interface and whatnot have matured substantially.  Sometime during the Early Access period when things are running well, Keith will work on those interplanetary weapons (a stretch goal), the spire stuff (another stretch goal), the Nemesis (yep: stretch goal), and whatever other minor stuff might be left that I’ve overlooked.  I think basically everything else is in the game now, though.

Milestone!

Anyhow, so this is a very big milestone for us, because that means that Keith’s focus can stop being on content, and can shift instead to refinement, usability, and all that sort of thing.

I’m finally done with all my performance-chasing stuff as of a little while ago, and as of last release the sound system is in place (though not with all sound effects yet, of course), so cumulatively this makes for quite a satisfactory 0.500, I think.

Post-Processing Visual Stack AGAIN!?

I just finished redoing that, right!?  Well, it’s been redone yet again thanks to some issues that are detailed in the release notes.  The overall look is pretty similar to what it was before, except things are a little crisper and better antialiased, and there’s a very slight vignette effect.

The big difference is in the bloom effect, which is generally more subtle now, but also more diffuse and thus a bit more dramatic in how it blends things around.  Previously things were super intense in their bloom in a short range, but now they’re intense in their immediate area, then fade out more gradually.  Gives a more natural look.

Additionally, in order to deal with the flickering glimmering lights that could happen in some cases previously, the game now uses a much longer (about 3/4 of one second) temporal filter on the bloom, which can cause some really pleasing light trails that are purely a screen-space (and thus “free” in terms of performance) effect.

You can see that with:

  • The first shot in this post, which has the camera stationary and then the Ark moving away from it, leaving a bit of a ghosting trail from its engines.  That’s completely a screens-space effect.
  • The second shot in this post, which has the camera panning super fast to the right while the ships are stationary, and so you can see the glows being pulled to the left.  This looks less good, but is also a lot less common of a case and generally happens so fast you can’t see it unless you screenshot it while you’re in motion.  It does give a bit better sense of your own speed of movement, though, I’d say.
  • The third shot in this post (below) shows a stationary camera and both ships and shots that are moving, and how the glow trails help a bit with those.  This is more subtle since the shots themselves are trail renderers in a lot of the cases there.  It’s noticeable in a still shot, but during gameplay I wasn’t sure it was actually even happening.

If the temporal effect feels too strong to some folks, then I can easily make that a slider that folks can adjust in the settings, and we can debate what the best default setting would be if this is not it.  For the moment — and I’m too close to this at the moment to speak with any real confidence on the matter — I like how this is looking, though.

Coming Up!

Over the next half-week or so, Keith and I are going to be pretty quiet/absent, because of some other-life things that we need to take care of, respectively.  But then after that he’ll be working on the user experience and GUI and so forth, and I’m sure a bunch of mantis reports.  I’ll be working on mantis reports and more sound effects work, and getting the first voice acting in place, etc.

Enjoy!

Chris

AI War 2 v0.450 Released: Sound effects at last! Plus video of it all.

New version!  Release notes here.  They are long, and in parts technical if you’re interested in the innards of our new sound mixing system.

If you’d like a quicker look at the results of the sound mixing system, as well as a brief video-based overview of it, then here you go:

I had, naturally, hoped to get ALL of the shot graphics into the game today, and have their sounds linked up to them, and get the existing voice work integrated into the game… and of course that didn’t happen.  I was super tempted to delay the release because I didn’t have every last thing in it, but already there’s so much goodness in here that there was no point in waiting.

One of my favorite things was actually coded by community-member and top-bughunter BadgerBadger: the ability to name your savegames.  We hadn’t had time to get to it yet, so he said “heck, I’ll do it myself.” 🙂  That was a side benefit to open sourcing those parts of our code that I hadn’t really anticipated!

As always, more to come soon.  Enjoy!

Chris

AI War 2 v0.401 Released: “Ship Batch 6 of 7, And Gimbal Perfoooormance!”

New version!  Release notes are… here on the forums?  More on that a bit later.

First up, there’s a new video where I do a bit of show and tell relating mostly to performance and some of the visual things:

Regarding the sprite compound-batching thing, I wrote about that in the last release post, and now you can see it here actually in action.

Moar Ships!

There are 14 new ship types in this version, including the first of the golems.  There’s only one more batch before we have the original “target ship list for Early Access” done.  That isn’t all of the ships for 1.0, just to warn you — the spire ships, the interplanetary cannons, and the Nemesis stuff is all for during the early access period, not prior to it.

There may be a few other odds and ends for after EA starts, I’m not sure.  But basically the list of ships for implementation during-EA are ones that came from stretch goals on the kickstarter, plus a few that will require particular refinement for whatever reason.

What’s Up With The Wiki??

Well… okay, so we’ve had a bit of a saga going on since late last week.  Basically we had some admin human error on our end — it happens to the best of us — and we managed to corrupt our forum database.  That should have been no problem, because we have 10 days of rolling backups with hostwinds, our web host.  We’ve been using them for a few years, and have been happier with them than we had been with rackspace, hostgator, A2, and whoever else we hosted with in that time.  Gets hard to keep track over 8 years, sheesh.

Anyway, the short version of the story is that Quinn has been on the phone and on chat and email with them constantly, and they’ve had a really hard time actually restoring things properly.  It’s been quite unpleasant, and a real surprise after our previous excellent support interations with them.  We’ve had to do restores before with other web hosts, and possibly even with hostwinds, but this time things just haven’t been great.  It’s been a comedy of errors and other issues all around.

!Fun!

Anyway, the wiki is down as a casualty of that, at the moment.  So far as I know there was no data loss with the wiki, but I certainly wouldn’t swear to it.

Hey… The Forums??

Yeah, as part of the forums backup restore, we lost about seven days of data from there.  We definitely did not lose any data from mantis or the wordpress sites.  And obviously anything on Steam or kickstarter or backerkit is all unaffected.

Our code and game hosting stuff is on Amazon, repositoryhosting.com, and elsewhere.  Our code, for instance, is backed up by our hosting provider for that (repositoryhosting.com), as well as being on at least 3 computers and also backed up by another service on at least my machine.

TLDR: We’re super-duper-extra careful with the data that really truly matters — anything to do with customer data, code, tools, or whatnot.  We thought we were being careful with the website stuff as well, but we were relying on a single point of potential failure (one service and their own backups) rather than having a second tier of backups or a secondary service for the backups.

That was… clearly a mistake, we now see.  In the past we’ve used a secondary service to back up our website, but now we’re clearly going to need to be in the market for a service like that again.  If anyone knows of one they trust, please drop us a line. :/

Anyway: The Game

We’ll get the wiki updated with the new stuff when the database issues get sorted out there, but the good news is that since Quinn has been handling all of this (hugely frustrating) stuff, Keith and I have not been interrupted in our coding at all.  I like keeping our productivity tools spread around a bit partly because there’s then not one single point of failure, to be honest.  It’s come in handy at least once in most years we’ve been in business. 😉

More stuff soon.

Enjoy!

Chris

AI War 2 v0.400 Released: “Usability and the GUI Pipeline”

New version!  Release notes are here.

There are also two new videos, one of which was for Keith, and the other of which is for Blue.  You might also find them interesting if you like the dev diary videos that we’ve been doing.

7 Days Between Releases Again?

Yeah, that bit isn’t my favorite.  But holy smokes this is a big one.  Hence the version upgrade to 0.400 instead of the 0.302 it was originally going to be called.  It warrants it!

Usability

So first off, this still has a long way to go, but there are some notable strides made in this area already.  There’s still a lot to do, but a lot of the things done in this version were aimed at making such updates easier in the future.

GUI Process Overhaul

This is one of those things that was designed to make things easier later, AND it also really improved our visual fidelity immediately and solved all our current GUI-related performance woes.  So… this was a big deal.

That said, embarking on this wasn’t really intended… yet, anyway.  As I noted to Keith in an email:

I was trying to fix that stupid sidebar, then realized several things couldn’t work the way I needed them to without some changes, then realized I could get a ton more efficiency out of better prefabs, then saw a bunch of other low hanging fruit, and suddenly I was waist deep in guts and there were tarps on the windows and I was trying to get rid of DNA evidence of what just happened. 😉

Wow that metaphor went off the rails fast. Accurate, though, to an extent.

The sidebar is indeed working again, by the way.  It is in need of severe TLC on the visual attractiveness and readability front, but that part is pretty straightforward now in terms of not letting the tech get in the way of the designers.

Amusingly, within the same minute that I sent the above note to Keith in a larger email, he was sending me a note back that included his own humorous analogy:

So I think that’s everything from my end on the UI circulatory-system-transplant. (“What kind of operation did you need?” … “A transplant.” … “A transplant of what?” … “Yes.”)

Again, quite accurate. 😉

Performance Of Those Darn Icons Over Squads

That’s a bugbear I’ve been chasing for the last week, and every approach I’ve tried has resulted in failure (although I have been able to shave the overall load from it down by about 20%, I’m aiming for a lot more than that and feel it’s reasonable).

GPU Instancing is something that is awesome and amazing for the ships that we have, but when you start getting to just tons and tons of icons (each individual icon is actually I think 8 icons on top of one another), then there come problems.  I had my own custom batching solution that I developed for either Starward Rogue or Stars Beyond Reach, can’t recall which, but those don’t work with complex MaterialPropertyBlocks, which I need for this batching.

Ironically, inefficient matrix math is the biggest thing holding back my specific use case.  I wrote a lengthy bug report to unity, with example code on how to fix it (I got a 120% or so performance boost with a trivial change on my end), so hopefully we see improvements there in a near-term version.

Longer-term, they’re expanding upon their ideas of CommandBuffers and open-sourcing the C# parts of their GPU pipeline, which will be wonderful for me on a number of fronts.  That said, that will be “sometime in 2017,” which to me means it could be after this year, frankly.

So I started thinking more and more about this, and was ruminating on a recent frustration of mine of not really being able to do much with vertex ids, since those are a bit on the limited side in terms of hardware support, and they just don’t quite do what I want, but ALMOST do.

As I was googling around the problem looking for some ideas on telling shaders about different surfaces, I came across an idea to just use the uv2 channel for sending custom per-vertex data.  Duh!  I felt a bit silly not having thought of that, because I’ve used various other tools that do exactly that sort of thing.  Anyway, using that general idea I can combine the 8 parts of a sprite for a squad into a single instanceable mesh, and then extend my existing shaders to handle that with a minimum of extra instanced variables.  I’m quite excited about that, because I know for a fact that works, and I’ve done that sort of general logic before.

There’s a slight chance that I might run into trouble with shader instruction counts, but I don’t think I will.  Thank goodness for the more recent shader models and their wide support on all platforms.

Enough Rambling

Anyhow, there’s a variety of other things in this new version, too.  Tractor beams are no longer so darn strong, and there’s some new ship graphics in a few areas, etc.  Performance in general is up yet again in a ton of areas, and there are some bugfixes.

Hopefully the next version comes sooner than 7 days from now!

Enjoy!

Chris