Difference between revisions of "AI War 2:The Pivot"

From Arcen Wiki
Jump to navigation Jump to search
Line 69: Line 69:
  
 
* The icons for ships are now just stored once in the game, at a single size, rather than twice at two different sizes.  This makes it a lot faster for us to update the icons, and uses a bit less disk space.
 
* The icons for ships are now just stored once in the game, at a single size, rather than twice at two different sizes.  This makes it a lot faster for us to update the icons, and uses a bit less disk space.
 +
 +
* If a ship has been shot to death into remains, it now says REMAINS in red after the name of the ship in the mouseover, and it tells you what the remains means and that you need a remains rebuilder in the description text.  Otherwise this was absolutely mystifying as to what was going on!
 +
 +
* When ships are under construction directly on the battlefield, it now shows the health bar to show the progress that they are making towards completion.  Holy cow did things feel incomplete without that.
  
 
== Version 0.743 Music Blooms ==
 
== Version 0.743 Music Blooms ==

Revision as of 09:34, 10 May 2018

Known Issues

  • The interface, lobby included, is currently temporary, and undergoing a complete overhaul.
  • Beam-weapon style shot graphics don't yet display, and a couple of AOE effects don't show quite correctly yet.
  • Balance needs a lot of attention, with your help.
  • The tutorial is currently missing, as we need to redo it.
  • Multiplayer is temporarily disabled while we focus on tightening up the single-player loop.

What is this "Pivot?"

The full details are on kickstarter: Pivoting AI War 2: Bring The Fun!.

The short answer is that we're dropping back from what was considered a beta status, and instead proceeding with a revised design on our existing engine in order to make sure that this sequel fully lives up to the legacy of its predecessor.

Version 0.744

