Monthly Archives: May 2004

vbc.rsp, coming in VB 2005!

Jay’s blog entry on references and such reminded me of another small feature that we’re doing for VB 2005, the default response file for vbc.exe. Basically, this feature makes the VB command-line compiler work in pretty much the same way that the C# command-line compiler works today: there is going to be a file vbc.rsp that sits with the command-line compiler and includes a lot of default settings for compilation, mainly references and imports. If you don’t want the default response file, you can specify the /noconfig switch and we won’t load the default settings.

Jay’s main point, though, is about the difficulty of getting to classes that you know must exist but which you don’t have a reference or import for yet. He suggests that projects by default should reference the entire framework but this won’t work, at least for VB. I’ve been doing quite a bit of work looking at how long it takes to create a new WinForms project in Whidbey and it turns out that the Frameworks DLLs are big and getting bigger. Just loading all the symbols out of them so that we can do Intellisense and code model stuff consumes quite a bit of memory. So the thought of referencing even more DLLs makes me shudder – C#’s Intellisense/code model engine might be different, but for VB the “small performance impact” would be very big. Unless, of course, you’ve got gobs of available memory, which we all have, right?

That said, it seems like there are other ways we could attack the problems of adding references and of adding imports. This is of particular importance to VB because of the fact that the My namespace is intended to aggregate functionality from across the Framework. How do we deal with My.Foobar, if you don’t have a reference to System.Foobar.DLL yet? So I think we’ve still got some work to do on that point.

Karateka and Prince of Persia, classics

Now that I’ve managed to get all of the files on my old 5.25 inch disks off onto my computer and have set up a handy VirtualPC with MSDOS 6.22 installed on it, I’m starting to go through and weed out the wheat from the chaff. One of the first things I found was a game that I remember with great fondness – Prince of Persia. I fired it up and as soon as the game started, I remembered that Prince of Persia was written by the same guy who wrote one of my most favorite Apple ][ games, Karateka. What was interesting was that I had completely forgotten the author’s name, but his visual style was so distinctive that it took me less than 10 seconds to remember that they’d been written by the same person.

What made both games such classics was the use of incredible attention to detail to convey more meaning than really seemed possible given the primitive graphics and sound of the time. All of the characters in the game just moved incredibly realistically and in a way that conveyed personality and emotion. Contrast that with a game like Deus Ex, which was light-years ahead in terms of audio and video capabilities yet had such wooden and dead characterizations that I finally gave up playing half way through when I decided that I didn’t give a crap if the protagonist lived or died. But even with crappy little pixellated animations and tinny audio music, I found myself getting concerned about the princess in Karateka and genuinely worried about having to face the evil boss. Once again, the feeling of the game is as important as the whizzy bang features. (Of course, when you get both as in a game like Half Life, whooo…)