Difference between revisions of "AI War 2:Final Pre-Beta Checks"

From Arcen Wiki
Jump to navigation Jump to search
Line 24: Line 24:
 
** Adjusted the size of the Armor Ship, Infiltrator, Sniper, Space Plane, Space Tank, and the Grenade Launcher. Completed the integration of the Autocannon Minipod, Raptor and the Spider.  
 
** Adjusted the size of the Armor Ship, Infiltrator, Sniper, Space Plane, Space Tank, and the Grenade Launcher. Completed the integration of the Autocannon Minipod, Raptor and the Spider.  
 
** Experimental Fabricator mesh and materials, LODs, and integrated.
 
** Experimental Fabricator mesh and materials, LODs, and integrated.
 +
** Lightning Warhead, LODs, and integrated.
 +
** Warhead Nuke, LODs, and integrated.
 +
** Flak Turret, LODs, and integrated.
 +
** Ion Cannon mesh and materials, LODs, and integrated.
 +
** Orbital Mass Driver mesh and materials, LODs, and integrated.
 +
** Warhead EMP mesh and materials, LODs, and integrated.
  
 
* The game has now been fully updated to Unity version 2017.3.0p1, from the prior version 2017.1.0p4 it had been running on.
 
* The game has now been fully updated to Unity version 2017.3.0p1, from the prior version 2017.1.0p4 it had been running on.

Revision as of 13:35, 15 January 2018

Known Issues

  • The interface in general is not great, but is getting better.
  • Various ships are implemented but don't have real graphics, so they just show a little "rock" instead where the ship graphic would be. You can still see the ship icon and whatnot just fine.
  • Most ship shot types use the same graphics right now.
  • Only some of the sound effects are in, and only a couple of music tracks.
  • Balance needs a lot of attention, with your help.
  • There is a tutorial, but it's new, and we're not sure how comprehensive you'll find it.
  • The lobby is still very small, and a work in progress.
  • Multiplayer may have some issues at the moment, although we need more testers on that.

Version 0.701

  • Updated Ship Visuals:
    • Adjusted the size of the Armor Ship, Infiltrator, Sniper, Space Plane, Space Tank, and the Grenade Launcher. Completed the integration of the Autocannon Minipod, Raptor and the Spider.
    • Experimental Fabricator mesh and materials, LODs, and integrated.
    • Lightning Warhead, LODs, and integrated.
    • Warhead Nuke, LODs, and integrated.
    • Flak Turret, LODs, and integrated.
    • Ion Cannon mesh and materials, LODs, and integrated.
    • Orbital Mass Driver mesh and materials, LODs, and integrated.
    • Warhead EMP mesh and materials, LODs, and integrated.
  • The game has now been fully updated to Unity version 2017.3.0p1, from the prior version 2017.1.0p4 it had been running on.
    • As part of the upgrade, the performance of the game has improved in general by a little bit, and we have better ability now to profile it.
    • We've also now gained the ability to make a number of changes to PhsyX-related parameters that were previously slowing the game down quite notably; the performance footprint of moving squads around has fallen by at least half, now, which is awesome.
      • The key change made was to turn off the automatic syncing of transforms every time transform position or rotation was changed in the sim. Now those just sync prior to FixedUpdate. The only reason the syncing needs to happen at all is so that we can do raycasting to determine what ships the mouse may be hovering over.
      • That said, we were also able to change the contacts generation from the legacy contacts generation to their newer persistent contacts manifold, and we were able to turn off the main PhysX simulation in general, and we were able to change the broadphase type from the old-style sweep and prune to the newer multibox pruning broadphase, which is more efficient particularly when there are a lot of entities near one another on the y axis (gee, that sounds awfully much like our exact case!).
        • It's debatable how much these secondary changes really improved at all, since we're only using the PhsyX data for raycasting. But raycasting has to happen every frame (to know where tooltips are as you move the mouse around potentially rapidly), so if there is even a slight benefit that's nice. The big thing was the transform sync insanity fix.
      • On the other hand, it's a bit disappointing that we only cut the CPU footprint of the transform movements in half; a lot of that is likely because of the nature of how we have our squads composed. We will likely make some changes in that area in the coming week to take the performance of this aspect of the game even higher.
  • Slight improvement to the efficiency of syncing gimbal (icon) positions with the positions of their squads.

