Delta Engine Blog

AI, Robotics, multiplatform game development and Strict programming language

Tools 2007: Using VS Orcas, Multiple monitors, FreeMind, SourceGear Vault, OnTime, Screenshot Captor and StarCraft II

Dunno what happened. I wanted to post this a week ago but for some reason I did not find any time to post the whole week. This way I can probably give a more detailed view at the new programs I've been using for one to two weeks now.

BTW: I also updated some links in the menu and on the right side of this website, there were a lot of links not pointing to the correct locations.

First of all, I'm exclusively using Visual Studio Orcas now. I mentioned the Visual Studio Orcas Beta1 a month ago and explained how to import unsupported addins and fix some issues. I did not have much time to check out Silverlight yet, but it still looks very promising. There is also a new website from Microsoft called PopFly that is using it.

Last week one of my colleages was away for a couple of days and I stole his 24" monitor and put it right beside my 24". At that time I was converting a few projects from VS 2005 to VS Orcas, but as you can see that is way too much one the screen. I even tried to rotate both screens by 90 degrees, but after a hour I was feeling silly always looking up and down. Anyway, it is just too much to look at both these screens at once. Having one big 24" and a 20" or 19" right beside it is already a very effective solution. Important stuff goes on the big screen (VS mainly) and all the rest (firefox, ultraedit, explorer, whatever) go on the secondary screen.

This is my normal setup and I'm much more used to that. I have worked with multiple monitors for about 7 years now, it is nothing special anymore, but now is the first time I don't really need a bigger monitor anymore ^^

Ok, let's go on with some tools. I downloaded FreeMind a month ago and played around with it a little, but it couldn't convince me to replace my good old txt TODO list. But for other stuff FreeMind is really great.

In a matter of seconds you can create a overview design and it has the advantage to put it directly into a project instead of having it on paper, never been able to add stuff and losing it after a short while. Here is one of the FreeMind maps I have recently created just describing a project design and the workflow process. I have also seen examples of complete project management with FreeMind or using it for TODO lists or scheduling, but I'm not convinced that you are faster with it. I do not really need a graphical view of my TODO list, at least not at the time I throw ideas and tasks in there. To view the work process I could still convert my TODO list (which is tree based) to FreeMind anyway. It is just faster entering text into a text file than to anything else (which is also the main reason I never found any good TODO list tool).

Then on the recent DotNetRocks radio show I heard Eric Sink from SourceGear talking about Source Control and his tool SourceGear Vault, which is very similar to SourceSafe. This year I went crazy and tried all kinds of source controlling systems, including the following:

  • SubVersion (successor of CVS): SubVersion is a really great version control system and it works really good, both on small and big projects. We have used it for Arena Wars Reloaded and the only cavecat was getting it to work inside Visual Studio 2005. Thanks to the plugin VisualSVN it worked out just fine, only adding files is a real hassle (they are not added to the remote server, just locally). For VS Orcas there is no support and when you are working with ASP.NET websites in VS SubVersion and VisualSVN is a really bad choice IMO because it messes up the directories and does not add the files properly.

  • Perforce: Ok, I went back to Perforce, which I had used before, but mostly alone or together with another programmer. Perforce is a very professional solution, but again not very practical for anything but programmers and I wanted to include the graphic artists and project managers into the version control system too. Also Perforce still has a lot of issues with Visual Studio IMO and is still hard to setup, even with the much improved UI that finally allows you to set rights properly without messing in command line scripts. Again, no support for VS Orcas and the main reason not to use Perforce is the crazy price, $800 per developer, good bye! It was a lot cheaper a few years ago, but I never got into Perforce (mostly used SourceSafe in the past).

  • SourceSafe: Ok, back to the basics. The good old SourceSafe with an internal file system that no one understands, strange bugs that prevent you from adding files or the good old "If you delete a file, it is still there, just the content is gone"-"feature". For smaller projects SourceSafe is fine and if you do not have many developers, it works ok, but you can't give it to any graphic artist and once something gets messed up you need to spend a lot of time cleaning it up. The good thing is it works right out of the box in Visual Studio Orcas.

  • And then I tried SourceGear Vault: It is pretty much the same thing as SourceSafe, it just uses a SQL DB backend, has a much cleaner interface and much better tools including nice importers to get all your projects converted into the new version control system (yeah, everyone says they have importer, but they never work, the Vault Importer worked, it had no problem importing several GB of SourceSafe data). The disadvantage might be that it still feels like SourceSafe and it still has some of its issues (like deleting files and they appear again as 0-byte files), but overall it is much improved. We have just used it for a few days now and we had one merge problem so far, but that was probably because one artist did not check in his files and we changed it a few times. Vault also runs fine on VS Orcas as it probably just uses the standard SourceSafe interface for most of its stuff, which runs just fine on VS 2005 and Orcas.

  • I also tried a couple of other version control systems, but none of them worked in VS Orcas and I did not find a great one anyway. Some tools like AlienBrain have really nice features, but too much other stuff is missing and while it might be a great tool for artists, it is unusable for programmers. I do not believe in having separate version control systems, especially if you work tightly with your artists and make 10+ check ins per day with them.

