View Issue Details

IDProjectCategoryLast Update
0021657AI War 2Bug - OtherSep 19, 2019 12:18 pm
ReporterAsteroid Assigned ToChris_McElligottPark  
Severityminor 
Status resolvedResolutionfixed 
Product Version0.889 Reticulating Those Splines 
Fixed in Version0.890 Lighting and Darkness 
Summary0021657: Duplicate MonoBleedingEdge folder in Google Drive
DescriptionThe AIWar2Data\Builds contains a duplicate MonoBleedingEdge folder that's making my sync tool fail. It would be nice to delete the older copy :) .

I'm assuming Google Drive is still the way to go to get this stuff BTW, as in the instructions I got. Does SVN contain the files needed to generate everything that's on Google Drive, i.e. is Google Drive only to save time?
TagsNo tags attached.

Activities

Chris_McElligottPark

Sep 18, 2019 10:26 pm

administrator   ~0053176

This is fixed now, thanks. My hard drive died and I had to rebuild it from my backups last October. I didn't lose any work, but I did have to reinstall a bunch of programs, including google desktop. It started not properly matching files to sync from before that time to after that time. So I've had to occasionally fix this sort of duplicates issue since then.

The new build includes a bunch of stuff that is new with the lighting and whatnot too.

The google drive is indeed the way to get this stuff. You can build all this directly from the svn repo, but I wouldn't suggest that at all. Not only do you have to get the exact correct version of unity (which changes over time), but just opening these projects (of which there are three in order to do a full build for any given OS) takes between 5 and 50 minutes per project on a top of the line SSD. It has to crunch and cache about 50GB of data, and on a 7200RPM drive you could be looking at 3-5 hours or more.

Then once you have those projects OPEN, you have to do the initial builds per platform. That can take almost as much time all over again. And in both cases it's pegging your disk and your CPU most of that time, so you can't really save time by doing multiple of them at once. More or less you're looking at 6-8 hours of your machine being inaccessible except for opening and building those asset bundles and builds, assuming you're on a very fast machine with a top SSD in it. If you're on anything less, then it's longer.

Crazy, I know. But that's why I just provide those bundles for everyone. My stuff is long-since cached and even unity upgradse only have to deal with cache diffs.

Asteroid

Sep 18, 2019 11:05 pm

reporter   ~0053177

Thanks! Yeah, for having worked with Unity on multiple projects, they really take the word "slow" to a new level, and they make it hard to automate stuff, too. One thing I'm wondering about though: do those projects have assets in common? Because if that's the case the startup could be improved by setting up their Cache Server - can be done on your local computer if you have enough HD space: https://docs.unity3d.com/Manual/CacheServer.html - this way it doesn't reimport the same assets three times.

I have another related question: how do you attach a debugger to the game? Is it mandatory to run it through the Unity Editor? I remember being able to export a standalone build that opens the debug socket (Allowing VS Tools for Unity to attach) from within the editor if you check the right options, but I don't know if you currently export that to Google Drive in addition to the release AIWar2.exe. I wonder if the debug export can be achieved through the command line.

I also know that you can use a modified version of Mono to debug Unity debug builds and (with some file replacement) even Unity release builds, but that's pretty fiddly: https://github.com/0xd4d/dnSpy/wiki/Debugging-Unity-Games. Might be of use to Badger though, it's cross-platform (.net core) and doesn't require the Unity editor.

For syncing with Google Drive BTW, I recommend FreeFileSync. It's way more flexible than Google's own tool: you can sync directly the online AIWar2Data folder with the folder of your choice on your hard drive, and you have full detailed control on the sync mode, be it mirroring or just adding/updating files.

Asteroid

Sep 19, 2019 3:26 am

reporter   ~0053179

Update: there's not pre-made command line option to generate a standalone debug build, but by using the -executeMethod command line parameter you can run pretty much anything, so it should be possible to generate it that way I think.

Chris_McElligottPark

Sep 19, 2019 12:18 pm

administrator   ~0053184

The projects don't have assets in common, no.

In terms of debugging, you either need to use the unity editor or just not use a debugger. But frankly even in the unity editor the debugging doesn't work for all of the most important pieces of our code, because unity doesn't properly read in pdb or mdb symbols files when dynamically loading dlls at runtime via Assembly.Load(). So you'll never get line numbers for anything that is in the ExternalWhatever projects, or networking project, etc. And that's where most of the bugs tend to be, since the most meaty stuff is in them.

Hence our debugStage approach.

Thanks for the tip on FreeFileSync, I'll have to check that out!

Issue History

Date Modified Username Field Change
Sep 18, 2019 12:35 am Asteroid New Issue
Sep 18, 2019 10:26 pm Chris_McElligottPark Assigned To => Chris_McElligottPark
Sep 18, 2019 10:26 pm Chris_McElligottPark Status new => resolved
Sep 18, 2019 10:26 pm Chris_McElligottPark Resolution open => fixed
Sep 18, 2019 10:26 pm Chris_McElligottPark Note Added: 0053176
Sep 18, 2019 10:26 pm Chris_McElligottPark Fixed in Version => 0.890 Lighting and Darkness
Sep 18, 2019 11:05 pm Asteroid Note Added: 0053177
Sep 19, 2019 3:26 am Asteroid Note Added: 0053179
Sep 19, 2019 12:18 pm Chris_McElligottPark Note Added: 0053184