Version 0.700 Hunting The Wild Beta Beast

(Released January 12th, 2018)

  • IMPORTANT NOTE: contrary to our normal practice (even in alpha/beta), we've broken all old savegames with this version. Just too much AI-state data moving from "one set for the whole world" in the Core implementation to "for each faction that needs it" in the moddable External side, etc.
    • We obviously won't do this kind of breaking change after release, per our normal approach with AIWC.
  • Added some options to the Start Game lobby to allow waves with homogenous or varied composition, and to select the amount of advanced warning you get for a wave.
  • Fix a bug where Maze, D18Swirl and D18DensityMap weren't displaying the correct map type in the Save/Load screens
  • Right-clicking a build menu item or build queue item now acts like alt+left-click:reduces the amount of that unit queued.
    • Thanks to Kahuna for suggesting.
  • Fixed a longstanding bug that generally prevented the showing of health bars for guardians/etc in many circumstances.
  • First pass at descriptions for all in-game units. Cursory, possibly incorrect and needs flavour, but it's something at least.
  • Completely redid how the intra-squad formations were set up, so that now it's both more efficient, and more importantly more correct.
    • There no longer seem to be any cases where ships in a squad are spawning on top of another ship within the same squad, and if they do it will now throw a warning error.
    • Additionally, if a formation is too small for the number of ships that the game says should be in it, then it will now throw errors rather than just stacking the ships on top of one another.
  • Fixed a bug where the Warden Fleet could attack one of "your" planets if it is an AI planet you conquered after the Wardens "set sail", so to speak.
  • Split out a ton of our asset bundles so that they are not so monolithically huge anymore. This shrinks our largest one by about 400mb, and moves those into smaller ones that are a few hundred megs each, by type.
    • Also removed some accidental dependencies we'd developed between a couple of the asset bundles. This helps things load faster.

