Virtual Programming

Virtual Programming

Fire-Watch pointed out that I’ll need to get a virtual image of Windows XP going in order to program GalCiv. Otherwise, I’d have to take some people off of Elemental to migrate the GalCiv II project to Visual Studio 2005 or 2008.

Right now, I’m on a bit of a sabbatical to get back to focusing on tech. So installing a virtual PC image (or VM Ware) is kind of cool. I’ll let you guys know how it goes as I’m doing it.

I wonder how hard it would be to convert the project to VS2008/VS2010 yourself? I imagine that running GC2 inside a VM would limit the speed of the Direct3D stuff, so to debug or run it you would have to copy it over to your native system.

The problem is that porting to a new compiler version can introduce myriad subtle compatibility issues. It can also fix a lot of subtle incompatibilities, so I've usually found that it's worth it overall. However, if this needs to be a small, low-risk update that won't require much QA time, a major compiler upgrade is likely out-of-scope.

Then again, given that GC2 is a game, not a critical business app, and given that it's in the latter end of its lifecycle, it might also be possible to crowdsource the QA here by having a public beta test for any new patch. In that case, maybe a compiler version upgrade would be a good way to breathe a bit of new life into it. If you use much STL, Microsoft made a lot of performance improvements in VS2010.

Virtual machine? I'd dual boot, hell, running a remote desktop from a second machine over your network would be faster than testing systems based in a 3d engine on even the better virtual machines. You've got SSD drives right? It's not like it takes you time to reboot into a secondary OS.

Then again, given that GC2 is a game, not a critical business app, and given that it's in the latter end of its lifecycle, it might also be possible to crowdsource the QA here by having a public beta test for any new patch. In that case, maybe a compiler version upgrade would be a good way to breathe a bit of new life into it. If you use much STL, Microsoft made a lot of performance improvements in VS2010.

No need to be testing in a virtual environment, with XPM all one would need to do is drop the build on a share mapped to the host(Win7) and then Brad could easily test in Win7 with no DirectX issues. Code, Build & Test all on one physical machine easily. Piece of cake. Virtual rocks

The downside is that if there's some sort of error, or if you want to step through some code to test particular input values, the test build isn't in the debugging environment. Sure, with error codes and so on you can probably figure out the problem, but it's a lot faster to be able to go to the exact place where the error happened, with execution temporarily suspended.

Point well taken. I don't know what part of my brain had forgotten actual debugging. Up way too late last night. DirectX under virtual environments Virtualpc or VMWare is one of those edge cases. The environment wasn't designed to support accelerated hardware in the vm clients so performance tends to be suboptimal and some scenarios simply aren't viable. I'm curious if it'll meet Brad's needs.

All that reminds me of the first time I tried out Linux. When I was disappointed that I couldn't run all of my Windows games on it I asked the community on the Ubuntu forum if it was possible to emulate Windows on my Linux box. Well... They where not very helpful. I think they where shocked by the idea and the whole concept and thought I was a pervert because of just having the idea... Funny replies though...

Migration takes longer the more versions you have to upgrade through. When you have one man working on a project, you have to be realistic about how many hours you can spend on migration and how many hours will be saved by working on a newer platform.

But then, given that there hadn't been anyone working on GC2 at all for the last year or two (most of Stardock's game people have been working on Elemental), I'm just happy to have Brad still giving a little love to this excellent space 4x game.

"For those wondering about a future Galactic Civilizations III, right now, our plans for now will be to continue supporting the existing Galactic Civilizations II -- no GalCiv III is in the works right now."

So no GalCiv 3 anytime soon. I'm guessing it'll be at least five years before we see another entry in the franchise (if not more).

What i dream about that gal civ would develop to is that you get a programmable interface like WOW so the basics is being delivered by the company and the addicts go work on extra functions, in smart way there should be determind what could be programmed and what not, i am a programmer myself and would like to build an AI advisor so it feels more like a fancy chess game, and less micro management, hopefully that you automate turns till bigger jobs are finished events occur.

Ya elemental is like that grooovie. You can mod just about everything. Space is just more fun though. And this game works better. Hopefully they use the elemental engine for GalCiv 3 instead of teething a new one. Really wish they would have devoted Elemental to MMO and made GalCiv 3 last couple of years. Prolly would have worked out better, but hindsight is 20/10.