Author Topic: 0.401 Release Notes (Temp Location)  (Read 2890 times)

Offline x4000

  • Chris McElligott Park, Arcen Founder and Lead Dev
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 31,610
0.401 Release Notes (Temp Location)
« on: June 12, 2017, 03:58:16 PM »
Our wiki is still undergoing issues, so here's the wiki-code that we would be posting there.  Apologies that it is so much harder to read here!

* The game console has now been fully moved to the AIW2ModdingAndGUI project (source code aside), and has been re-skinned using our own graphics and text mesh pro.
**This may not have seemed like a high-priority thing to do, and indeed it was not in and of itself, but it validates a particular GUI creation workflow that we now have, as well as providing a concrete example for that type of GUI.
*** Basically our existing GUI creation methodology is all based around xml creation of things and populating them certain ways.
*** But now we can also take an entire GUI canvas, create it in the WYSIWYG unity editor in the AIW2ModdingAndGUI project, and then wire it up in a completely traditional-for-UGUI fashion and after that let it be triggered from the dynamic GUI.  These are even loaded using the existing "gui prefabs" logic that the xml-oriented GUI uses.
** The end result is just as performant in both cases (and basically identical), and so mainly the question is of which approach is easier for a given piece of the GUI.  There's no one right answer.  Even the xml-oriented version is using prefabs that have a bunch of nested stuff, but this is just taking it to a completely other level of having the entire canvas/window populated.
*** At any rate, being able to do this now and having an example of how to do it was well worth the time in this particular build.  It should open up options better for the upcoming GUI revisions.

* A massively new way of drawing the "sprite gimbals" over squads in the game is finally complete.
** We tried a variety of approaches, but for various reasons dynamic batching, instancing, and so forth all yielded subpar results when individual sprites were made up of often up to 6 sub-parts (main icon, border, flair, mark level, and health bar).
** We're now baking the sprites into meshes prior to them ever being instanced, which cuts the graphics load of the gimbals to around a sixth of what they previously were.
** That said, the sprites themselves still need to be instanced even after being baked, and to do that we need a single mesh for all the types for the most part.  So we're hiding data in the uv2 and uv3 channels that let us know which instance properties to conditionally apply to which vertices, which in turn lets these things colorize themselves (via HSV shift) as needed.  But since not everything needs to be colorized, our new ubershader for the baked group is now actually more efficient than before, making the savings more than a drop to 1/6th of the previous load from this source.
** Performance improvements in this area might not seem like that big a deal, but on a GTX 1070 with 5k ships on the screen, the icons were approximately half of the visual load.  Facepalm, right?  So this has been a big priority.
** The downside of the new approach would seemingly be that now these icons are harder to edit, though, if someone wants to mod.  Bummer... except that it's just as easy as ever! :D
*** We've created editor tools in the AIW2ModdingAndGUI project that allowed us to merge meshes, set the uv2 and uv3 channels properly, and so on.  You can re-bake the meshes as desired, and we can do so quite easily as well.  You can't do it by xml anymore, but that's a pretty small thing.

* Fixed a bug in the prior build where the gimbal icons no longer reacted to player mouse hovering or clicking.
** This was because of the changes in the hierarchy of pieces of squad parts in the last version.
** Thanks to TheVampire100 for reporting.

* When you are placing ships/structures on the map, there's now a filled circle that shows the radius of the footprint that ship will take up.  It then also shows the icon of the ship in white over where the footprint is.

* Fixed an issue where the missile turret was not assigned its flair properly.

* The game now automatically checks its models for missing materials, or materials not set up for instancing.
** There were then a number of ships that we fixed that on so that they have instancing set up properly.

* The font_size property now actually works on the new text labels in the game (not buttons or anything else presently).

* The game now has icons for the various resources, which can be inserted into text with <sprite> tags from text mesh pro.
** Unfortunately the process for getting those in there requires the creation of sprite dictionaries embedded in the main game Resources folder at the moment.  We will likely alter that at a future time, but for now that's stuck.
** The process for getting new sprites in there is pretty convoluted in general at the moment, to be honest, so that's again something we'll have to work on later.  But it does work, and it does perform well!

* Fixed a bug where "dfgdfg" would show briefly as the planet name in the prior build.
** Thanks to BadgerBadger for reporting.