Major Visual Improvements

  • Updated ship visuals:
    • Grenade Launcher mesh and materials, LODS and integrated.
    • Infiltrator mesh and materials, LODS and integrated.
    • Space Plane mesh and materials, LODS and integrated.
    • Sniper mesh and materials, LODS and integrated.
    • Space Tank mesh and materials, LODS and integrated.
    • Sentinel Frigate mesh and materials, LODS and integrated.
    • Laser Gatling integrated.
    • Assault Starship mesh, materials, LODs, and integrated. Plus MK variant sizes.
    • Carrier Starship mesh, materials, LODs, and integrated. Plus MK variant sizes.
    • SiegeStarship mesh and materials, LODS, and integrated.
    • SniperStarship mesh and materials, LODs, and integrated.
    • Stealth Starship mesh and materials, LODs, and integrated. Plus MK variants.
    • Laser Turret LODs, and integrated.
    • Lightning Turret LODs, and integrated.
    • Missile Turret LODs, and integrated.
    • MLRS Turret LODs, and integrated.
    • Needler Turret, LODs, and integrated.
    • Sniper Turret, LODs, and integrated.
    • Spider Turret, LODs, and integrated.
    • Tractor Turret LODs, and integrated.
  • Updated structure visuals:
    • Experimental Turret Controller mesh, materials, LODs, and integrated.
    • Advanced Research Station mesh, materials, LODs, and integrated.
    • Advanced Factory mesh, materials, LODs, and integrated.
    • Forcefield Generator mesh and integrated.
    • Fortress mesh, LODs, and integrated.
    • SpaceDock mesh, LODS, and integrated.
    • WarheadSilo mesh, LODS, and integrated.
  • Additional visual enhancements (iterative improvements: things are better but not perfect)
    • The number of ships in a squad should now more accurately reflect a squad's health
    • When a ship takes lethal damage it now changes to a "Dying" graphical state instead of using particle effects.
    • Ships start burning the same visual frame that a shot hits the target, not the frame afterwards. It makes things feel snappier.
    • When a squad is reinforced, the reinforcing ships use a cool "Warping In" effect
    • When you first move your view to a planet, damaged squads should now have the correct number of ships
    • Lightning and Flak AOE effects are in use by the appropriate units
    • When a structure is under construction, use an "Under Construction" visual effect for it. The effect is either Green for "normal construction" or Yellow for "blocked construction". Construction is blocked if you have paused construction or are out of metal
  • The game now displays, in fiery animated letters, "YOU LOSE," then on another line, more slowly, "HUMANITY HAS PERISHED," when you lose the game.
  • Massively improved the visuals of the ship on the main menu. Come on, it's the first thing people see. ;)
  • Major update to the starfield backgrounds!
    • Remember those awesome ones that we were showing off during the kickstarter and for a while after that? Well, Badger did as well. ;) Those have returned.
    • We took them out, previously, because we had a variety of complaints from players who were saying that they were too bright and were distracting from the main combat. But that sentiment isn't unanimous by any stretch, and these backgrounds look COOL.
    • Our plan is to make it so that players can exclude the sort of backgrounds they don't like (ones that are too bland, or ones that are too bright) for in-game purposes.
    • Meanwhile, we've updated which ones can show up on the main menu, and in the galaxy map, and these should be ones that are pleasing to everyone in terms of being more varied and more thematically appropriate for those parts of the game.
  • You can now select the style of planet backgrounds you want: All of them (default), just the "fancy bright" (old style) ones, or just the "dim" (more recent) ones.
    • This is a per-client setting, so you can have different BG visuals for a planet per player if players choose different values from those settings.
    • Note that these settings only take effect when creating a new game or loading a savegame or joining a multiplayer game, so changing these in the settings menu while already playing won't change anything.
  • The "Burning And Dying" effect has actually be transformed into a full, GPU-only explosion effect where vertices are offset over time based on the direction of their normal, and a "burn ramp" effect makes emissive textures come in white, then very bright, then fading a bit more.
    • Translation: EXPLOSIONS WITHOUT PARTICLE EFFECTS. :D
    • Basically what this does is make the battles way more epic, but without having the expensive (in CPU AND GPU time) particle engine get involved.
    • This is actually barely any more expensive on your GPU or CPU than having the ships just disappear at death, and it's actually slightly more efficient than our first "burning and dying" effect, which was itself very efficient. So... yeah. Go team explosion. :)
  • Bloom, ah... finds a way.
    • Right. So bloom, which we've added and removed and tweaked a million times, is now back... but in a very weak and subtle way.
    • This style of bloom finally avoids the pitfalls we were seeing before, but it is what lets the emissive ramp of the new "burning and dying explosions" actually look like explosions where there is none.
    • The result is super effective, and we can actually make a variety of different death "explosions" of differing intensities, colors, and whatever else we want, based on the type of ship, building, who owns the ship... anything we want.
    • It's SO effective, in fact, that we might ditch our literal particles altogether, in favor of performance. This also tends to look a lot better, since it is by definition exactly the size of the ship or structure that is exploding, unlike the true particle effects.
  • In fact, we've now taken the "burning and dying" to the next level after all.
    • The ships and structures no longer throw off particles on death at all -- not shuriken particles like they used to, anyway.
    • Instead, it now has burning and dying effects that can be defined per ship type, rather than globally. There are different colors (slightly) for the last ship in a squad compared to all the others, and structures have a different pattern of disintegration.
  • Forcefields now have a reactiveness to being shot, visually showing a pulse on themselves. We may make this fancier in the future, not sure, but the current effect is very efficient.
    • This is also something that presently does not properly block the shots that are heading to forcefields at the moment for some reason, so there's a bit of visual inconsistency, but it's getting there.
  • Bloom REALLY finds a way... now Amplify Bloom is back (again), although vastly more subtle now in terms of how it is applied.
    • This prevents the flickering of the new explosions that was happening with Unity's own post processing stack, and in general looks a lot more sophisticated.
    • You can see how much more sleek it looks right from the main menu; kind of a Blade Runner vibe to the glow, now, rather than a Star Trek 2009 feel. Much better than the latter, or than none at all.
  • We're now actually drawing the Area of Effect (AOE) shots when they happen, or at least most of them. We initially went with a style that was based on the built-in Unity Shuriken particle system, but as we had feared that simply crumbled before our massive simulation.
    • Instead, we're now using some custom vertex-animation approaches that are all GPU-instancing based and (nearly) completely GPU-side. The performance impact of this in one pretty sizeable battle that we were testing was a drop of 10ms per frame of overhead that Shuriken had been causing.
    • In the really large battles, there are still some performance issues surrounding all the ships moving around (of all the silly things to be slow), mainly just because of unity's underlying system being inefficient. Fortunately, in 2017.3 they have introduced a way to bypass most of that inefficiency, but we're presently running on 2017.1 and will need to upgrade the game sometime in the next few weeks or month or so.

