AI War 2:The Pivot

From Arcen Wiki
Jump to navigation Jump to search

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.
  • Added a new visuals_scale_multiplier xml entry for GameEntities that lets us scale up or down entities as we wish for whatever purposes.
    • One of the biggest uses is so that we can have fewer prefabs that we have to initialize and keep in memory for ships that grow in size but nothing else during mark-level changes.
    • This is now in use on the AssaultStarship and the NeedlerGuardian, which are the only two ships re-implemented at this point for which this is relevant.
  • The tractor turrets look so cool that we've made them a bit larger and made it so that there is only one per "squad" on them. They look like they individually mean business as it is.
  • Fixed the scales and collision radii of the assault starships.
  • The visuals, icons, and scales for engineers, rebuilders, and human cryogenic pods are all now in place.
    • Note that only engineers and rebuilders are actually in the game yet.
  • Hey, does the scale of the grav wells on planets feel too small to you? Here's how you can tune the numbers. For example, at the moment we've doubled the size of the grav wells, and we'll see how that feels. To do the doubling, since that's simple math, here are the changes:
    • GameData/Configuration/ExternalConstants/KDL_VanillaConstants.xml
      • distance_scale_gravwell_radius 13000 to 26000 (This makes the sim-level grav well twice as large, but if you just change this then visually things will draw very wrong. Must be an integer.)
      • asset_base_unit_radius from 100 to 200 (This makes the units draw half as large as they previously were. It has to be an integer).
    • GameData/Configuration/ExternalVisualConstants/CMP_VisualConstants.xml
      • combat_visual_scale_divisor from 10 to 20 (This makes the position of units, and the size of their selection radius, all make sense visually. Whatever multiplier you apply to distance_scale_gravwell_radius, apply the same one here).
      • forcefield_visual_scale_divisor from 5 to 10 (Same deal, forcefields will look the wrong size if this isn't adjusted).
    • There actually may be a few other settings that we overlooked, but hopefully this is a comprehensive guide. If not, we'll update this in the future if we discover a hole.
  • Adjusted gimbal_base_scale from 2 to 2.5 in GameData/Configuration/ExternalVisualConstants/CMP_VisualConstants.xml so that the gimbal icons aren't so darn tiny. This seems to feel more like AIWC, now.
  • For now at least, the bobbing of ships within squads has been turned off. As steam user Bucketsmith pointed out, it looked too much like ships on the ocean. It was meant to give a sense of life to the ships, but after he pointed this out to us, we couldn't stop seeing it, either...
  • Make Marauders hostile to everyone. This means that neutral planets or weakly defended AI planets are eligible to be captured by the Marauders. Remember that the Marauders capturing a planet will permanently strengthen the faction.
    • Thanks to Ovalcircle for the suggestion
  • Add new faction 'Astro Trains'.
    • When enabled, a bunch of Astro Train Stations are seeded on the map. Every so often the AI will create a Depot, then begin to spawn trains that head to the Depot. Trains will travel between the Stations, then eventually to the Depot. A train will always go "near" a player if possible.
    • There will be a number of different types of Depots. Some produce an effect whenever a train arrives, others produce an effect after a certain number of trains, still others produce an effect based in strength on how many trains arrive. At the moment there is only 2.
    • There will also be a number of types of Trains based on the defenses they have. At the moment there is only 1 (and it's misnamed, Keith hasn't added its weapon system back into the Pivot yet)
    • Eventually I'd like to have the Trains give you metal when killed, but that mechanic isn't added yet. This is intended to be a More Interactive and Fun version of AIWC's astro trains
  • Add new faction 'Macrophage'
    • This faction is an invasion of giant organic Macrophage. They prey on Metal, devouring ships and structures they come across, and in particular they prey on the AI (since you haven't encountered them yet).
    • Macrophage live in colonies called Telium, which are hidden from the AI. A Telium sends out Macrophage to harvest metal by destroying human or AI ships. When a Colony has been fed enough metal it will create cloaked and harmless Spores which wander the galaxy. When spores encounter spores from other Telium they can reproduce to spawn a new Telium.
    • They are hostile to humans and AI alike, but not very intelligent.
    • If a Telium produces enough Macrophage, some of the Macrophage will be transformed into an Aggressive form and then go try to kill the human player. If a Telium is destroyed, all of the Macrophages associated with it will attack the player.
    • This faction is a bit like reimagining the Devourer Golem less as an unstoppable killing machine and more as a part of an ecosystem.
  • Selecting a constructor unit (like the Space Dock or Starship Constructor) will automatically open the Build Tab on the sidebar. It was really annoying to click on a constructor, then realize you need to also click on the Build Tab. Note that hitting "B" is more efficient than clicking on a constructor anyway.
  • Human scouts and AI tachyon sentinels now have their graphics in place.
  • Fixed a bug where the single-ship-in-a-squad units were not being properly scaled down location-wise.
  • Added a new y_offset_of_ship_in_formation xml tag, which allows us to raise and lower ships from a squad as a group. This is useful for really tall structures, for instance.
  • Added the visuals for all of the command stations (AI, basic human, economic, logistical, military, warp jammer, human home, human home core).
    • This was quite a task to pull off in a satisfying yet recognizable way, but we finally have it. Basically these needed to be larger and more epic, yet stand out and not have too many polygons, etc.

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