I also use another tool called OnTime (Ship Software OnTime) for a while now. It is a project management tool and we use it mainly for bug tracking. It is about 700 times better than having you bug tracker on a stupid website. Website bug trackers like Mantis or BugZilla are not good for quickly adding tasks, entering bugs and fixing them in my opinion. They might be useful if you have to work with remote teams or if you expect really detailed bug reports. In our case we have mostly short tasks and quick bug reports, which are written in a few seconds.
But more importantly OnTime integrates directly into Visual Studio (sadly not VS Orcas, but the Windows tool on a secondary screen is fine too). It allows you to quickly add tasks for yourself or for any team mate and to go though 20 bugs in a few minutes (you will never be that fast with a website system). But the best feature IMO is the email management, OnTime allows you to send emails to a specific email address, which get picked up and added to the bug list. Then the programmer sees the issue, fixes it and the email sender gets a reply that the bug has been fixed. This system worked out great in our company.

For some strange reason I can't make screenshots with PrintScreen in Windows anymore. I guess some VNC tool messes up my clipboard or Windows just does not want to handle screenshots as big as my monitor resolution is. I searched for a good screenshot capture tool because I was getting annoyed with the PrintScreen+Paste in Paint or similar+Save somewhere on disk approach anyway. I used a tool a few years back that automatically made screenshot of the desktop every minute or so, which was funny, but I can't remember the name anymore. After testing a couple of crappy freeware and shareware programs I finally found Screenshot Captor, which is freeware and a really good tool with a lot of cool features. Most importantly, it allows you to capture your screen, window, or all screens with PrintScreen, Alt+PrintScreen or Ctrl+PrintScreen and it even safes the screenshot in the format you want into a directory you want. This was exactly what I needed :)

And finally to finish this big monster post: Blizzard announced today that StarCraft II is in the making and I was totally blown away by this. Many sites like GosuGamers.Net reported all week and were guessing StarCraft II or Diablo III, but there were so many rumors about StarCraft II, not many people were very sure of it anymore.

There are already some screenshots and game infos available, you can also find a few game play videos on youtube and 2 trailers by blizzard are on the official StarCraft II website, which is painfully slow by the way ^^ The game looks pretty good, but it still has many similarities with WarCraft III and there was already a lot of critics by pro-gamers and people in the StarCraft communities fearing that this game would be slower and less balanced than the original. I suspect the same, but StarCraft II will still be the best RTS that comes out in the next couple of years and every RTS fan will buy it anyway.

If it can surpass StarCraft - BroodWar is not for sure yet and we have to wait and see. It will probably attract more people to the StarCraft universe, but the old StarCraft community will not die that fast. It probably will take another 1-2 years until the game is done anyway. But this was very amazing news for me, I was suspecting Diablo III or some MMORPG from Blizzard, but not a PC-only old-school singleplayer+multiplayer game, that really goes back to the roots and just adds 3D graphics and physics to it. Nice job Blizzard!