(Not yet released -- we're still working on it!)

  • Fixed an oversight in some of the recent versions where the Dyson Sphere was missing its cage. It now has a shiny (literally) new material on it.
  • Slight rework of the Autosave code. You now can specify the interval for autosaves and the number of previous autosaves to keep. So if I want to take autosaves every 10 minutes and keep the last 6 then I'll be able to easily jump back to the game up to an hour before. The goal is to make it easy to savescum efficiently and effectively ;-)
  • Provide a workaround for the problem where people who had last used a no-longer-extant map type would hit a crash when they start the game. Those deprecated map types are now defined (so it won't cause a crash anymore), but hidden by default so they can't be selected.
    • This was reported by numerous people, including Valeroth, Clasmir, zeusalmighty and probably others
  • Fixed a since-forever bug where ships fast ships that wind up needing to move to not overlap something would start bouncing around like they needed to go to the little starship's room.
  • Wave 1 of 5 of The Pivot is now complete.
    • Note that this obliterates a lot of the game that was previously known as AI War 2, and we're going to be adding back to this rapidly.
    • Please also note that a lot of the graphics for the post-pivot stuff is still inwork, which includes both icons and actual ship graphics. We have a lot to do!
    • Lastly, please note that this is putting a variety of kinks in our current GUI, so there is work incoming on that, too. We're basically making a mess at the moment, so please excuse our sawdust.
    • The overall goal of Wave 1 of the pivot was to get an end-to-end playable version of the game. By that, we mean the MINIMUM possible possible playable stuff, to be clear.
    • Main things that were thus included:
      • Removing all the ships that previously existed, and then adding as new:
      • Command station mechanics, and home command stations.
      • AIWC-style mechanics for the AI home command station.
      • Upgradeable mechanics for other command stations (so we can do econ, military, etc).
      • AIWC-style metal harvesters, the seeding of them, and all that.
      • Ditching power and fuel, and going back to the AIWC-style Energy mechanic, and adding energy collectors.
      • Going back to AIWC-style mechanics for the space docks.
      • Fighters, Bombers, and Missile Corvettes; and with that, a framework for applying the old AIWC balance numbers on top of our newer xml balance framework (until the framework and the numbers can be made to meet in the middle)
      • Warp Gates for the AI, those were already pretty much the same between games.
      • Engineers, and all the AIWC-style mechanics associated with them.
      • A variety of turrets from the first game.
      • Tractor turrets, but this time switching to the older AIWC-style mechanics for how those work.
      • Scouts, and the AIWC-style scouting mechanics.
      • AI Tachyon Guardians, which are simply a new unit, although possibly this included a shift to the AIWC-style cloaking mechanics? Not sure on that one bit.
      • Science Labs, and the AIWC-style knowledge-gathering mechancis.
      • Colony ships, and the AIWC style of those working.
      • Mine layers, and the rebuilder mechanics that go along with those.
      • Guard posts for the AI, and the mechanics that go with that.
      • Some of the AI guardians, and the AIWC style of guardian mechanics (AIW2 was previously wrapping guard posts and guardians into one thing, but now that's more split)
      • Force field generators, and a return to the AIWC style mechanic (with those now being present at all in general, too.
      • Starship constructors, nothing major different here between the two games.
      • Some of the basic starships.
  • For the time being, in the xml and underlying data structures, we still have global fuel and per-planet power.
    • However, everything is just using the global fuel now, to be more AIWC-like.
    • On the interface, we are now referring to this global fuel as being Energy again, as with AIWC.
    • We'll see how this continues to evolve, but for now that was the simplest thing.
  • Added a new IGameEntityDescriptionAppender, which can be linked up using the new xml tags description_appender_dll and description_appender_type.
    • One example is presently in place with the human home command station and a test class called AnyUnitExampleAppender.
    • This is something that can be used for adding arbitrary unit-specific or class-specific dynamic text to the description of any unit or unit type. This is likely to be widely useful as we build out the UI later on, because we can put in context-specific warnings and commentary, for instance.
  • The icons for ships are now just stored once in the game, at a single size, rather than twice at two different sizes. This makes it a lot faster for us to update the icons, and uses a bit less disk space.
  • If a ship has been shot to death into remains, it now says REMAINS in red after the name of the ship in the mouseover, and it tells you what the remains means and that you need a remains rebuilder in the description text. Otherwise this was absolutely mystifying as to what was going on!
  • When ships are under construction directly on the battlefield, it now shows the health bar to show the progress that they are making towards completion. Holy cow did things feel incomplete without that.

Version 0.743 Music Blooms

(Released May 2nd, 2018)

  • The second half of the AI War 2 soundtrack is now in place! These pieces, as specified in the kickstarter, are all remixed/remastered versions of tracks from AI War Classic. In there we have the Defeat and Victory tracks from the first game, Nomad Sunrise from DoW, Intro and Midnight from the base game, Night Light from LOTS, Rising Up from VOTM, and Voyage to Zenith from TZR.
    • With this, we're now also distributing the full soundtrack (plus a variety of bonuses!) to all those backers who signed up for it. You should have an email with that link, and/or be able to see it in your backerkit profile page: https://aiwar2.backerkit.com/
  • The game now actually plays defeat music when you lose.
  • When you win, the game first plays the For The Fallen vocal track, and then goes into the from-Classic Victory track, then goes on to play regular music from the in-game rotation.
    • When you lose, the game plays the defeat track, then also goes back to the regular in-game rotation.
    • These two changes are aimed at people who want to keep playing after a victory or loss, which are a not-insubstantial number of people.
    • We actually have not tested this bit at all, so, uh, if it doesn't work properly like this then please do let us know and give us a savegame. We're kinda busy on a lot of fronts right now! Normally we unit-test things, though.
  • We're now internally using the Asset Bundle Browser to help us find trouble spots with overlarge pieces of data in our asset bundles that we're building for the game. This helps with load speed, runtime efficiency, and asset bundle build speed.
  • Slightly improved the efficiency/size of the effects asset bundle.
  • Reworked the bloom effects to use the Natural Amplify Bloom effect rather than the Realistic one. This, plus a couple of other tweaks in that area, lead to something that still has bloom, but is a lot more subtle than before. Some folks were complaining about that with the teaser trailer, and we can see their point.

Version 0.742 Hotfix

(Released May 1st, 2018)

  • Fixed a bug where the total seconds to load was only being reported in output.log, and not in the ArcenDebugLog.
  • On the main menu, it now shows how long it took to load the game, and you can hover over that to get details if you want. The "logged in as Steam user" info is right below that, and both are a bit smaller now.
  • The loading feedback on the sound effect items and graphics items are now more coarse, leading to faster overall loading times compared to the last internal versions.
  • The method for tracking how much time has passed has been adjusted to use DateTime.Now instead of the Stopwatch class, since we had some questions about accuracy.

Version 0.742 Darkly Loading Spire

(Released May 1st, 2018)

  • Rather than looking like the application is hung when it starts, the game now shows the loading progress in the form of what it's doing at the bottom. It doesn't show a loading bar, but it does show a counter of how long has elapsed, and how long specific long-running bits are taking.
    • This is useful both for us to know in terms of telling when something is overly slow to load, and it also gives players something to look at and a cue that there's not just a frozen application in front of them.
  • Surprisingly, the sound effects loading is taking twice as long as the loading of the graphical data right now (9.6s versus 4.4s on Chris's machine), so this is already an example of where we can optimize our loading speeds a bit, which saves everybody a lot of grief and saves the devs here time staring at the screen when it's time to test each item.
  • Additionally, now if the game has an error during load, it won't show a mishmash of all the gui windows all overlapping themselves in an insane and obviously-glitchy way. There is no functional difference between before and now, but it seems a lot less terrifying now if you're seeing it for the first time.
  • The loading log for how the game starts up is now more informative than ever, and on the long-running sections it actually shows a progress count rather than just hanging on those sub-parts. Sometimes those sub-parts can take 30 seconds or more on first run (though usually 4 seconds or so on subsequent runs), so having this feedback is pretty vital to this not feeling like maybe it locked up.
  • The alpha channel has been removed from a ton of images that didn't need it, letting the compression format be smaller on disk, in RAM, and in VRAM, as well as loading faster. This will definitely be kept, as it was useless data.
  • The max texture size for some of the non-diffuse texture channels for the ships are now cut way down from what they were before, to reflect the distances you typically see these from. This saves 300MB of RAM, disk space, and also lowers the VRAM requirements and makes rendering faster. It also makes loading vastly faster. This is definitely a quality/compression tradeoff, and we do still have the originals, so we may wind up making this an option or something in the future if it seems ugly to folks this new way. At a fairly casual glance by those who worked on the ship graphics, we can't really tell the difference, though; in side-by-side shots you would notice it, but that's about it unless we are mistaken.
  • The compression style for weapons effects and other sound effects has been changed to ADPCM instead of Vorbis, and these are now set to load on a background thread rather than the main thread. This makes loading vastly faster for the sound effects, although it does use something like 20MB of extra disk space. The amount of space used in RAM is identical, since we always decompress on load, anyway.
  • The voice acting clips are now set to stream in like the music does, as well as load on a background thread, rather than being preloaded or decompressed early. This actually saves quite a bit of RAM, and doesn't affect disk space, and saves an enormous amount of loading time. The downside is that it can cause a sub-second delay in playback of voice clips, but given the nature of a voice clip that is both imperceptible and irrelevant.
    • Different types of sounds have different characteristics and need different settings, and we've optimized these, in short.
  • Speaking of optimization, we're no longer doing full error-checks on load for each ship visual that is loaded in. That was time-consuming and pointless. In the ship designer windows it shows errors, and if someone commits a ship with errors that's something that is a goof on their part and not something we need every player machine checking for every time the game starts. So that saves another batch of time.
  • We're also doing another experimental thing, where with the solomesh ships we're directly using the asset bundle copies of the ships to get their meshes and materials, rather than instantiating a copy first.
    • Generally this is not advised, since it can cause a bunch of extra disk reads and other general slowness when accessing that data. However, in this particular case, since we're not actually accessing anything more than the data on these objects (we're not making copies of the object), we think it's not hitting the disk like that. We don't see any evidence of it in the profiler now, anyway, and we were in the past.
    • This speeds things up yet again, and so far so good on that front, but we may have to back this one out later.
  • Overall the loading speed of the game has more than doubled, in typical test cases thus far, and it actually is responsive while loading as well, which is an important first impression piece.
  • Fix a bug where the Nanocaust was never losing influence over a planet even after the constructor was destroyed
    • Thanks to OvalCircle for reporting
  • Change the default colour of the Risk Analyzers
  • When the Human Marauders put Marauder Outposts on a planet, give them Influence over the planet (so it will be shown on the Galaxy map)
  • Initial commit of Dark Spire. Like in AIWC, it spawns ships based on energy it gains when ships die on a planet with a Vengeance Generator (VG).
    • Energy is tracked per VG. When VG energy > threshold it either shares energy with the VG with lowest energy or it spawns ships to attack. There's a Conversion Ratio when turning energy into ships; it starts out not very efficient (maybe 50% of the energy becomes ships), but every time a VG spawns new ships it becomes more efficient.
    • AI Overlords start with a Dark Spire Ward structure on their planets which prevents Dark Spire ships from going there. If a player destroys the Ward then the Dark Spire will be able to attack the AI overlord, thus giving you a new win condition.
    • Every so often the Dark Spire will attempt to spawn a Vengeance Generator Locus. The Locus will transform into a full Vengeance Generator in 5 minutes. If you don't kill the Locus in that time period then it turns into a Vengeance Generator. Planets are eligible for a Locus to spawn if they have no Human or AI ships on them, and they are adjacent to a Vengeance Generator without any human or AI ships on it.

Version 0.741 Music Part 1 Of 2

(Released April 29th, 2018)

  • The first half of the new tracks for the AI War 2 soundtrack are now in place: Abandoned Ship, Absolute Zero, Bouncing Lights, Event Horizon, Light Year, and Supercluster.
    • All by Pablo Vega, mastered by Dio, and all fantastic.
  • Update to Human Marauders behaviour. If they destroy all your forces on a planet then they will begin to construct Marauder Outposts which will spawn Marauder new units. This will make it harder to recapture planets. Every so often a new MarauderOutpost will be added, and existing MarauderOutposts will upgrade themselves to make stronger units. Note also that when the Marauders capture a planet they get a permanent boost to their MaxBudget, making them more dangerous.
    • If you allow the Marauders to get Mark 3 outposts then they will start getting Budget faster.
    • The balance levers are in XML for ease of use
  • The default game volume is now quieter in the hope of not deafening new players
    • Thanks to Flavin for the report
  • Improved the performance of music loading at the start of the game and during the game.
  • Fixed a regression in the prior version of the game where the first time any camera loaded a "traditional skybox" type of background, it would be solid black instead.
  • Fixed an issue where the construction part of the sidebar could show some stale data when switching from a planet with a builder to one without a builder.
    • Thanks to hawk for reporting.
  • Fixed a bug that nobody had reported yet with lightning attacks being very strange-looking and not like lightning bolts anymore.
  • Fixed a bug with the various type of geometry-based explosions (flak, lightning, etc) so that they now render additively in the transparent queue rather than the overlay queue, and so that they read from the zbuffer but no longer write to it.
    • This changes the effects a fair bit so that they no longer do things like eat into one another or the ship icons around them.
    • These will need further tuning to not be over-bright in huge battles, and they're on our list for further improvements visually anyway, but for now it's a good enough start.
  • Risk Analyzers: code tidying, also track the total and net AIP generated by Risk Analyzers. Eventually this is going to turn into 'When X AIP is generated by Risk Analyzers, do something unpleasant to the player', probably an exo wave, once exo waves are added
  • Map Types: Add a new planet placement mechanism for Simple and Realistic, and tweak one of the previous placement algorithms for Simple and Realistic
  • Fix some bugs with Marauders, where outposts weren't upgrading properly.

Version 0.740 Clean Up That Nebula, Young Man!

(Released April 26th, 2018)

  • Fix some dumb bugs in the HumanMarauders faction that was preventing the marauders from correctly analyzing your planets to see which they should attack
    • Thanks to OvalCircle for reporting
  • Fixed a bug where the Vis layer was not correctly setting the Shot location when we tabbed into a planet with the shot in flight; it was assuming the shots should be at the middle of the planet, which is manifestly incorrect
    • Thanks to OvalCircle for reporting
  • Fix a bug where where if a non-Nanocaust faction killed a unit that had taken Nanocaust damage, the killing faction would get the new zombie ship instead of the Nanocaust.
    • Thanks to OvalCircle for reporting
  • A new and frightening visual look for Usurpers has been added. These will be absent for a while until we get past the "Fun point" once Keith gets his first wave in place, but then we expect these to come back pretty darn fast, so we want them to look nice and scary). (These are the AI ships that recapture planets)
  • The infrequently-changed space backgrounds, and planet graphics, have all been moved into a new internal AIW2Scenery unity project, which saves us a _ton_ of time when actually building the gui asset bundles, or ship asset bundles, for the game.
  • The sound effects and voice acting files have all been moved out of the platform-specific projects, and out of the modding and gui project in general.
    • These are now in the GlobalBundles folder, which saves some disk space if you've got multiple OSes of the game installed at once. It also saves us time when pushing new versions of the game, and has less of a footprint on the system for everybody thanks to the modding unity project now being much smaller without all those files.
    • This does make some of the sound stuff a bit harder to mod, but we'll just throw that stuff up on github or google drive or something when the time comes. It's not worth inconveniencing everyone over putting it directly in the build.
  • There were a variety of old "space boxes" that were from back in the kickstarter days that were just... underwhelming. They were nicely colorful, but had kind of gross large stars in them, and in some cases just junky colors in general. These have either had their gross big stars patched out, or they've been removed.
    • Overall these have mostly been removed except for the best couple of them (which now have color variants!).
    • This saves about 200mb of RAM for something that wasn't looking so hot in general, and makes the game load faster, too.
  • Our middle-style "nebula sphere" type of backgrounds previously had a really bad problem with distortion on the starfields. This was just embarrassing, and led to some perfectly-fine spaceboxes looking really gross depending on the angle of view, instead. These have all been fixed up with a revised shader for handling those starfields as simple tiling rather than triplanar reading.
  • Our most recent, and best-lookg style of space backgrounds, which are based on traditional skyboxes, were absolutely HUGE, taking up more than 450mb on disk, and in RAM. Each one was 12MB of VRAM to render, as well, although that's unavoidable to keep the starfields crisp using a non-tiling cubemap like that.
    • We've now split these out so that the stars themselves are in a separate cubemap which is the larger size, and then the nebula parts are able to be a quarter of the size (half the side length) without any drop in quality. This adds 3MB of VRAM usage per draw (of which there is exactly one per frame), but saves over 300mb of disk space and system RAM during runtime, as well as making the game, once again, load faster.
  • 49 new space backgrounds have been added, based on 8 source cubemaps, to replace the ones that were taken away (though this actually adds back more than were taken).
    • The new skyboxes are way higher quality than the ones that were removed, is the main point, anyhow.
  • The starfield backgrounds on the galaxy map are now much more neutral, with mostly black and a little bit of white. Easier to see foreground objects on them, now.
  • Fixed a bug where once you viewed an old-style spacebox background, it wasn't letting you view any "traditional skybox" backgrounds, which explained the over-prevalence of the former.
  • The settings option for "background style" has been removed, as that's no longer really relevant to anything.

Prior Release Notes

AI War 2: Final Pre-Beta Checks