Difference between revisions of "AI War 2:Final Pre-Beta Checks"
Jump to navigation
Jump to search
X4000Chris (talk | contribs) |
X4000Chris (talk | contribs) |
||
Line 62: | Line 62: | ||
* The attack and move voice prompts for when Alan Edwards is your Chief Adviser on the Ark are now in place. | * The attack and move voice prompts for when Alan Edwards is your Chief Adviser on the Ark are now in place. | ||
** This is needed for us to test certain parts of the UI; the other Chief Advisers will be voiceless for a few more weeks. | ** This is needed for us to test certain parts of the UI; the other Chief Advisers will be voiceless for a few more weeks. | ||
+ | ** His voice doesn't actually show up in the game, yet, though, either. Next build! | ||
+ | ** Voice by David Allan, who should be quite familiar to anyone watching much of the BBC in the last few decades. | ||
− | * Slightly | + | * Bombers now have their voice cues in place, voiced by Brendan Reilly. |
+ | |||
+ | * AOE ships now have their voice cues in place, voiced by Megumi Kabe. | ||
+ | |||
+ | * Slightly tweaked the "Simple" map type to make its layout non-homogenous | ||
=== GUI Work === | === GUI Work === |
Revision as of 13:05, 12 March 2018
Contents
- 1 Known Issues
- 2 Version 0.711
- 3 Version 0.710 Reducing The GUI To Jelly
- 4 Version 0.709 Hotfix
- 5 Version 0.708 Activating Mk3 Grinding Machine
- 6 Version 0.707 Activating Mk2 Grinding Machine
- 7 Version 0.706 Activating Mk2 Grinding Machine (Part 1)
- 8 Version 0.705 Hotfix
- 9 Version 0.704 About that Flair
- 10 Version 0.703
- 11 Version 0.702 Activating Mk1 Grinding Machine
- 12 Version 0.701 Hotfix
- 13 Version 0.700 Hunting The Wild Beta Beast
- 14 Prior Release Notes
Known Issues
- The interface, lobby included, is currently temporary, and undergoing a complete overhaul.
- 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.
- The bulk of the new soundtrack won't be in place until April 20th, but over 4 and a half hours of music is in place from a mix of a few new things and a ton of Classic tracks.
- Various bugs on mantis: https://bugtracker.arcengames.com/view_all_bug_page.php
- 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.
- Multiplayer may have some issues at the moment, although we need more testers on that.
Version 0.711
- Updated Ship Visuals
- Teuthida Guardian Drone updated formation.
- Shredder Guardian Drone updated formation.
- Implosion Guardian Drone updated formation.
- Adjusted Warhead Suppressor icon height.
- Devourer Golem new visuals, prefab and LODs.
- Black Widow Golem new visuals, prefab and LODs.
- Dire Hunter Guardian new visuals, prefab and LODs.
- Gravity Guardian new visuals, prefab and LODs.
- Missile Guardian new visuals, prefab and LODs.
- Sniper Guardian new visuals, prefab and LODs.
- Asteroid Mine and derelict version new visuals integrated.
- Fuel Refinery and derelict version new visuals, prefab and LODs
- Usurper new visuals, prefab and LODs
- Alarm Post new visuals, prefab and LODs.
- Attrition Emitter new visuals, prefab and LODs.
- Black Hole Machine new visuals, prefab and LODs.
- Magnifier new visuals, prefab and LODs.
- Planetary Cloaker new visuals, prefab and LODs.
- Raid Engine new visuals, prefab and LODs.
- Vampire Guardian new visuals, prefab and LODs.
- Reactor and derelict version new visuals, prefab and LODs.
- Minor Factions
- Zenith Trader
- Now emits suitable messages when it is on one of your planets
- Is capable of respawning if eaten by the Devourer
- Devourer
- Gives a message when on a human planet
- Zenith Trader
- A newer version of the Facepunch Steamworks wrapper is now implemented into the game.
- Steam achievement integration is now complete, although it is untested since we don't have any achievement yet.
- When it's time to test those, we have two very simple methods on FrontEndBaseLink.Instance.
- bool LogSteamAchievementAsComplete( string AchievementIdentifier ).
- The bool return tells you if the achievement setting was a success or not.
- bool GetStatusOfSteamAchievement( string AchievementIdentifier, out DateTime UnlockTime, out float GlobalUnlockedPercentage )
- The bool return tells you if the achievement has been previously marked as achived on Steam. The UnlockTime tells you when. And, fun and interestingly, the GlobalUnlockedPercentage shows you what percentage of players have unlocked that achievement. Not sure if we'll use that last one, but it's neat to have.
- bool LogSteamAchievementAsComplete( string AchievementIdentifier ).
- When it's time to test those, we have two very simple methods on FrontEndBaseLink.Instance.
- The attack and move voice prompts for when Alan Edwards is your Chief Adviser on the Ark are now in place.
- This is needed for us to test certain parts of the UI; the other Chief Advisers will be voiceless for a few more weeks.
- His voice doesn't actually show up in the game, yet, though, either. Next build!
- Voice by David Allan, who should be quite familiar to anyone watching much of the BBC in the last few decades.
- Bombers now have their voice cues in place, voiced by Brendan Reilly.
- AOE ships now have their voice cues in place, voiced by Megumi Kabe.
- Slightly tweaked the "Simple" map type to make its layout non-homogenous
GUI Work
- Fixed a longstanding bug where most buttons were not making the appropriate click sounds for a successful click, or buzz sounds for a failed one.
- Added a new way to have entire custom GUIs designed in unity's WYSIWYG editor and then embedded into our normal GUI system via the existing xml and wired up via the existing external-dll logic.
- The other way of creating GUIs is still there and just as viable and will not be going away, but for those with the unity editor this is a much faster and more accurate way to implement GUI designs.
- Got the new Exo 2 font in place, which was the most popular font chosen by our polls of players. Also added in a font called Lato, which will be used for long-form narrative-style descriptions, since that's a good complement to Exo 2, as suggested by Google actually.
- In the game when xml is taking input for floating point numbers, or lists of floating point numbers, it now supports the + and - operators for VERY simple arithmetic.
- This can make for some easier-to-read-and-update xml definitions for things like window element offsets.
- Thanks to Badger for implementing this!
- On the main menu, it now shows what Steam user you are logged in as, and logs you into Steam even if you don't launch the game directly from the Steam client.
- You can, of course, still run this without Steam!
- On the main menu, there are now external links to the wiki, the forum, and our mailing list, along with a tooltip explanation of what the deal is with the mailing list.
- The at-mouse tooltips now use a much darker and more opaque background for easier reading, and uses the Lato font instead of Regalia or Michroma, which again aids readability quite a bit.
- Also fixed a bug in the at-mouse tooltips that made the wrapping freak out if there was rich-text markup included in the text to show.
- There is now a freeform release_date_text field on our Gameversions table, which lets us specify the date of each release, which in turn now shows on the main menu to give you an idea of when the last release was.
- The credits window has been implemented, with all of the non-backer credits in there (the backer credits will be added later, since we keep getting new ones via backerkit).
- This wasn't exactly a high-priority screen, but it allowed us to test out a variety of features in a fairly simple way, including setting up scrolling areas in a non-insane way.
- We also got it set up so that it's faster for us to test new gui pieces in general, and some of our "this is how you messed up" error messaging for gui design to be a bit clearer.
- And lastly, we also demonstrated a way of getting in the credits from our spreadsheet, simply by doing a copy-paste of two different columns to create or update the values you see on the left. Efficiency!
- Old player profiles, which were basically invisible under the hood anyway, are now invalidated.
- Note that if you had an interim copy of 0.710, it will throw an error the first time you run it saying it couldn't parse the old profile. Just click ignore, and the error will not recur. This should not affect anyone outside the dev team, but just in case.
- The player profiles now include a main and trim color (you'll be able to set both for ships!).
- Player profiles also now allow for random strings associated with string keys to be put into them; this is useful for our Ark and Chief Adviser selections, but also for anything other people want to mod into profiles at a later date.
- Chief Advisers and Arks now have data definitions under the hood, in preparation for using them on the profile screen.
- Completely redid the internals of how savegames log their metadata and their campaign names.
- The metadata is no longer encoded in the filename of the savegame, but instead goes into a new .savemeta file. This fixes a number of bugs across platforms.
- The campaign name is no longer something you can specify on the savegame menu. Instead, it is something that you define during the initial game start lobby setup phase.
- Campaigns themselves now get their own folders in the file system.
- Note that if you use your file manager to move campaigns between folders, then re-save over top of the savegame, it will change the campaign name internally, which is handy if you need to fork a campaign for some reason.
- Also moved a lot of the actual saving metadata and mechanics logic out to the external open source project, using some new xml-based dll method lookups in our ArcenUniversal project.
- Savegames can once again have spaces inside them, and campaigns can now have spaces in them for the first time.
- The game now only has one "canvas to copy" instead of a second one that is higher for tooltips, and now there is an optional canvas_z_offset for windows that lets you get the same effect, only more flexibly.
- Anything above 0 will make the canvas show above all other canvases that are still at 0 (the default).
- Anything too high will start making the calculations for positions drift, though. The default offset for the at-mouse tooltips, which are supposed to be above EVERYTHING, is canvas_z_offset="0.01", although even that frankly may not be needed, because...
- Canvases in the unity UI are drawn in the order they exist in the hierarchy. This is handy, except in our case we are adding our canvases willy-nilly ordered based on their parse order in xml. That's something we can control when there's only a single xml file, but as people mod in more... not so much.
- There is now a required canvas_sort_order that takes an integer, and which allows you to specify the order-spectrum that things should be in.
- Most of the time you don't need to worry about window overlap, because windows aren't shown at the same time. So for that class of window, those just have canvas_sort_order="100".
- We're taking the old BASIC-programming style of "line numbers with gaps in them" approach so that we can add in interstitial values as needed later.
- Therefore, for anything that should draw below everything else, right now we're using 50 for that.
- For anything that is a basic "window that pops up over other windows, just for a while, or is the sidebar", we're using 200.
- For "standard tooltips" like the ones when hovering over planets and entities, we're using 500.
- For "things that should show up really high as kind of overlays" (like "game is paused"), we're using 1000.
- For the "debug info" and the error report popup, we're using 1100.
- For any sort of "modal" popups, we'd likely use 1150.
- For the at-mouse tooltip, we're using 1200, although the fact that that has a canvas_z_offset > 0 means that technically this could be set to 0 and it would still be drawing above everything else. canvas_z_offset beats canvas_sort_order in sort-paper-scissors.
- Implemented a new system for a queue of modal popups that can be of the ok or of the yes/no variety.
- This can be called in a threadsafe manner from anywhere in the code simply by calling ModalPopupData.CreateAndLogOKStyle or ModalPopupData.CreateAndLogYesNoStyle.
- The ModalClickHandler parameters on this are free to be null.
- This can be called in a threadsafe manner from anywhere in the code simply by calling ModalPopupData.CreateAndLogOKStyle or ModalPopupData.CreateAndLogYesNoStyle.
- Now on the game start screen, it no longer fills in a default campaign name for you. Instead it simply gives you a modal popup saying "you need to fill one in" when you try to click the start game button if that field is blank.
- Our new modal dialogue capabilities are now being used to have a confirmation popup for the scrap units command (via keyboard shortcut or via the interface, either way). No more accidental murders!
- The visuals for the game and arcen logos on the main menu have been tweaked again. Less gaudy, more sophisticated and subtle.
- When you (manually only -- not autosave) save the game, or load a game, it now remembers which one you saved/loaded most recently.
- In the Single Player portion of the new main menu design, there is a Continue Game button that appears only if such a thing has previously been remembered, and the tooltip over that shows you what the campaign and savegame name is.
- The "background story" button on the main menu now takes you to a document that is white-background and black text, which is quite unlike the formatting of everything else in the game.
- This contains the information in a story-ish format about the main characters in the game, including 11 of the 24 voiced' characters.
- This wasn't exactly crucial to do right at this point, but it was quick and also let us test having white-background stuff. Right now it is pretty darn ugly-feeling, but for anything that is more wiki-like that we want to start including in the game for an in-game encyclopedia or tutorial style of work, we'd like to see a light theme for those pages that a) makes it clear this is wiki-style versus something for actually altering data; and b) reads and feels more like a wiki, given those are black text white background.
- Once we get Blue in to work on these pages, she can assumedly do something to help us make it look like these are not just a random white panel, but instead are actually a little encyclopedia machine or something of that nature. We'll see what we see.
- If a gui prefab is missing from the local copy of your game, the game is no longer unrunnable. Although, whatever screens the gui prefab is used on will be unusable.
Mark Level Upgrade System Overhaul
- For fleet ships, starships, and turrets, ship caps are now shared across all marks of a ship type, and are cumulative.
- So you start with a cap of 10 Mark 1 Fighter squads, and unlocking Mark 2 Fighters results in a cap of 20 Fighter squads (regardless of mark).
- Any of your units that can normally replace lost ships within a squad (Ark, Controller, Space Dock, Flagship, etc) will now automatically upgrade your fleet ships, starships, and turrets when you unlock a higher-mark version.
- It does cost metal and take a little time, like replacing ships within a squad, but it's pretty quick as long as you don't bottom-out on metal.
- To put this more plainly, your ships of a given type (fighter, for instance) are now the same mark, rather than a mix of marks.
- This allows us to simplify the construction interface, which was otherwise overwhelming (although the current interface is not yet updated to reflect our plans here).
- This does NOT reduce the population caps at all, as noted above, but instead of having x number of marks 1, 2, and 3 ships all mashed together for fighters, you'd now have that same x number of just mark 3 fighters. Your bombers might still be mark 1 or 2, though, and your missile corvettes might be mark iv.
- This also allows us to make some other changes, noted below, which we think you'll find exciting (and which can further bolster your ship counts, incidentally, compared to before).
- Experimental Fabricator:
- Renamed to Experimental Lab
- Is no longer a constructor in its own right
- Now instead of granting Mark 5 of a normal fleet ship type, it grants an experimental variant fleet ship type based on the mark 4 version of a normal fleet ship type.
- Advanced Factory:
- Renamed to Advanced Coordination Facility
- Is no longer a constructor in its own right, though it can repair/upgrade units.
- Now instead of granting Mark 4 of any fleet ship you have Mark 3 of, it increases your fleet ship caps by 20% (_does_ stack if you control both).
- Your normal research for fleet ships, starships, and turrets can now go up to Mark 4 (instead of Mark 3).
- Advanced Starship Constructors and Experimental Turret Controllers are no longer seeded.
- Experimental Labs may be extended to offer experimental variants of Starships and/or Turrets, and perhaps there will be a capturable that increases turret caps by 20%, etc. We'll see how the current changes work out before considering those.
- The tech science costs have all been reworked to reflect the total strength available at each mark level.
- Turrets have been made cheaper to be more attractive choices.
- Shield-projecting units have been made more expensive to reflect their high utility.
- Metal costs have been adjusted in light of not being able to build a "cheaper mark" after unlocking the higher one. The costs increase, but not so much that upgrading 1 mark level is going to nuke your econ.
- Fuel and Power costs no longer go up with mark level (previously Mk2+ was double Mk1).
Turret Reorganization / Rebalance
- Renamed the Tractor Turret to the Tractor Array, since it was the only "Turret that doesn't shoot stuff". It's now more in place among the shield generators, gravity generators, etc of the Defense Tab.
- Fortresses, Minefields, and Beam Cannons are no longer buildable, for now, as they were out of place amongst the shield generators, gravity generators, etc. Will add them back when we figure out what to do with them.
- Moved the Tachyon Array to the Defense Tab.
- Everything on the Turrets tab now costs power again, but their caps are now galaxy-wide instead of per-planet, so there's still some point to unlocking more of them.
- The stuff on the Defense tab (Shield Generators, Tractor Arrays, Tachyon Arrays, Gravity Generators) is still per-planet cap, as are things like Space Docks.
- The player now starts with Mk1 Needler Turrets already unlocked.
- And mapgen automatically places them around the wormholes on your starting planet.
- We may not keep this behavior, but it seems a helpfully ham-handed hint that "you'll need turrets in this game!" since that appears to have not been adequately clear.
- And mapgen automatically places them around the wormholes on your starting planet.
Ark v. Flagship Role Reorganization
- Now when your Ark is on an AI planet, you get an angry-looking warning message and the AI devotes most of its budget to the Hunter Fleet, which will build up and come make you want to go back home.
- So you can get away with it for short periods of time, hacking is still possible, and pulling the AI's budget away from other things may actually be helpful, but you'll generally want to keep your Ark in a reasonably safe location.
- The Ark's health has been halved.
- All Flagship types except the Shield Starship have been doubled in strength, and have had their strength shifted much more towards tankiness.
- The goal is for these to actually survive serious battles without you having to reclaim it afterward.
Rock-Paper-Scissors Mechanic Rebalance
- The GameEntityReferenceData export, that gets put in PlayerData/ when the game starts, has been expanded to include a lot of basic balance data.
- Weapons hitting defenses they don't counter now do 1/10th the damage they would otherwise, instead of 1/4.
- Among other things, this mean that it's much easier to shrug off sniper fire if you keep your Structure units under friendly shields.
AI De-annoyification and Tuning
- The percentage of the AI's total budget that goes towards the Warden fleet has been roughly halved, in favor of waves (and somewhat of reinforcements).
- The power of focused gravity generators has been roughly halved.
- And the mechanic itself now reduces speed by up to 80% instead of up to 95% or so (due to rounding precision, 95% or so sometimes translated to "stopped").
- And the AI now uses them about 30% as often as it used to, though with the changes to how it picks turrets (see below) it can still wind up with multiples on a planet. It's just a lot less common.
- Each AI planet now picks three guardian types from those eligible; and when actually spawning guardians from the reinforcement budget it will pick the first ~58% of the time, the second ~28% of the time, and the second ~14% of the time
- It does something similar with turrets and fleet ships, though there are other sources of fleet ships that could show up.
- If new guardians/fleet-ships/turrets become eligible, it will re-pick types for new reinforcements (the existing units are not affected by this).
Version 0.710 Reducing The GUI To Jelly
(Released March 3rd, 2018)
- New Ship Visuals
- Regenerator Golem new visuals, prefab, LODs and derelict version.
- Zenith Trader new visuals, prefab and LODs.
- Tweaked the size_scale for the Golems to be more accurate.
- Botnet Golem new visuals, prefab, LODs and Derelict version.
- EMP Guardian new visuals, prefab and LODs.
- Flak Guardian new visuals, prefab and LODs.
- Heavy Beam Guardian new visuals, prefab and LODs.
- MLRS Guardian new visuals, prefab and LODs.
- Implosion Guardian new visuals, prefab and LODs.
- Lightning Guardian new visuals, prefab and LODs.
- Needler Guardian new visuals, prefab and LODs.
- Plasma Guardian new visuals, prefab and LODs.
- Shield Guardian new visuals, prefab and LODs.
- Stealth Guardian new visuals, prefab and LODs.
- Widow Guardian new visuals, prefab and LODs.
- Implosion Guardian Drone new visuals, prefab and LODs.
- Shredder Guardian Drone new visuals, prefab and LODs.
- Teuthida Guardian Drone new visuals, prefab and LODs.
- Carrier Guardian new visuals, prefab and LODs.
- AI Controller new visuals, prefab and LODs.
- Updated Flak Guardian material to the newer version from Blue.
- Integrated Tachyon Array turret.
- Integrated Hunter Killer drone.
- Tweaked all turret formations to be more spaced out.
- Starship Constructor new visuals, prefab and LODs.
- Fixed that incredibly annoying flicker on the lower text around planets in the galaxy map view.
- Finally properly fixed the at-mouse tooltip's background not properly expanding when there were empty lines of spacing in the tooltip.
- Fixed a bug that was commonly causing very odd and unexpected scrolling in a variety of windows, such as on the scrollbar in settings.
- The game now properly detects when a textbox is selected for being typed in, and halts all other normal button input that would happen during that time.
Balance
- When seeding Golems, ARS, Data Centers and Nasty Planets, take the AI difficulty into account. This should help make Easier games actually easier and Harder games actually harder.
- Add new Human Resistance Fighters special faction. This affects gameplay similarly to the Human Resistance Fighters in AIWC. Sometimes in a close battle these human-allied ships will warp in to help out. At the conclusion of the battle they will warp out again. Enabling this will make the game easier (there are no downsides). The HRF will only help a given planet every so often, and it won't always help at all.
GUI Screen Scaling Overhaul
- The entire system for how GUI windows are sized, and how they are drawn to the camera, has been redone.
- The actual language for creating the GUI, and all the pieces of the GUI logic themselves, are untouched -- that was really good.
- But the logic for how the GUI responded to screen scale shifts, and how it handled shifts to the desired gui scale stated by the settings, left a lot to be desired.
- This fixes a variety of bugs, but also meant that we had to touch literally every window and translate them into some new coordinate spaces. So some things might look a little strange size-wise if we didn't get something quite right. This will be resolved soon, as we're redoing all the GUI screens anyway. This was just a needed first step prior to the real rework based on the extensive new designs being created by Eric in consultation with us and the GUI focus group.
- This will also let us put 3D elements over the GUI, which was not previously possible. We can either do this with further camera layering, or inside the GUI camera itself. If done in overlay cameras, tooltips and dropdowns and so forth won't draw over the 3D objects properly.
- The downside of using the same camera that the gui is drawn in, unfortunately, is that we're using orthographic projection with the gui camera in order to make that at all sane to work with. We tried a lot of things with 40 degree field of view (low distortion) camera math, but never could get that working out properly in all aspect ratios and scales.
- Fixed a bug where if you changed screen resolutions while on a window, that window would disappear and you'd be stuck.
- Fixed an issue where tooltips had extra space at the end of themselves.
- Added the ability for us to have controller-less elements in the gui, which is useful for images that never scale or have other logic, such as window backgrounds.
- Added a general window background that we can use behind various screens for now. This will obviously get fancier in the future, but for now it aids readability on the following screens:
- Error display, multiplayer client connection windows, multiplayer server connection status window, settings window, load and save windows.
- Updated a variety of method names to be more clear in the GUI section which ones can be called from any thread, and which ones are coming from the main thread only.
- Added new code that allows us to automatically have the height of a text expanse size to its contents.
- Added a new BasicTextUnderlay that uses this in order to have a background that goes with the text, and in this case using it for the "ongoing message display" to have it no longer be background-less.
- This makes the tutorial text way easier to read, as one example. Also made the tutorial text window narrower but taller, to take up less of the screen.
- The right-hand sidebar is now way more readable in terms of its text and how it organizes its headers. Especially at smaller screen resolutions or window sizes.
- It's worth noting that something is a bit strange with the build queue policy menus in terms of how tall the button is on the global one, and how high the header is on both it and the per-control-group one, but these are minor cosmetic issues that will be solved as the GUI transitions into a new format, anyway.
- The behavior with the global menu when you hit escape and how it handles which window is open at any given time is also a bit funky right now, but will also be obsolete later. For the moment it doesn't seem to be a new issue, anyhow.
- Aligning a window above another group of windows based on BeforeRelated with multiple windows seems to be buggy right now, so will need to be fixed later.
- There are now two different textbox styles; one that selects all the text in it when you click it (used on the find planet screen), and another that does not (used on the savegame screen and most others).
- Caveat to overhaul: the game setup window's factions tab currently doesn't let you add more than 2 special factions.
Version 0.709 Hotfix
(Released February 25th, 2018)
- New Ship Visuals
- MLRS Corvette new visuals, formation, prefab and LODs.
- Cursed Golem new visuals, prefab, LODs and derelict version.
- Hive Golem new visuals, prefab, LODs and derelict version.
- Dire Teuthida Guardian new visuals, prefab and LODs.
- Fixed a regression introduced in the prior version of the game that caused squads to get... visually confused. Sometimes having forcefields, sometimes mixing ship types inside a squad, etc.
- This seems to be a bug with our pooling behavior for squads, and may recur if more than 6000 squads are ever on one planet at the same time. However, that's unlikely, and by the time that's becoming more likely we're going to not be using this particular pooling code anyway; that code will be deprecated within the month as we move to DrawMeshInstanced instead. The actual root problem here is darn mysterious at the moment, though.
- Fixed an unreported bug where if you had fewer than 6000 squads on a planet, you'd see phantom gimbals near the planet center, real small.
- As a bonus from this, also improved the efficiency of the gimbal enabling/disabling pretty notably. Not that it was grandly slow before, but hey efficiency.
Version 0.708 Activating Mk3 Grinding Machine
(Released February 24th, 2018)
- All of the icons for the Spire ships and structures are now completed and in place. We only needed the one for the Frigate for now, but figured we'd get them all knocked out at once.
- Updated Ship Visuals
- Grenade Launcher new formation, prefab and LODs.
- Lightning Corvette new formation, prefab and LODs.
- Missile Corvette new visuals, formation, prefab and LODs.
- Sentinel Frigate new visuals, formation, prefab and LODs.
- Vampire Claw new visuals, formation, prefab and LODs.
- Vorticular Cutlass new visuals, formation, prefab and LODs.
- Armored Golem and Artillery Golem Derelict variants added.
- Etherjet Tractor new visuals, formation, prefab and LODs.
- Dire Magnifier Guardian mesh and materials, LODs, and integrated.
- Dire Shredder Guardian mesh and materials, LODs, and integrated.
- Tweaked the icon vertical positions for the alarm post, armored golem, artillery golem, attrition emitter, black hole machine, raid engine, troop accelerator, and warp gate.
- The "text for ants" issue should be fixed now, but with the game also honoring the GUI scale for text.
- There is an issue with text overlapping the mark level improperly on the build and tech buttons, but that's a separate issue to deal with that isn't really related to the text logic.
- Thanks to etheric42 and BadgerBadger for reporting.
- The voice lines for all of the First Officers, Vice-Admirals, and Brigadier Generals are all now recorded.
- There are still some lines left to record for the Watch Commander and Science Officer, but that's it. The bulk of the lines for the Watch Commander, and all of the lines for the Engineering Chief are already recorded.
- There will also be new lines needed for the Former Admiral of the Fleet, but again that's separate.
- These are not yet integrated into the game, but that's coming soon.
- Character portraits have now been rendered for the 8 possible first officers, and the science officer, and the engineering chief, and the watch commander.
- These are not yet integrated into the game, but that's coming soon.
- The Mark Level roman numerals for gimbals have been completely redone in a new format that is much higher-resolution, and which is also a lot clearer for special cases like the ship being off, in FRD mode, in guard mode, in attack-move mode, and in guard mode.
- These are much higher-resolution and therefore still look great when you zoom in on them, too.
- The unity-style icons for mark levels have been removed. They were really noticeably lower-resolution than the text around them, particularly on large monitors, and there was no reason for that. Now the game consistently uses colored roman numerals in the text itself, which is nice and crisp.
- On the build and tech menus, the mark level numerals have moved over to the bottom center, which makes it so they don't ever get badly-overlapped by the available ship count anymore.
- These are also now colored by mark level, as on the galaxy map and as in the first game, which makes it FAR easier to read these menus in terms of what is available at what mark level, and what all the little icons are about.
- The main gimbal icons in the midst of the battlefield also now have their numerals colored by mark level in order to match the usage of the mark levels elsewhere.
- Previously we were using those colors to denote what ships were doing, but now that's a small bit of icon at the bottom of the mark level numeral instead. In the first game it was the border around the ship icon, but we're not going there with it in this game.
- At any rate, the fact that the numerals are now colored in the main battle view gives a _tremendous_ amount of clarity, more than we even expected, about what forces on the battlefield are like.
- We're still not showing that on the sidebar at present, which is debatable as a policy, but so far that's what it is.
- Now, when a ship is under construction it is really easy to see on the gimbal icon's mark level indicator. It has a big panel on it that says "BUILD" if you zoom in enough to see it, or otherwise just is very eye-catching in a helpful way if you're zoomed much further out.
- This is the same as how things like OFF work on them, for ships that are destroyed or disabled (very helpful for checking turret statuses more easily).
- Thanks to Bummeri for reporting.
- The numeric text on the build buttons and the tech buttons was getting extremely tiny, unreadably so.
- This was primarily because the prefabs were set to have an anchor type of stretch. When combined with the manual text sizing we do, it led to very unhelpful results. Basically text in prefabs in this game should never be set to stretch on any axis.
- The other reason this was strange, in this particular case, was that for some reason the code was directly setting the font size to something that comes out really small. Whoops.
- Updated the build menu buttons in the bottom-left of the screen. They're still pretty gross and hard to read, and way too cluttered, but you can now see a bit better what your construction options are. It's a little more informative, anyway, but it's going to take an Eric pass before we really have any great progress down there, most likely.
- Previously, font sizes that were assigned into text in the game were always being rounded to integers. This was hugely detrimental for when we're talking about smooth scaling of the GUI, etc. Now it's always floating-point based.
- Fixed the issue with text being different sizes on different screen resolutions.
- This, however, has in turn led to widespread chaos throughout the GUI with things being sized inconsistently, so we're going to be working on tidying that up, of course. The good news is that we're revamping the entire GUI anyway, so for now as long as it's legible it doesn't matter if the sizing is strange. If there are legibility issues please let us know, but otherwise we're going to leave it for the time being and hit it as we punch through each section of the code.
- There are two overall methods that text can be drawn now: CalculateSizingBasedOnScreenSize ON (default), or CalculateSizingBasedOnScreenSize (for tooltips right now, but eventually probably for nothing... maybe).
- The premise of CalculateSizingBasedOnScreenSize ON is as follows:
- First, remember the height of the parent control of the text that will be drawn. How tall is the button that contains me, etc. Or if I'm a lonely bit of text being shown somewhere on the screen without a parent -- in my prefab, notably, so that would still include text that is shown on a panel somewhere -- then it keeps track of the original size of itself. This latter part may need to change in the future.
- Secondly, every half second or so it looks at the current height of the parent-or-self-as-described-above compared to the original height, and if there's any difference, then it multiplies itself by current / original.
- This has a wide variety of benefits, mainly centered around the fact that there are a variety of ways that parent buttons and whatnot get scaled, and so being able to scale based on their logic implicitly by checking their size means that things like the build buttons are now super-duper consistent.
- The downside is for code-assembled panels where text is just put in there however. Aka, the parent panel or button or whatnot is not part of a prefab. There we have nothing to go on for the height change, so the results tend to be that the text gets a bit funky. With an increasing reliance on build-button-style handmade custom prefabs in the future, this issue will progressively disappear.
- The other downside is relating to things like "basic buttons" that get rescaled not just by the screen size, but also by code saying "hey, I want a little basic button this time." This applies to things like the buttons on the save/load screen, or the looping buttons on the build menu. In those cases, the text winds up being much larger or smaller, respectively, than expected.
- The reason for this is that the "initial size after code setup" is actually twice or half that of what the prefab defined.
- We might be able to automate a fix for that, but it's likely to cause more problems than it solves. A better solution will be just either more hand-crafted custom buttons/panels/etc, or simply using the existing xml tags to double the font size of anything you use half height on, and vice-versa, and all the fractions therein. That's a pain, but works, and is very efficient as well as accurate across all screen resolutions.
- The premise of CalculateSizingBasedOnScreenSize OFF is basically what we had before:
- Calculate ( currentScreenHeight / 720f ) and multiply that by the desired font size. Boom. Crude, but works in cases where there's no better gauge.
- Fixed the longstanding issue with the selected textboxes having their borders "smeared" if they were sized up at all.
- Note: text elements, buttons included, without a font_size defined presently get nutsy large after a resize of the screen.
- We'll fix that later, but for now all of the text elements hsould have font_size defined in such a way where that doesn't happen. If you see any, please let us know.
- Textbox text is currently still using the old style of sizing, because our logic for the new kind wasn't working out with them yet and we didn't have time to fully debug it yet.
Classic Music Makes An Exciting Return
- Out of the 76 tracks that AI War Classic (including all of the expansions) had, 54 of them have now been added to the new game for during-gameplay listening.
- These 54 tracks total 4 hours and 26 minutes total in time!
- This isn't the "real" soundtrack to the new game, and the mastering and instrumentation on these tracks is often not up to par with what the new soundtrack will be.
- However, given the extra time it takes to do a serious reorchestration and remastering of old tracks, and given that we're only doing a handful of those for the new game (along with the brand-new tracks), it made sense to pull these forward since a lot of people have such fond memories of these ones.
- As we pulled these over, we did some light mastering and multiband compression on them in order to bring out the subtleties of these tracks in a way you've never heard, particularly if you don't have a studio-grade music setup (home theater grade wouldn't even cut it).
- This freshens up the tracks and should let you hear them in a fidelity you've never heard before, but it also isn't compatible with quite all of the tracks. That's one reason that 22 of the Classic tracks were omitted; typically those wound up having sounds that were too "bright" or grating when brought up to an appropriate mastering level, indicating they'd need a lot more work to be brought over.
- The other reason we didn't pull over some of the tracks was because of the general mixing quality being low on a few of them, or the virtual instrument patches sounding dated or painful by modern standards. Didn't want any of those contentious tracks in place here, even though the underlying composition was good or great.
- Anyhow, you can thank Badger for suggesting this; it should be a very pleasant addition to the game even after the real soundtrack is in, although we'll have an option for you to disable the Classic soundtrack tracks if you so desire.
- The setting for being able to disable the music from the classic version of the game is now in, in case you prefer just hearing the new tracks. Be warned that right now that's only 3 tracks, though.
- The rest of the new-game tracks are expected to arrive a little after March 31st.
Version 0.707 Activating Mk2 Grinding Machine
(Released February 17th, 2018)
- New Ship Visuals
- ArmoredGolem mesh and materials, LODs, and integrated.
- ArtilleryGolem mesh and materials, LODs, and integrated.
- New Formations
- AutocannonMinipod new formation,prefab and LODs.
- Eyebot new formation, prefab and LODs.
- Bomber new formation, prefab and LODs.
- Raider new formation, prefab and LODs.
- Raptor new formation, prefab and LODs.
- Spider new formation, prefab and LODs.
- Armorship new formation, prefab and LODs.
- Infiltrator new formation, prefab and LODs.
- Sniper new formation, prefab and LODs.
- Space Plane new formation, prefab and LODs.
- Space Tank new formation, prefab and LODs.
- When the Sim layer wants a squad to die it now tells the Vis layer "Please kill this squad at your leisure" instead of "Make this squad disappear right now." This fixes a bug where sometimes a squad would just vanish instead of exploding properly.
- The "Attack" section of the resource bar now will show which planets are under attack and how strong the attack is when hovered over, just like AIWC
- When choosing where to place a Shield Generator, draw a circle around it to show the radius of the Shield. This way you can figure out whether the shield generator covers the structures you want it to.
- Since the main menu logos bugged so many people in the GUI focus group, but Chris liked the effect of them being metallic instead of 2D, we figured we'd start with a compromise and see how people react in the next version: https://youtu.be/YwhpRBkuFJs
- Updated the game so that we're now able to draw wireframe circles with greater precision than before, if we wish.
- We can now draw them not just with 48 vertices, but also with 90, 180, or 360 vertices.
- Turned down the temporal filtering on our bloom effect on the main menu, to remove smudging. Also removed the chromatic aberration, since some people were not reacting all that favorably to it.
- If you are holding down Ctrl (or whatever button is configured to send you through wormholes on left-click), then the wormhole names now pop forward above everything else for you to view them.
- As part of this, there's new code demonstrating that any unity GameObject that is set to have its layer as 24 will now be drawn by a new overlay camera that is higher than everything but the GUI.
- All of the "voice work" (ha) is now in place for the Zenith and Spire races. They have pretty freaky sound effects that are a mixture of organic and mechanical in nature. Special thanks to Sinematic and Bluezone for the base effects used in these.
- Dead turrets do not contribute to the Strength Count for the sidebar anymore
- Added some protection against null exceptions, and more detailed logging for them, in the sidebar drawing code.
- Fixed some discrepancies in how text was scaled (based on resolution and/or the ui-scale setting) compared to other UI elements.
- Fixed a bug in the "make the tooltip always be on top logic" where some code could modify unity-engine state from off the main thread. Unity gets very grumpy when we do that.
- Split out unit-on-death logic into "first death" and "any death", since things like controllers can die and be reclaimed several times during the game.
- AIP-on-death and such goes in the first-death logic.
- Most other stuff goes in any-death logic. For instance, the checks for taunts/messages when certain things die.
Balance
- The Warden fleet has been hit with the nerf bat again. Being outnumbered 3 to 1 in most battles isn't much fun.
- Added a new AI Type, "Tsunami" that spends most of its resources sending Waves at you
- Added a new very-minor faction called "The Lost Spire Frigate," which gives you a way to find and capture a spire frigate for your own use like you would a zenith golem. The spire frigates are the smallest and weakest of the spire faction ships, but are still quite formidable. The main body of spire ships in a real spire faction won't be coming until after 1.0, so this is a nice preview. And in the long run, it's still a fun little way to get an extra spire ship when desired without having to enable all the other larger and more complex spire bits.
- Ships that have taken "cloaking damage" from firing are now subject to the normal delay before they can regenerate any cloaking points.
- They also take cloaking damage proportional to their max cloak, not their current (that makes sense when there's an enemy tachyon to reveal them, but it's too harsh if there's no such).
- AOE shots like the plasma torpedo now travel to their target's last location, if the target is destroyed while the shot is midflight.
- The AOE shot will thus be more likely to detonate in a useful location, though it's still possible to "miss" this way.
- Plasma torpedoes no longer do full damage to up to 10 targets in range; instead they do full damage spread over all targets in range. The spread isn't necessarily even, but it makes a decent effort to distribute the hurt.
- This removes their ability to punch huge holes in very dense formations, but maintains their ability to (for example) melt unprotected missile corvettes in alarming quantities.
Bottom-Left Menu Revisions
- The button that opens it has been removed, and now it's always visible.
- The button used to display the name of the current part of the menu shown, but that name's now displayed above the menu.
- Instead of one "base" menu when you have a selection, and another when you don't, those have been combined into a smaller set.
- Some functions have been shuffled to a sub-menu ("Special Commands").
- Others have been removed because they're much better off handled by the keyboard (and maybe some small top-level buttons when we get to redoing the ingame UI) :
- Selecting a control group
- Assigning the current selection to a control group
- Toggle FRD
- Free Look
- And the Objectives button has been removed as it wasn't very useful. Can be revived later if a workable design arises.
- The backquote (`) and 0 keys no longer have the special meaning of closing the entire bottom-left menu or opening the base layer.
- Instead of responding to the 1-9 keys, these buttons now respond to the F1-F9 keys (F10-F12 are theoretically supported, but the menus are set up to cap at 9 buttons).
- The open-console keybind has been changed from F3 to Ctrl+F3 (though that might be changed to something further from Ctrl+F4).
- 1-9 now always refer to their corresponding control groups, regardless of the state of the bottom-left menu.
- And 0 now refers to a 10th control group.
- The sub menus now draw in different colors depending on your "depth", so it's clear when you switch menus that something has changed about that menu.
Version 0.706 Activating Mk2 Grinding Machine (Part 1)
(Released February 10th, 2018)
- Updated the visuals for the AI Warp Gate to now be consistent with the new (and final) wormhole graphics used in the game, as well as being in the new PBR style in general for the gate part of it.
- New graphics have been added for the Dyson Sphere warp gate, so that it looks like it also belongs with the other wormholes and the AI Warp Gate, but just... much more Dyson.
- Now that the dyson sphere is actually the background planet at which you are located (as it should be), we have the dyson sphere warp gate more locally at the planet. The description of that was still acting like it was describing the dyson sphere itself, and was referring to the "local planet," where actually there's no planet this time, just a star. This gets confusing fast. At any rate, the description of the dyson sphere warp gate has been updated to hopefully be more clear without introducing nomenclature issues for new players.
- The background planets now all rotate at 1/3 the speed they previously did, since it was a bit on the dizzying side before.
- Thanks to Cyborg for suggesting.
- The Dyson Sphere now also rotates in the background, like other planets.
- The next (smallish) batch of voice acting is now in. The fighter squadron leader now has a voice, by voiceofsr, and responds to your attack and move orders. He's a bit on the the cocky side, but not annoyingly so.
- The voice work for attack and move orders is now always delayed by about half a second, and the underlying beep is always played prior to that, so that there's a consistent nonverbal style of attack or move order sound always played, which helps provide a foundation for understanding at an... ear-glance... what is happening.
- This also allows us to do voice move orders for the wormholes, which previously we were not doing.
- Fixed an issue where the voice command items were not respecting the disable voice setting in options.
- Quiet unnecessary audio effects from minor factions
- Off-planet combat audio now only triggers when you have vision of that planet (so when the Devourer is destroying Far-Flung planets you won't hear about it).
- Fix a bug in the Nanocaust and Dyson factions that was causing Move Command noises to be played whenever they moved their ships around.
- Fixed a very longstanding bug where one of our random-picking algorithms (a random draw bag) returned the first item roughly twice as frequently as the other items. Now the distribution is effectively even.
- Fixed a bug where switching a lobby faction slot from (say) Devourer to Dyson caused a crash.
- Fixed a bug in the support-for-different-homeworlds-in-MP code that was causing the tutorial to crash on start.
- Fix a bug where sometimes a shot might use stale data for its ship Target. This would cause error messages and sometimes ships would fail to blow up visually.
- The overall method for detecting squad mouseover has been changed to now use radius on the plane of the playing field rather than collider checks.
- This improves the performance in one of our test savegames from having over 7.00ms of PhysX thrashing down to just 0.12ms of efficient vector math.
- The downside of this approach is the fact that we use cameras that are often at an angle, and so it's quite possible your cursor can visibly be "over" a ship in terms of being between your eyes and the ship, but since the ship is below the plane of play the red cursor is actually well off to the side somewhere.
- This mainly applies when you are VERY zoomed in, and have the camera tilted a lot, or when the ship is very large. So we'll be putting in some future work to deal with those cases. But for now the massive performance improvement is very very much worth it.
- Added protections against null exceptions when changing lobby faction settings rapidly.
- Vastly improved the RAM handling of the vis layer for squads and gimbals, and made it so that they are now reused cross-ship-type rather than being per-ship-type. There can now be up to 6000 squads on a single planet before there's any sort of extra hit to performance with new squads getting added (aka the time it takes to set up the new ships, that is). Before it was having that performance hit on every squad added including the first one.
- In the grand scheme this doesn't really change much performance-wise during runtime, but when a lot of ships appear at once, or you move to a planet with a lot of ships types you haven't yet seen during this execution of the game, then it prevents a notable pause that was happening there.
- Slowed down many shot types to make it easier to have "volleys" have more variation.
- Updated Visuals
- Updated Advanced Research Station visuals.
- Updated Coprocessor visuals.
- Updated Data Center visuals.
- Updated Design Template visuals.
- Updated Experimental Turret Controller visuals.
- Updated Ruined Network Node visuals.
Interface Improvements
- Reorganized the Settings menu to display Settings by Category instead of just showing all of them at once. It is actually usable now!
- Fix a bug where the "Show Mark Levels" setting was doing the opposite of what you requested.
- Selecting "Mobile Military" with "M" no longer also selects things like Fortresses
- The Ark will now always be considered the key unit of a control group it is part of.
- Fixed a longstanding very minor annoyance that nonetheless soured the experience somewhat: the little double-red-circle at the mouse cursor was jittery, previously. Now it's smooth as butter.
Balance
- Roughly halved the Warden population cap (which is based on the AI Sentinels' current budget, which is mostly based on AIP).
- The Warden fleet now won't camp less than 3 hops away from your territory, meaning it's got to cross at least one full planet to interfere if you attack a planet bordering you.
- On Warden Difficulty 6-9 it's allowed to camp one hop closer.
- On Warden Difficulty 10 it's allowed to camp adjacent to you.
- Wardens now avoid planets under the influence of hostile factions, not just the control.
- The Dyson can now decloak enemies on its planet.
- Fuel costs reduced by roughly 25%.
- Warp Gates and Design Backup Servers now die when the AI loses the planet's Controller.
- The Devourer now assiduously avoids pathing through a planet with a King unit (Ark or Master Controller), to limit the number of games it ends singlehandedly.
- Carrier Starship drones now self-attrition if their carrier is dead or not on the planet.
- Also fixed a bug where the drones could "forget" their AI and stop dead.
Subsquads and Intra-Squad Formations
- The individual-ship formations (those inside a squad, not the multi-squad formations) are now read out of xml in an FormationIntraSquad class type.
- This is replacing our old method of loading these formations from asset bundles, and makes it so that anyone can create formations without needing unity to do so. The aiw2squads asset bundle is now pointless and can be removed from future builds.
- The formations can still be set up using the old approach if desired, however. Then just attach the new SquadDataDumper component to the root transform of the old style squad, hit play in the AIWar2ModdingAndGUI project, and it will dump your xml results to the console log. This is not the preferred approach anymore, but it's there and is handy.
- The ability to have different formations per faction type was actually set up incorrectly previously. Fixed.
- The balance_ships_per_squad entry on individual ships has been removed. This was a bit inconsistently used, and was only being used for ships that had a cap of 1 ship per squad.
- Most things had already been moved over to the Granularity object, but not quite all; now everything has.
- As far as that goes, all of it is now handled on the Granularity object.
- Previously the total number of ships and the total number of squads per granularity were defined, which was confusing. That meant ships per squad had to be inferred.
- Now ships per squad and total squads are defined, and total ships is inferred instead. This also has the benefit of never resulting in bad divisions if the person creating the xml made a mistake.
- The Multi Needler Corvettes are now the first example of our new "subsquad rendering" approach that we'll be using for a number of the fleet ships.
- Rather than having a separate GameObject with all its attendant overhead for each ship, we're instead merging some of the ships into groups -- in this case, into two groups of three rather than five groups of one.
- This lets us save an enormous amout of overhead and makes the game run faster while drawing actually more ships than before.
- We're also combining this with an approach where we're having the ships (in the small squads at least) bob up and down to give them some more visual interest.
- But the really cool thing about this is that we're using colors baked into the vertices of each subsquad ship before we combined them so that they are at different offsets in their bobbing, actually making them look a lot more separate than they are.
- The main downside of this approach is that we can't blow up individual ships using this approach; just entire subsquads at a time. So we have to balance performance against that. The GOOD side of that, however, is that individual explosions are a lot more impressive, since more ships going up at once looks cooler anyway.
- In practice, you're unlikely to notice any difference except that explosions look cooler, there are more ships and they have better formations, and the performance is better. The Multi-Needler actually isn't really a stellar example of this, since we only get a savings of 60%. In other cases we'll be able to save up to 80% or more if we want. Even so, the performance improvement is really notable in one of our test cases that was spamming hundreds of multi-needler squads.
- Also the Multi Needler Corvettes have been repainted in the new style, and have their LODs and whatnot updated. They also use an actual intra-squad formation that looks nice, as well as having the proper squad hover radius.
- The Fighter now has been combined into 4 subsquads of 5 ships each in a squad, rather than one squad of 20 raw ships. Its formations have also been set up to look better, although it's still pretty ragtag by design with these.
- Not only does this lead to a better performance profile per-ship, but also this lets us do LODs for the vertices of the combined subsquads, which is a secondary benefit we hadn't even thought of before. So this now saves on vertices as well as the culling, batching, and so forth logic.
- Fighters now use different formations, and indeed different subsquad-models, for humans and the nanocaust compared to the AI. This is more a matter of proving out we can do this and providing an example test case, but fighters are of course also something that are much more common than a lot of other ship types.
- The AI fighters remain kind of skewed to the side and in an aggressive wedge. The humans are in more of a downward-sloping diamond. The nanocaust are in kind of a skewed strange diamond that's fitting with their corrupted nature.
- Laser Gatlings are now the third ship type to use subsquads. Rather than 40 individual ships (slooow), there are now 42 ships shown in 6 subsquads (that's 2 extra ships for a savings of more than 85% in terms of performance.
- This was all done as part of a video for Pepisolo and Goldenwolf, available here: https://youtu.be/gvg7iAIQln8
Version 0.705 Hotfix
(Released February 3rd, 2018)
- Continued incremental progress on Game Lobby tooltips
- The Nanocaust can now have its intensity set in the Game Lobby. This will cause the Nanocaust to Frenzy more or less frequently
- Tweak some settings to be more readable (DisableSound is now "Sound", for example, because negative options are confusing)
AI Refinement
- Fixed a bug in the AI retreat code where the "prefer closer wormholes" logic did way more work than was really necessary, which contributed to slowdown on the long term planning threads.
- Fixed a bug in the AI retreat code where the "prefer wormholes to planets that won't murder me" logic ignored the strength of the retreating force itself (so everything looked super scary unless there was an AI force already there).
- Fixed a bug in the AI Overrun logic where it wouldn't leave enough behind to efficiently deal with any non-military units (controller, resource points).
- Fixed a bug where AI Guardians could be "partially freed", and showed as threat but were still could not leave their planet because they were guarding the controller (they now break the guard relationship in that case and become fully threat).
- Toned down the impact of "nearby unengaged mobile hostile strength" on the AI's willingness to commit to an attack, if that strength is more than one hop away (previously it scaled by distance on just about every other usage of this data, but not this one).
- Made the AI more willing to operate on planets "under the shadow" of a nearby huge human fleet if those planets were completely empty of hostiles.
- Fixed a bug where the AI could issue an attack order against a neighboring planet and the ships close enough to the wormhole would go through without checking to see if they should wait due to strength imbalance.
Version 0.704 About that Flair
(Released February 2nd, 2018)
- All of the ship icons are now a bit larger (not much!) in how they display in the gimbals in the main game view and on the galaxy map, so that they are easier to see. Just because of the shaping of the new icons, showing them that small was not quite working out as well as hoped, but now it's good.
- There is a new gimbal_icon_size_multiplier xml tag for all game entities that can be set to some value to make ship icons larger or smaller relative to the baseline. For instance:
- All of the "king" type units now show up with size 1.5, as do a lot of the really dangerous stationary toys that the AI might have on a planet, as do player flagships, AI usurpers, and most golems.
- The controller on a planet, and the dire guardians, show up as size 1.35.
- Regular guardians and non-flagship starships now show up as size 1.25.
- The devourer golem and the zenith trader now show up as size 2.
- Most of the drones now show up as size 0.7, although the hunter-killers show up as size 1.25 instead despite ostensibly being drones.
- All of this is of course subject to further tuning, but the mechanism for doing said tuning is now there, and a good first pass is in place for making things more or less prominent on the battlefield as needed.
- All of the remaining ship icons are now in place, including the starship versions looking different from their flagship counterparts.
- This is now a whopping total of 155 ship icons -- thanks, Blue!!
- This includes icons for the Nanocaust ships and structures, which are in place, and the interplanetary guns, which are not; but it does not include icons for the spire, which are also not in place. Those latter two are going to be post-1.0 additions, as they were stretch goals from the kickstarter that we can't do justice in the same amount of time it will take to create the base game itself.
- Fixed up the at-mouse-cursor tooltip in a few ways:
- To now always display above EVERYTHING, including over dropdown lists that have popped up, so you can properly read what is in the dropdown list.
- To show a bit more to the right and down from the mouse cursor, so that the standard windows mouse cursor doesn't overlap the text at all.
- To make it give a bit more height to itself whenever it has multiple lines, because in the top resource bar it was often coming out of its display area previously.
- In the prior version of the game (0.703), you may have noticed that a lot of the icons were really hard to decipher in the main view because their borders were stretched out strange; but they looked fine in the sidebar and other menus.
- For the 90px ship icons that are shown in the main view, it turns out that those need to have border images that are 102px in size. That extra size allows for borders that extend beyond the 90px base of the original ship icon when need be.
- This change is super easy to make: it's just a matter of creating a photoshop batch action that takes the existing 90px border icon image and increases the canvas size to 102px instead, with the border icon image remaining centered, then re-saving over top of itself. If anyone ever needs any larger icons, they can use that extra space, but otherwise it's just empty pixels for now.
- Updated Ship Visuals
- Updated the visuals on Advanced Research Station, Coprocessor, Data Center, and Design Template.
- Beam Cannon LODs and integrated.
- Alarm Post mesh and materials, LODs, and integrated.
- Ruined Network Node mesh and materials, LODs, and integrated.
- Super Terminal mesh and materials, LODs, and integrated.
- Fixed some bugs where a thread that was in "abort requested" AND "stopped" states simultaneously (it's a flag enum, so it can have multiple values at once) was not being considered as being in a terminal state, which led to various panicking over threads not terminating, etc.
- Fixed a bug where intentional thread-aborts were causing screen-blocking error messages (the situation isn't ideal, but it shouldn't be acting like a crash).
- Fixed some bugs where a planning thread being killed would skip its finally-block teardown logic, causing the game to think the planning was still going and thus the game was unwilling to finally release entities that had been killed.
- Fixed a bug where a control group would never "forget" an old entity ID it had previously owned unless it was directly removed from the group by player action. This lead to ever-increasing numbers, even across save/load. This wasn't a big deal except that the number looked weird, but it was definitely untidy.
- It also strips the already-dead entity-ids out of all you control groups when you load an old save.
- Hitting "P" during the game lobby no longer starts the game.
- A button has been added to the Main Game screen to make it easier to report bugs.
Version 0.703
(Released February 1st 2018)
- Fixed a bug where the window size settings were not being properly applied in the standalone game.
- Main menu ship changes: the main wing of the ship no longer has giant glowing bits; the unity bloom has been removed; the amplify bloom has been toned down from 0.8 to 0.5 in intensity; the extreme chromatic aberration has been toned down a bit.
- Fixed an issue with the sound effect clips list and voice group lists using the wrong random method and thus being able to hit IndexOutOfRangeExceptions.
- No longer shows sidebar information when you don't have vision of the planet. It instead shows only your active Control Groups and a message saying "You don't have vision here"
- Main menu ship improvements:
- The bloom on the main menu is less intense than before, even on the parts that still emit (unlike the wing).
- The AI War 2 logo is way larger on the ship on the main menu, and the Arcen logo is somewhat larger.
- Made a lot of updates to the main menu ship so that it moves about a bit more and thus exposes itself from a wider range of perspectives. Also made it so that there are more and better thrusters at the back, and so that the ion bar at the front of the engine is letting off particles.
- Fix a bug where entering the settings menu from the Main Screen before starting a game would skip the Game Lobby when you tried to start a game
- Thanks to Bummeri for reporting
- Ships with cloaking now display their remaining cloak strength when you hover over them
- Updated the game to now use the "monolithic version" of UnityEngine.dll, rather than the split-out one. This will hopefully prevent the crashing issues that we were seeing on OSX in the last version.
- Fixed a variety of bugs with the ship orders voice command playback code, so that now that works properly. The current only voice commands relating to ships (which this is about) is for civilian ships and their move orders.
- Part of this was to make it only call the voice prompt of the most-common ship voice group within the current selection when you issue orders. Aka, if you mostly have ships selected that give bomber-style voice chatter, it plays that instead of the voice clip for the one fighter-style voiced ship in your mix.
- Updated the voice bus in general to allow for up to 7 overlapping voices at once, if players are giving that many orders. However, that bus has been renamed to VoiceRoutine to make it clear that's what this is for. The really important voice notes are under the Alerts bus, which does sound ducking on the voice routine bus.
- Hitting B to select the next Builder unit (Flagship, Ark, Controller, etc) will now also open the Build Menu for that unit.
- Fixed a bug that was preventing the most recent version of the game from launching at all on OSX.
- Thanks to Taichikitty for reporting.
- The objectives window now suggests repairing Golems.
- Updated the newest versions of the game camera to no longer care if the cursor is over top of the gui for purposes of detecting screen edge scrolling.
- Thanks to lessster for reporting for absolutely annoying this was; we don't play with the edge scrolling on, and so hadn't noticed.
- Updated Ship Visuals
- Integrated Plasma Torpedo Launcher.
- Warhead Interceptor mesh and materials, LODs, and integrated.
- Advanced Starship Constructor mesh and materials, LODs, and integrated.
- Some tooltips are present in the Game Lobby, but they are underneath the dropdown window
New Icons For Ships!
- Maaaassive updates to the way the game icons are drawn. This has been 20 calendar days in the making, at this point, and has well over 120 individual new icons.
- Basically the old system of having a smaller number of base icons, plus "flair" to distinguish the sub-type... stunk. It was unclear and even Chris, who came up with the idea, was constantly confused by it.
- We've now gone back to a system more like the first AI War, where everything has its own unique icon, and the idea of flair is (mostly -- more on that in a minute) gone.
- In order to keep some of the visual consistency between icons, however, we've worked on a "visual nomenclature" for icons, so that things like turrets are easy to identify at a glance, as are things with laser weapons. So seeing a laser gatling or a laser turret for the first time would give the observant player an idea of what those things do without ever having seen them before. This was the goal of the flair previously, but it was just very unhappily executed -- mainly because the style and arrangement of that nomenclature was far too separated from the core colored icon itself.
- Now, the underlying engine mechanics for flair -- something short and wide that goes under the icon like flair used to -- is still there. We're leaving it in place, because it isn't hurting any performance areas, and Badger had the thought that it might be nice someday to have a toggle or similar to hold down and then have "flair" show up telling you some attributes about each ship. We don't have any plans to do this prior to 1.0, but if someone wants to mod it that's fine, or if we later decide to do it.
- Updated the right-hand sidebar to now show the borders for ships in black, rather than white. This is a lot easier to read, and is more consistent with the icons in the main view.
- When hovering over a ship type either in the sidebar or in the main battlefield area, it now highlights any matching types with a white border instead of black. On your team or other teams -- so that's handy for seeing who has how many bombers, etc, at a glance. And it makes the right-hand sidebar feel more responsive to mouseover.
- The design of the build menu items has been updated a bit. Since there is no longer flair, these now show the main icons larger and to the right, and some other things moved leftward. This isn't remotely the final design for these, and they are now definitely wider than they have to be, but it's a start.
Multiplayer Work
- Fixed several bugs that were causing the join-game process to take way longer than necessary.
- There's now a textual display of the connection status on both the client and host during the join-game process.
- Fixed several other bugs that were generally hosing multiplayer.
- There are still a bunch of issues in actually getting connected and potentially in performance during the game, but we're getting there.
- Different players can now pick different starting planets in the lobby.
- Different players get their own color consistently.
- Fixed some bugs where the first player always got certain claimables, rather than the player present.
Version 0.702 Activating Mk1 Grinding Machine
(Released January 25th, 2018)
- The galaxy map camera now has the same bloom effect that the main game view does. Mostly this has no real visible effect, but when you see a dyson sphere, well...
- Fixed a super annoying bug with the dropdowns, where basically the topmost item was not being shown.
- Tweak the options for Octopus Map (per Tadrinth's suggestion)
- Visual Bugfixes
- Fix a bug where displaying active orders (with Shift) showed lines going off the edge of the screen when units were assigned to go through wormholes
- Ship to Ship lines (like Tractors) now go from randomly chosen members of the Source and Destination squads, not always the first member of each squad
- Fix some issues with shots not correctly hitting their targets (both Shielded and Unshielded cases)
- When the game is lost, hide the gui while the "You Have Lost" text is printed. The GUI will then come back after a few seconds so you can look around the galaxy.
- Fix a bug where we weren't updating shots on a number of vis frames, which makes things look choppy
- Fix a bug where we weren't correctly killing all the ships in a squad when fatal damage was done
- When a shot hits its target, set its "Time till I die" to 0 since it just hit something. Otherwise shots could linger strangely on the map.
- There is a known visual bug where if your squads are shooting a shield from point-blank range, it can look like the shots are going through the shield.
- Ship visual updates:
- The "science generator," which was previously (and always temporarily) just some random building on each planet, is now properly a "husk" of a ship from an old ancient race. Studying these husks, of which there are 5 visual variants, gives your scientists Science points, just as the random building-thingy always did in the past.
- For those interested, these are actually Neinzul husks, which is kinda neat. They're still glowing with internal fusion reactions even thousands of years after falling in battle. They use actual models for Neinzul units that were originally created for overpainting in Stars Beyond Reach.
- The Space Planet has had its visual updated to look a bit more science-fictiony and fit better with the rest of the aesthetic of the game. This mostly had to do with the cockpit and its glow.
- The space tank also needed a little love, to be a little more tank-like and a little more in line with the other ships. Fixed.
- The new Spire visual updates are all in place, although not used in the game yet.
- The "science generator," which was previously (and always temporarily) just some random building on each planet, is now properly a "husk" of a ship from an old ancient race. Studying these husks, of which there are 5 visual variants, gives your scientists Science points, just as the random building-thingy always did in the past.
- The wormhole visuals have been redone yet AGAIN. (Anyone keeping count? Not even sure how many times that is now -- at least five, maybe more).
- The new visuals are no longer particle-based, but instead use a couple of GPU-instanced sphere-ish meshes. The overall effect is... probably slightly more efficient than before, but it's hard to be exact with that, because it depends on your hardware and what the limiting factors are in your visual throughput. Overall it's not much of a difference either direction, though.
- The big reason for the change with this one is that now this is a true 3D object again, rather than billboarded particles. This makes a lot easier task for us in terms of creating a warp gate with visuals that fit with the visuals of the wormholes, and it also makes the wormholes look VASTLY better when you zoom in close to them. Before it was getting painfully pixelated because of the sprite-based nature of those particles.
- And lastly, this is more cohesive with the way that the visuals for special effects have been headed in this game; it's all very geometry-based, now.
- A variety of updates have been made to our sound playback engine to make things quicker for us to set up, and to better-accomodate the needs of our voice pipeline (where things should not be said too frequently, and if nothing is available to say because of that rule, then a nonverbal sound effect should be played instead, on the proper sound bus in both cases).
- The first voice acting is now integrated into the game: the engineering commander, played by Ra Palacio, now cheerfully accepts your orders for building construction.
- Plasma Torpedoes are now AOE weapons that can hit up to 10 distinct squads. Their dps is still balanced on an average-targets-hit of 1 because generally they'll hit a shield and that's it. Once the shields are no longer covering the formation they become very dangerous to the stuff around.
- The new AOE visual effect for these is pretty awesome.
- The shot speed on these has also been cranked down so they aren't so insta-hit.
- Fixed some bugs where an anti-shield weapon would only get the bonus when hitting a shield if it was targeting a shield; if it targeted a non-shield target under the shield it wasn't getting the bonus.
- Lightning Corvettes:
- Squad size: 5 => 2
- Rate of fire: Normal (1x rof, 1x dps) => Very Low (0.25 rof, 0.8x dps)
- Range: Short (1x range, 1x dps) => Very Short (0.3x range, 1.2x dps)
- It actually had to be almost this close to hit already, so this is more of a bugfix to avoid it firing without hitting.
- Similar changes were made for Lightning Turrets.
- Grenade Launcher:
- Cap from Mild-Low (100 ships, 0.9x dps) to Very-Low (30 ships, 0.75x dps)
- Rate of fire from Normal (1x rof, 1x dps) to Low (0.5x rof, 0.9x dps)
- Similar rof change to Flak Turrets.
- One exception has been added to the rule that "if a mobile squad runs into an enemy shield, the squad is pushed out of the way".
- That exception is "The Ark is Chuck Norris. Therefore, if the Ark would get pushed, the enemy _shield_ gets pushed instead."
- This means that if you're willing to risk your Ark in the middle of the fight, you can push enemy shields off their defenses like a bowling ball.
- Fixed some bugs preventing sidebar mouseovers from showing unit data if there was more than one unit in that "cell".
- Fixed a null exception when using the formations without a shield generator in the group.
- Fixed some bugs where the warden/hunter fleets could get confused if you started a game, quit, and started another without closing the application.
- Fixed a bug where the "escape menu" stayed open when used to quit a game (so it would be open when you started another game).
- Put in additional protections to ensure that all secondary threads do terminate if they run too long (with a warning message so we can be notified if it's common).
- And also some new protections to ensure those threads are promptly terminated when you quit a game, so that starting another game doesn't run into stale threads still doing stuff in the background.
- Nerf the Dyson spawn rate at higher intensity; this makes it actually vaguely playable at up to 10 (I hope).
- Fixed a bug where a dying squad could disappear and then briefly reappear before disappearing again for good.
Version 0.701 Hotfix
(Released January 15th, 2018)
- 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.
- Fixed a longstanding issue where selecting one builder and then another could lead to an empty build menu (for instance, first the ark and then the starship constructor) because it thought it was the same menu and didn't refresh.
- Fixed a bug from the last version where the turret and starship build menus would show as completely blank unless you'd researched at least one item from the respective category.
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! ;)
- The Basic Strategic one works... well, basically like you would expect it to, based on AI War Classic.
- 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.
- 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:
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.