* Updated to Amplify Shader Editor v1.0.005, which has a number of new features and some at least minor performance improvements.


* Bonus Fleet Ships:
** Vampire Claws
*** Cloaked melee ships that heal themselves when they do damage.
** Vorticular Cutlasses
*** Melee ships that damage themselves when they do damage (when balanced, their dps will be much higher than vampire claws, for example).
** EtherJet Tractors
*** Cloaked Jets with Tractors. What could go wrong?

* Dire Guardians:
** Dire Warp Beacon Guardian
*** The AI can always send waves to the planet this guardian is on, and if it is on alert this is likely to happen.
*** Not to be confused with the Dire Warp Bacon Guardian (despite internal typos to the contrary), partner-in-crime to the Pancake Golem.
** Dire Commander Guardian
*** Increases reinforcements sent to the planet it is on.
*** Triggers waves (like a raid engine) while this is on alert.
** Dire Shredder Guardian
*** Internally constructs and launches shredder drones (vicious little melee ships).
* Guardians:
** Vampire Guardian
*** Can be very hard to kill if you don't kill it quick, because of its ability to heal itself from doing damage.
** Implosion Guardian
*** The Dire Implosion Guardian's little (and far more common) brother. They're a real pain in the rear if you're a golem...
* Golems:
** Seeded like Flagships, you find these, clear their planets, and claim/repair them to gain control of them.
** Unlike flagships, these are rarer, claiming them costs AIP, and they don't have the quasi-Ark functions for building/repairing/etc. Instead, they're considerably more beastly than Flagships and some have unique abilities.
** Armored Golem
*** Short-range brawler.
** Artillery Golem
*** Long-range sieger.
** Black Widow Golem
*** Massive paralyzing-tractor capacity, and does engine damage with its shots.
*** The "if you move while tractoring something, it moves with you" logic has also been implemented.
** Regenerator Golem
*** Regenerates ships you lose on its planet, at the cost of some of its own health.
** Cursed Golem
*** Has powerful fast-firing railcannon, but damages itself in proportion to the damage done.
** Hive Golem
*** Internally constructs hive drones, which it launches in large groups against any threat on the planet.


* Fixed an issue with the AI Warp Gates not having their mechanical parts rotating properly.

* Put in some code to automatically tell us when our animators have messed up.

* The game now has a nice fade-in effect whenever you're switching planets or in and out of the galaxy map, making things feel more polished.

* Fixed a problem with the mod support where every dll had to define a type which implemented the IInitialSetupForDLL interface, and further required a specific naming convention for that type.
** Now when loading a dll it looks at all types exported from it and runs the RunInitialSetup() of each IInitialSetupForDLL it finds.
** If it doesn't find any, it won't mind.
** Thanks to Draco18s for reporting.

* The very low end of the camera zoom now has a few more gradations where it shows more of a side-facing view, and then the very lowest zoom level actually looks back UP slightly, allowing you to see tall ships and structures better, and in general get a little more cinematic of a view.  This has no effect on the higher zooms.
** Thanks to BadgerBadger for inspiring this change.
Have ideas or bug reports for one of our games?  Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Online BadgerBadger

  • Arcen Volunteer
  • Hero Member Mark III
  • *****
  • Posts: 1,195
  • BadgerBadgerBadgerBadger
Re: 0.401 Release Notes (Temp Location)
« Reply #1 on: June 13, 2017, 02:09:58 PM »
It's worth pointing out that while Golems are technically in the game, they aren't seeded by default in .401; you have to mod the map generator to make them appear.

Offline keith.lamothe

  • Arcen Games Staff
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 19,505
Re: 0.401 Release Notes (Temp Location)
« Reply #2 on: June 13, 2017, 04:57:35 PM »
It's worth pointing out that while Golems are technically in the game, they aren't seeded by default in .401; you have to mod the map generator to make them appear.
Whoops, meant to un-comment that line. Thanks for letting me know. Fixed for next version :)
Have ideas or bug reports for one of our games? Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Online BadgerBadger

  • Arcen Volunteer
  • Hero Member Mark III
  • *****
  • Posts: 1,195
  • BadgerBadgerBadgerBadger
Re: 0.401 Release Notes (Temp Location)
« Reply #3 on: June 13, 2017, 05:41:54 PM »
There are a couple other golem-related things in Mantis; check out 0019173 in particular.