AI War 2:Earlier Than Early Alpha

From Arcen Wiki
Revision as of 16:34, 6 March 2017 by Keith.lamothe (talk | contribs) (Version 0.105)
Jump to: navigation, search

Starting State

Okay! So the title of this document is somewhat-facetious, but it gets at the intent behind this first phase. This earliest phase of the alpha is not about being able to play end to end and thumb your nose at all the suckers who are waiting for a later build for no particular reason.

"Earlier than early alpha," in this case, means that we're getting you in place to see what is going on absolutely ASAP. There are some folks who will relish this opportunity, and who have specifically requested it -- they then get to help shape the balance and details of our implementation of the game from the earliest days.

Ever hear developers say "well it's too late in the process for us to change that now" and feel frustrated that you weren't consulted earlier? This is us consulting you super early. Nothing is too late in the process, because this is "earlier than early."

To someone coming to this first build without that context, they may go "holy cow, what hot mess is this." This is not your typical alpha. We'll be to that point in a month or two. If you want the typical alpha experience, then feel free to register your steam key now and just wait around for the go-ahead from either other alpha players or Arcen staff to get a more typical experience.

On the other hand, if you want to be in there from minute one... well... welcome! We're sure glad to have you, and excited to show you what we've been up to. :)

If you're one of the many who struggle with playing the game such an incomplete state, check out the instructions

We also have a blog at for dev diaries and other fun topics.

Also, here's Chris's todo list.

Version 0.105

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

  • In multiplayer each player is now issued a separate ark, and can only select (and therefore control) their own units.
  • Thanks to Unity actually now having support for detecting lost/gained focus (woohoo!) the game now suppresses input events like edge scrolling when the game window does not have focus.
    • Thanks to daktaklakpak for suggesting.
  • Patrolling enemy guardians no longer bum-rush you from across the planet. Instead you have to get within their patrol range (currently 1/4 the system diameter) or damage them in some way. Similarly, they won't deploy their internal ships until these things happen.
    • On the minus side, from your perspective, when you antagonize these patrol ships in this way they won't just come after you, they're _freed_ as threat and will devote the remainder of their existence to your demise. Isn't that sweet of them?
    • Note: as before, if you come in with a whole ton of force it may free all guardians on the planet. If you really overdo it, those guardians may just retreat to rain on your parade later.
  • The "give orders to units produced by me" toggle had tons of bugs and in general it's a very difficult concept to communicate correctly with the terribad placeholder UI, so it's been temporarily removed from the interface.
  • Planetary resources are now shown in the galaxy map tooltip for planets.
  • The AI's initial defense budget is now spent more on guardians and less on fleet ships and turrets.
  • Fixed a null-exception bug.
    • Thanks to BadgerBadger for reporting.
  • Reworked the revisions to planet mark levels, specifically for the surroundings of the human and ai homeworlds. Now some of their neighbors will be markI and markV again (respectively), and the next layer around that set (homeworld + I/Vs) is markII and markIV, respectively, and the next layer around that is a mix of roughly half-and-half 3s and 2s/4s (respectively).

Version 0.104

(Released March 3rd, 2017)

  • Fixed a null reference bug with the build queue buttons that could cause the buttons to go blank.
    • Thanks to dfinlay for reporting.
  • Fixed a bug where units like space docks still in the process of self-building could themselves repair other units, etc.
  • Fixed an issue where possibly some of the DLLs were out of date on the linux build, or something of that nature -- at any rate, everything is synced up now.
    • Thanks to BadgerBadger, RabidSanity, and gavin144 for reporting.

Version 0.103