Major Camera Improvements

  • Added a major new type of camera, which is now the default, and which has two modes: Basic Strategic and No-Pan Strategic.
    • The Basic Strategic one works... well, basically like you would expect it to, based on AI War Classic.
      • It fixes a lot of the fiddliness of the Angled and Top-Down cameras previously available in this game.
      • Because this is from a third party, however, unfortunately this has to remain closed-source, unlike the other cameras.
    • This camera also now introduces two new hotkeys: R and F, for tilting itself up and down.
    • Since the camera is able to zoom in MUCH further than before, and has great tilt and pan and rotation controls, the free-look mode is not implemented on it.
      • Using this camera you can actually zoom down inside a squad of bombers and pan through them easily, etc. You can actually see the ships up close in general! Yet it's not fiddly to get from that extreme zoom to the other extreme of zoom, seeing the entire planet.
    • In general the zoom is very graduated so that you have more degrees of zoom as you get further in, and additionally the edge scrolling, WASD-scrolling, and middle-mouse-to-pan scrolling all work more smoothly at each zoom level.
    • On the no-pan variant, the middle mouse button being held down instead takes you into a "tilt and rotate" mode.
    • The rotation in this camera is based around a "turntable" concept for where you are pointing your cursor (or where the focal point of the camera is, anyway). This is different from the "tripod" style rotation that was there before in the other cameras (and is still there in them -- you are free to use any of our cameras, still).
    • Finally the camera feels like a friend rather than a foe! ;)
  • Previously when you were in free-look mode and then came out of it, the rotation of your camera would be all messed up in the Angled and Top Down camera modes. Fixed.
  • Fixed some general jerikiness that happened on occasion in our camera movement in particular; it was present in our old camera code as well, but more easily noticeable in our free-look camera code and our new camera that is part of this release. The jerkiness was also affecting some other random things, like fade-ins and a few timers. It was not affecting ship movement, however.
    • So what was up? Well, we were using Time.deltaTime, which normally is fine... except in a game where there are garbage collection calls every so often, you'll get very harsh spikes that are noticeable in animated stuff, particularly camera movement. We're talking about the difference of 100ms or so, but it's still substantial enough to feel really off.
    • Fortunately Unity provides a built-in Time.smoothDeltaTime, which automatically smooths those out so that we don't even have to do any of the hard work ourselves. We've now switched everything over to using that.
    • Incidentally, it wasn't just the garbage collector that was throwing this for a loop -- since our underlying simulation runs at a lower framerate than the visual part of the simulation, some frames are definitely longer than others. That was leading to micro-stutters that were irritating but possibly below the level where you'd be able to pinpoint what was bugging you.
    • All fixed now, at any rate, near as we can tell!
  • The game now supports separate speed adjustment multipliers for "fast mode" for cameras panning, rotating, and zooming on the galaxy map and in the planet view. There was no purpose in having a fast mode for tilt, because that's a pretty fast and definitely cosmetic thing anyhow.

