Author Topic: AI War 2 Alpha v0.103 released!  (Read 2128 times)

Offline x4000

  • Chris McElligott Park, Arcen Founder and Lead Dev
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 31,651
AI War 2 Alpha v0.103 released!
« on: March 02, 2017, 04:22:23 pm »
Original: http://arcengames.com/ai-war-2-alpha-v0-103-released/

Here are the release notes, which are mostly bugfixes and more quality of life adjustments.

A Tale About Linux

Okay, so -- Linux support, grr.  Mostly that has been going fantastically, and we have a lot of folks playing the game on linux machines with no issues.  That said, we've had a few problems with some of them, including the VM install of linux on my mac.  My new linux laptop arrived today, although I haven't unpacked it quite yet.

Today and yesterday, I've spent hours and hours researching various things on linux, and here's a lot of what I've found, just kind of in random bullet points:

 

1. On my OSX machine, the issue is just because of the VM version of linux, not the hardware itself.  This is almost 100% certain, because it's well within the supported parameters.  Obviously the game runs great on that machine in OSX, so it was always a strange thing that it didn't work on linux there.

It looks like it's just a matter of anything higher than OpenGL2 not being supported in a pass-through fashion between ubuntu and OSX using Parallels between them.  I looked into doing a dual-boot situation with linux and OSX on that machine (I already have a dual-boot with Windows 8.1 on there, so I guess triple-boot), but that looked like it would eat up even more time and not yield information that is too useful at this point.

 

2. Anything older than a Sandy Bridge integrated GPU is no longer supported except for on windows, so that means pre-2011.  But on windows it would still work because of DirectX9.

Basically, OpenGL2.x support was completely removed in Unity 5.5, which is quite frustrating and was not well-advertised as something that would happen: https://www.gamingonlinux.com/articles/unity-55-released-removes-legacy-opengl-support.8627

A linux box with only integrated graphics and a CPU older than the sandy bridge architecture (sixth generation intel) will need to use WINE and DirectX9 in order to run the windows version of the game.  On OSX, it's possible that the Metal support would work on a machine that old, but honestly I have no idea.  That also might be a case for WINE.

Either way, we're talking here about machines that are 7+ years old and which only have integrated graphics, so the CPU load is likely to start becoming problematic once you pass that point, anyway.

 

3. If you ARE running a Sandy Bridge processor -- or newer -- and are using that for integrated graphics, then you need to have Mesa drivers that are at least from very-very late 2014 or newer.

Thanks to Unity 5.5 only supporting OpenGLCore, that means anything OpenGL 3.2 or newer is needed.  Those integrated cards can do OpenGL 3.3, but they'll report that they cannot do 3.2 if you don't have recent-enough drivers.  And there are new Mesa drivers that are awesome!

 

4. We have someone else with a Radeon card who is having a crash on linux, and I have no idea what is going on with that just yet.  He's on the latest Catalyst drivers, which could mean there's a bug in them, or... who knows, really.  I've heard from various reports of the driver support for Radeon on linux being pretty dodgy, so it could simply be a bug in the latest version of the drivers.  I honestly am not sure on that just yet.

As you can see in the link I posted there, there were a few other things I changed in the last build prior to this one that should make it more likely to run on that machine.  In that particular instance, some of the OpenGL Core command line parameters might actually work to solve the issue.

-force-opengl has been established to no longer work on Unity, particularly on Linux, since the removal of OpenGL2 support.

However, this one might work quite well: -force-glcoreXY: XY can be 32, 33, 40, 41, 42, 43, 44 or 45; each number representing a specific version of OpenGL. If the platform doesn’t support a specific version of OpenGL, Unity will fallback to a supported version

This one might also be of some use: -force-clamped: Request that Unity doesn’t use OpenGL extensions which guarantees that multiple platforms will execute the same code path. This is an approach to test if an issue is platform specific (a driver bug for example).

All of that said, it may simply be an issue that can't be resolved outside of driver fixes.

 

5. We also have someone for whom the game crashes to blue screen on linux every other run, which is something I saw limited mention of elsewhere on the internet yesterday... and now can't find for the life of me.  If anyone finds threads or topics about that in unity 5.5, can you please send me the link?  Anyhow, I'm not positive if there's much we can do on that or not, aside from possibly updating to a later version of unity 5.5.  They are currently on 5.5.1p4, whereas we're using 5.5.0p3.  There just haven't been enough changes to the newer 5.5 builds to warrant our update quite yet, in my opinion.

 

6. Overall this works really well for most people!  Which I am very glad for.  But we've had some folks fishing for the lower end of the system specs range, which I super appreciate, and these are the things we've been running into.

 

Vulkan!

There's a new "Bleeding Edge Graphics Test" that I've included in the latest build and that I'd really appreciate if you ran and let us know how it went.  Basically that new build uses unity 5.6 for a simple scene completely unrelated to AI War 2, and it also uses the Vulkan Renderer for linux and windows (and Metal on OSX).

That may very well solve the Radeon crash, I don't know.  However, driver support for Vulkan is much more limited than something like OpenGL or DirectX -- so far.  Vulkan is the successor to OpenGL, meant to replace it and modernize it, and it looks set to beat the pants off DirectX as well.  Metal is kinda Apple's answer to DirectX11, and for some reason they don't really do Vulkan yet.  Bummer.

Anyway, I'm reluctant to make people use Vulkan, because that immediately excludes a lot of pre-2014 hardware.  As it currently stands, that would be moving the minimum spec up to be more recent by 3-4 years, depending on platform.  Not my preference.  But if Vulkan gives people who can use it a speed boost, as well as maybe getting around some driver issues on linux, then that's super exciting.

If you run the bleeding edge graphics test programs and it just utterly fails, you might try doing so with the following command line arguments mentioned from above:

-force-glcoreXY: XY can be 32, 33, 40, 41, 42, 43, 44 or 45; each number representing a specific version of OpenGL. If the platform doesn’t support a specific version of OpenGL, Unity will fallback to a supported version.

Those would let you use Unity 5.6, but going back to an earlier version of OpenGL Core.  I'd suggest force-glcore32 or force-glcore33 (3.2 or 3.3).  March 31st is the official date that Unity 5.6 comes out of beta, and "Bleeding Edge Graphics Test" will help tell us whether to upgrade to that ASAP or give it a wait-and-see-for-now attitude.

 

Anyhow...

Those substantial snafus with the initial rollout of alpha keys to some alpha-tier backers are all fixed up, by the way -- thanks again for your patience on that!

Best,

Chris
Have ideas or bug reports for one of our games?  Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!