(Released March 2nd, 2017)

  • Fixed a bug where squads were being prematurely killed if their current ship count was zero but a replacement ship was on its way. This could lead to invisible squads until you tab out and back into a planet.
    • Fixed a related issue where a nullref exception could happen if the replacement ship got there and the squad was already removed.
    • Thanks to BadgerBadger for reporting.
  • Planet mark level assignment now mostly avoids planets being more than one mark away from any of its neighbors.
  • Fixed a bug where ships scrapped while under shields would damage the shield rather than die (though the squad would be reduced to one due to another part of the logic).
    • Thanks to Zogheen for reporting
  • Fixed a bug where loading a save would not actually try to do any visual updates of units, so you'd just not see them at all even though you had vision and the game was running, etc.
    • Thanks to BadgerBadger, treyra, Toranth, and bladeravinger for reporting.
  • Reimplemented the pause feature as literally "the game keeps running, but instead of each sim frame being 10% of a game second, it's 0% of a game second" with a few small bits of code excluded from running at all (like "try to fire the guns").
    • This avoids a whole class of problems like placeing or scrapping stuff while paused not updating your net power, etc.
    • Thanks to Zogheen for inspiring this change.
  • Actually implemented the logic for "click on a planet in the lobby and that becomes your new starting place"
    • Note that this involves regenerating the map, so you don't start on a MkIV or whatever.
    • Thanks to BadgerBadger for badgering us about this function.
  • Reworked the X map type since the old one was doing weird things with many planets being placed on the same spot, etc.
    • Thanks to gavin144 for reporting.
  • Added a button to the game-setup phase for exiting back to the main menu.
    • Thanks to dfinlay for suggesting.
  • Now during game setup the planets no longer show their marks and what key units are there.
  • Fixed a few bugs that could cause the game to go bonkers if you switched through map types really rapidly in setup.
    • It will still be a bit weird because clicking the button means "switch to the map type after the one that generated last" and so if you mash it three times really fast it will wind up at the same one as if you'd only pressed it once. This will be fixed when we add a proper dropdown for this, rather than relying on a primitive spinner-type button.
  • A number of internal scripts were added that makes it much faster for Chris to push builds. Down from 5-15 minutes depending on the nature of the build, to instead 30 seconds to 2 minutes depending on the nature of the build.

Bleeding Edge Graphics Test (Linux In Particular Please Try!)

Basically, if you look inside your game folder you will now see a BleedingEdgeTest subfolder. If you go in there, there are a few executables. Please run the one that is for your OS, and let us know what happens.

From the whatisthis.txt file inside that folder:

  • You may notice that this isn't AI War 2 at all, in this folder. This is just a simple little scene that you open and look at, and it does nothing. HOWEVER -- it's running on a newer version of Unity than the game itself (5.6), and it's using Vulkan on windows and linux where possible.
  • The idea is to use this as a simple benchmarking tool to say "can this even run?" on various machine configurations, particularly on Linux. This has no bearing on performance or anything of that nature; it's just a matter of "will this launch and actually show the screen without barfing out a blue screen on linux."

Version 0.102