Larger Planet Gravity Wells!

  • The radius of each planet's "play area" has been doubled, moving AIW2 much closer to AIWC in spatial scale.
  • The xml data relating to distances has been reworked:
    • Rather than one constant for the radius of a grav well and a variety of multipliers based on that (seconds for ship to cross grav well, what % of the radius a short-range-weapon has, etc), there's now constants for:
      • Grav well radius.
      • Base unit radius.
        • These used to be constants for every unit; these are now happily all multipliers, making broad adjustment much easier as well as avoiding raw distance units existing in multiple xml folders.
      • Base shield radius.
      • Base weapon range.
      • Base AOE radius.
      • Base ship speed.
      • Base shot speed.

AI Difficulty Levels

  • AI Difficulty is now selectable in the lobby, ranging from diff 1 (AI strength budget-to-fight-you is about 20% of normal) to diff 5 (the default, normal budget) to diff 10 (AI strength budget-to-fight-you is about 1000% of normal).
    • Lower difficulty is somewhat "dumber" with its units, specifically it waits longer before considering retreating during an attack (i.e. how long your turrets get to shooting-gallery a wave that's not strong enough to threaten you) and it waits longer before sending waiting threat off to join the Hunter Fleet.
    • Higher difficulty waits less time for both of those things.
    • The old core-dll definition of difficulty has been removed, replaced by a definition in the external (moddable) code.
  • AIP is now tracked per-AI-faction, and has been moved almost entirely from Core to External (moddable). The remaining core fields that store AIP numbers (how much AIP on death, etc) only have effect because External uses them.
  • The AI Warden Fleet and Hunter Fleet now have their own difficulty settings.
    • The Warden Fleet's population cap is now based on that setting and the base income of the Sentinels faction.
    • The Warden Fleet now starts with a certain difficulty-based % of its population cap already filled, so it can oppose your attacks earlier (it still starts at the AI homeworld so you have a little breathing room).
    • The Hunter Fleet, on difficulty 6 or above, now starts with some strength. That strength is based on the base income of the Sentinels faction and the Hunter Fleet's difficulty setting.

Balance Changes

  • All Starships now have a cap of 1 (per mark level) instead of 5/4/3/2/1 for Mk1/2/3/4/5. The strength per cap is the same.
    • This better distinguishes their role from fleet ships; they're much more distinct and individually powerful.
  • Shield Generator cap from 5 to 2, with the same strength per cap, to cut down on the piles and piles.
    • This also makes the AI use fewer of these; they're more individually powerful but won't cover as much area (also makes exposed units more likely).
  • You can now research Mk2 and Mk3 Shield Generators (giving you a potential total per-planet cap of 6, up from last version's 5).
  • The under-the-hood math for AI Shield Guardians now uses a "cap" of 1 instead of the 5/4/3/2/1 for Mk1/2/3/4/5 like other guardians (and how starships used to be).
    • Again, this reduces shield piles, maintains shield strength, but increases likelihood of exposed units.
  • Your Ark no longer projects a shield.
    • Probably the biggest single change to shields, actually. This will help players not expect to always have the whole fleet under cover, and not expect to bring the Ark along on every fight once they have a Flagship.
    • You still have the MkI Shield Starship that you can unlock at the start; it has roughly 1/3rd the shield strength the Ark used to have, so you can still protect your missile corvettes and such to some extent.
    • If you unlock the MkII Shield Starship, their combined shield strength is equivalent to what the Ark had, though not covering as big an area.
    • The Ark's defense type is now "Armor", meaning that the ships which get a bonus against it are all short-ranged.
  • Halved the amount of strength the AI puts into shields on planetary defense.
  • Fixed a bug where starting AIP was 60 instead of the previous 30. And while we were at it, reduced it to the 10 it was in AIWC (somewhat counterbalances not starting with starships or turrets unlocked).
  • You no longer start with any Starships or Turrets unlocked. You decide whether more fleet ships or a starship (or even turrets) are more helpful in your early battles.
  • You no longer have to gather your starting planet's Science; it's automatically gathered when you start the game so that you don't have to wait for it before making your first moves.

Prior Release Notes

AI War 2: Making Alpha Fun