(Released March 1st, 2017)

  • Added some internal code that helps Cinth do live-testing for LODs, which thus lets us get better results from them. Right now our initial LODs were way too cut off, which was one thing that was leading to such unexpectedly good performance most likely.
  • LOD adjustments on smaller scaled models to make them more visible and attractive at standard game zooms and sizes.
  • Team color brightness adjustments, pattern change on red.
  • Adjusted the size on the numerals to help with flickering at ultra far zoom.
  • Updated the game to no longer allow for drag-resizing the window, since that can wind up really confusing things when you're trying to click near the edge of a window.
    • Thanks to Thalone for reporting.
  • New lower poly gimbals for the Fighter, Bomber, Missile Corvette, Laser Turret, MLRS Turret, and Needler Turret.
  • Completely redid the gimbal shaders from the ground up so that they are now more efficient, view-direction independent, and less neon-blinding-you.
    • No fresnel effect is used at all anymore, and normals/uvs are completely ignored, with it instead using part of the tangent data as the uv channels and then feeding that into a two-color emission blend mixed with an underlying diffuse texture that is mostly used for value (but also a bit for hue).
    • TLDR: Much nicer results, less work on the GPU (not that it was expensive before, terribly), and also easier to configure.
  • 13 New Team Colors
    • Cinth made these to look more flat
  • Fixed a bug where resizing the game window during runtime would not properly reinitialize the UI.
    • Thanks to daktaklakpak and others for reporting.
  • Game now shows the current version in the upper-right corner under the hide/show gui toggle.
  • Changed the behavior of the "Try to Capture" toggle to not prevent _direct_ attack orders on an enemy controller or warp gate.
    • Thanks to many of you for inspiring this change.
  • The game no longer uses unity-style "performance profiles," but instead uses our own settings under the hood for the following, which you can now edit in your settings.dat file:
    • IsFullscreen (actually used now!)
    • FullscreenWidth and FullscreenHeight (actually used now -- when in fullscreen mode only!)
    • WindowWidth and WindowHeight (actually used now -- when in windowed mode only!)
    • VSyncCount (valid values of 0, 1, or 2 -- please, please use 0 for the sake of performance).
    • UseSoftParticles (valid values of false or true, default false; doesn't make a big difference either way; last build this was true, though).
    • BillboardsFaceCameraPosition (valid values of false or true, default false, was true last build, doesn't make a big difference either).
    • AnisotropicMode (valid values of Disable, Enable, or ForceEnable; default is ForceEnable, same as last version).
    • AntialiasingMode (valid values of Off, x2, x4, or x8; default is x2, down from x8 last build).
    • TextureQuality (valid values of Full, Half, or Quarter -- this will make things look absolutely terrible if reduced from Full, but can be useful for truly ancient GPUs; probably nobody should use this).
  • Whenever the graphics settings are updated, it now writes to your output log to say what it did. It does them all in one batch whenever the game flags there as having been changes, which helps keep things efficient.
  • Fixed a bug during game setup where regenerating a map (from changing the map type) could lead to the game trying to re-draw the map before generation was done, leading to chaos.
    • Thanks to Dominus Arbitrationis, daktaklakpak, and Jeremiah921 for reporting.
  • Fixed a bug in some map types (notably Wheel) where the mapgen would fail due to not being able to find a planet X hops away from the human starting point and Y hops away from the AI homeworld.
  • Fixed a bug where doing multiple map generations would not properly remove the remains of the previous generations and would try to draw them when you started the game (i.e. Ghost Arks).
    • Thanks to Zogheen for reporting.
  • Tightened up the time between giving a move order and it taking effect. The main difference will come in tightening up the visualization layer to react more quickly, but this should help in the meantime.
    • Thanks to Cyborg, Zogheen, and many others for bringing this up.
  • Added an Exit Game button to the in-game "escape" menu (opened from the upper-right "Menu" button) that dismantles the game and puts you back at the main menu.
  • Added an Exit Game button to the main menu that closes the application.
  • Fixed a bug where switching between various build menus, etc, would not properly clear the previous menu's buttons out.
  • Now when an error occurs in the game, it shows it to you clearly with three options: open the log file, ignore the error, or ignore the error and prevent this window from opening again during this run of the application.
    • Previously you didn't know there were errors unless something obviously bugged out or you checked the log file. No wonder players thought the game was so stable! (just kidding... mostly)
  • Fixed a bug where trying to connect to a remote host, and then trying to start your own game, would throw errors because the game had not switched out of MP-client mode.
    • Thanks to Cyborg and waylon531 for reporting.
  • Now when a ship dies or enters a wormhole, any shots it had already fired but were visually delayed (so that you could tell there was more than one shot) skip the rest of their visual delay so you don't see a continuing stream of shots from the now empty space in cases of stuff like MLRS with very high rate of fire.
    • Thanks to Zogheen for reporting.
  • Now when the game ends (i.e., you lose) you now get vision and intel on all planets (previously it would look like everything despawns when you die).
    • Thanks to Cyborg for inspiring this change.
  • Removed several old debugging keybinds, including some that could break the game if you pressed the wrong key.
    • Thanks to Cyborg and Zogheen for reporting.
  • Replaced the Snake map type (which was generating maps that filled way too much space) with the Spiral map type; looks different but has exactly the same topology.
    • Thanks to Dominus Arbitrationis and Lakshata for inspiring this change.
  • Improved several map types to be way less likely to have two neighbors at the same "angle" such that the wormholes to those two neighbors exactly overlap.
  • Added a new DisableShipFlameTrails settings option that lets you turn off flame trails on ships if you wish. For the super low end hardware, this may be a big deal, we'll see. The batching is really good on them, but for the lowest-end hardware it might make a notable difference just beause of how many pixels can get drawn.
  • Added the ability for windows machines to use OpenGLCore if needed, instead of being forced into DirectX9.
  • A ton of new settings have been added for letting you control the speed and responsiveness of both the galaxy map camera and main game camera. All of this is still just in the xml at the moment.
  • Mouse edge scrolling can now be turned on or off, and is on by default.
  • Expanded ship tooltips, both in the information shown and in the space used.
  • Added tooltips to build buttons for ships.
  • Fixed a bug that was making the UI update much less often than intended (was supposed to be every 333ms, and was closer to every 700ms), and since that still felt a bit sluggish in testing it now updates roughly every 100ms.
  • The game is now properly using dev builds that allow us to get proper stack tracks from you. That means it will be saying "DEVELOPMENT BUILD" down in the lower right corner in an annoying way we can't control, but it greatly speeds development.
  • The default window state of the game is now windowed, with the window size being 3/4 the size of whatever your screen is. You can change this in settings, but it makes for a pretty pleasing first size for most people, most likely.
    • It won't go any smaller than 1024px wide or 768px high in terms of the initial default, by the way -- but you can set it lower than either if you feel you must. ;)