Tuesday, February 17, 2009

DarkBASIC Professional Update

I mentioned some beefs about DarkBASIC Professional in an earlier post here. I have a bit of an update on what I had to say there.

First, there's the problem that DarkBASIC Pro had with my version of DirectX. DarkBASIC Pro requires DirectX version 9.0c or later, according to the website and the pop-up message I got. The pop-up message I got from DBPro claimed that I had DX version 9.0. When I ran DXDiag, it begged to differ, reporting that my system was running 9.0c.

Since my last post I decided to go ahead and do an update of DirectX. Since I was doing the download of the DX update on a different system than I was going to be installing it to, I downloaded the redist package, the same thing that developers can include on the disk when you buy a game. This means that I got the August 2008 version of DX rather than the November 2008 version for reasons known only to Microsoft, but no biggie.

I did the install, it reported updating a bunch of individual files. I ran DXDiag afterward to make sure all was kosher, and to check the version. Version 9.0c, it says. Verrry innnteresting.

I love how Microsoft respects the correct use of version numbers...

Anyway, I bring up the DarkBASIC Pro Trial version and do a quick program and compile. No more nasty notes about my DirectX version. Everybody is happy. Apparently my new version of DX 9.0c is more puissant than my prior version of 9.0c. If there were a specific file or files with versions that DarkBASIC Pro needed (d3d or whatever) it would have been nice if they'd said so, it would have eliminated at least some confusion.

Item number 2 is the complaint I had in my prior post about DBPro needing to run as Administrator. Apparently that is the case. In the instance of Vista, for example, one must right click the icon, click a tab, and allow DBPro to Run as Administrator in order for it to do what it needs.

This is an Intensely BAD Thing. Especially under Windows.

It also means that I could never consider DarkBASIC for classroom use. I like to give my students a lot of leeway, but to be honest sometimes they do things with the systems that make it difficult for others to use them. Each of the different classes that use our lab need to be able to come in and use the systems with a minimum of trouble. Our sysadmin is usually not immediately available, he's a thinly spread resource, and he doesn't need yet more work.

On top of that, I don't like to program as an administrative user, on any OS. Life is hard enough without having a program I'm trying to debug hosing the system I'm writing it on. I want some basic guard rails. I do have crash and burn systems, but they're not the one I'm doing my editing, compiling and first run on.

Another strike against DarkBASIC for the classroom is that it would cost my school money. Java, Groovy, Ruby, Python, gcc, Common LISP, and many other useful development tools are free. In many cases in both senses of the word.

Is DarkBASIC bad? No, not entirely. Running as administrator is stupid, but only mildly evil. Coupling it with the fact that it's a programming language targetted at newbie programmers makes the design decision to run as Admin extremely stupid. A result of laziness, or an unwillingness to deal with the vagaries of MS's OS, perhaps, if we were to spread the blame around a bit.

On the good side, the DarkBASIC folks do a good job of marketing. They manage to excite people into really believing they can write killer 3D software. DarkBASIC Pro itself is decent at delivering on this promise from what I can tell so far as I've used it. I think they withhold too much information about a language they've already sold you in the interest of selling additional books and materials. The manual that comes with the basic $70 package is a bad joke on the poor beginners who get it.

Bottom line, I think most beginners would be better off with something else. However, there are some people for whom DarkBASIC Pro is going to hit a chord that other languages won't. And maybe once they've gotten an entree into programming, and fought with DBPro for a while, they'll be ready to move on to something else. Any programmer should know more than one language within two years of the time they start programming, anyway.

And tell me if I'm wrong, but there just aren't a lot of places looking to hire DBPro programmers. VB, yeah. Java, yeah. C++, yeah. DBPro? It's more for the do-it-yourselfer. It's a lot like the older BASICs, but not much like VB, I'm afraid. So knowing DBPro itself isn't likely to land a programming job. But then that's not the sort of language it's built to be.

Monday, February 16, 2009

Black Screen Saver for Mac OS X Leopard

Black Screen Saver for OS X Leopard. No Downloads Required.

My wife has a new computer, an Apple 24 inch Aluminum iMac. The screen on it is beautiful. It's brighter and has a much better range of viewing angles than my 20" Aluminum iMac (which display is pretty awful compared to the wonderful display in my old white 20" iMac that the Aluminum was supposed to replace.)

My wife's computer lives in the living room of our house. She likes to have it there so that she can be around her family while doing bills, working on video transfers, and so on.

This is the same room of our house that our TV resides in.

When we're watching a movie on the TV, that big, beautiful screen is serious competition for the TV. Annoyingly so. On her old computer, my wife had a standard screensaver for the system that would turn the screen black. That option was not provided on her new computer. On the old computer, the monitor was a separate piece of equipment from the computer itself. So the monitor could be switched off, if need be, while the computer was still running, perhaps encoding a video for writing to DVD. The iMac is all one thing. There's no separate power switch for the display.

Well, in fact there are ways of making the screen go black on the iMac. But they weren't obvious to us when we were preparing to sit down to a movie last night with the evening slipping away while we were fussing with a computer instead of starting the film.

What we expected to find was a screen saver in the Screen Saver section of System Preferences that would simply make the screen black. What we didn't find (mind you, we're not Mac novices around here) was the "Put the display to sleep" option under Energy Saver that would have done pretty much what we wanted--except that it can't simply be activated on demand, like a screen saver. (And exactly how one activates a screen saver on demand on a plain-jane Mac is yet another issue.)

An internet search turned up the Basic Black screen saver. It's donationware and I wish them all the luck in the world. It does exactly what's wanted. How much it's worth to someone should have nothing to do with the fact that we're talking five minutes with Quartz Composer, tops, to make the thing. It's like the old joke about the auto mechanic's bill presented after tapping on the car's engine to make a problem go away: $1.00 for the tap, $99 for knowing where to tap.

There are a couple of Quartz Compositions already on the Mac that can fill the bill.

They're in the Macintosh HD/System/Library/Compositions folder on a standard Leopard install.

Monochrome.qtz turns my screen black. I haven't looked at the QC script to see that it does it in all instances, but it seems to do so.

XRay.qtz turns the screen black with some very brief, and very subtle, flashes of dim, dim light every so often. The flashes are dim enough that they could easily pass unnoticed in normal lighting.

To make these available to Screen Saver in System Preferences, use Finder to copy these files from Macintosh HD/System/Library/Compositions to Macintosh HD/Library/Screen Savers. Then they will be available under the "Others" section at the bottom of the screen saver menu. They could also be placed in Macintosh HD/System/Library/Screen Savers but they might be lost through an OS update (though I would tend to doubt it.)

Another option:

You know that picture you've got in iPhoto of the inside of your camera's lens cap? The one labelled "Black Bats in Coalmine at Night During New Moon"? You can use it as a black screen saver, too. We didn't have ours available last night. So we ended up turning the iMac around so that the screen wasn't facing us during the movie.

Not what I expect to have to do with a Mac, I can tell you.

Edit:

I took a look at Monochrome.qtz. It'll show black for you. It wants an input image to convert to a monochrome image. No image, it stays black. It's overkill versus an even simpler Quartz Composer script to just show black, but hey, it does the job as-is and all you've got to do is copy it from one directory to another--no programming required.

Saturday, February 14, 2009

WOPR was Right--The Only Way to Win is Not to Play the (Copy-Protection) Game

The only way to win is not to play the game.

I was looking at picking up a copy of Spore. I've enjoyed a fair few simulations in the past. I still play a fair few old ones on my older computers. I set up a new old G3 Macintosh over the holidays so that I could keep playing Civilization and several other games. The Aluminum iMac that I got as a replacement for the iMac G5 that Apple failed to repair properly doesn't do Classic, so I lost immediate access to a bunch of old games with the "upgrade."

Aside from that, I'd seen Spore in various stores, and read a couple of blogs about folks stretching the capabilities of the game. Today I took a look at some reviews and such, and found out what the box and the initial articles I read didn't tell me about. The copy protection.

Those of you who already know the story are probably telling your computer screen that I should know that the copy protection has been scaled back from the original draconian copy protection system. Yeah, I saw those articles. They were all from last September. And I've seen plenty of unhappy buyers listing copy protection problems in the months since then. I've also read the terms of the "looser" anti-copying scheme. I'm not buying it. I'm still enjoying playing games I bought many years ago. I'd like to buy new games and get years of enjoyment from them, no matter how old and tired someone else thinks they are.

I decided to forego Half-Life 2 because of Steam. I loved Half-Life and its spin-offs. But I wasn't going to deal with paying full price for what is in essence software rental. I've not bought many games since. I used to buy about ten games a year, and get three or four more as gifts. Back when the companies felt the CD format was protection enough. Then the companies decided they needed to protect themselves from CD writers with tricky internet-based copy protection. And I left the marketplace.

Enter Spore. I was tempted. It looks like fun. Will I be able to play it on my vintage Aluminum iMac ten years from now? (I'm assuming my aluminum iMac lives longer than all the other bum Macs I've gone through since I got my wife's old PowerMac G4 tower. But that's material for a future blog entry.) The answer appears to be no, at least not without loading up on crackware now while it's available (and risking a plenitude of security problems while getting it.)

So, as WOPR said, I'm not going to play the game.

What's my alternative?

Well, there aren't many A-titles out in the free world, but there's plenty of B and C level stuff to stay occupied. And the free titles keep getting better. Free as in freedom, not just price. Though it's a lot easier to risk my time on something that didn't cost me cash out of pocket.

I've turned up some possibilities with the following Google search string:
freeware site:http://www.apple.com/downloads/macosx/

I'm also poking around here on Java Game Tome.

There's also Free Mac OS X Games.

Gog.com and Stardock are worth a look. I'd recommend g4g if it weren't for the fact that all the garbage on the site crashes my browser whenever I try to look. I don't know what all they've got there and whether it's legit stuff they've got in the ad spaces or bot-herder crap, so I recommend staying away.

And if you want a slightly dated A-title first person shooter, I recommend Nexuiz. I'm not sure of the correct pronunciation, but I say "necks-wiz." It plays a lot like the old Unreal Tournament. I like it a lot more than Sauerbraten and World of Padman, though those are worth checking out, too, if you're looking for an FPS.

The free/open software copies of popular commercial games haven't been so hot, in my opinion. There are open clones of Civilization and WarCraft II out there. They don't fill the bill well enough to keep me from restoring an old beige G3 Mac to service and installing the originals.

Maybe somebody will do an open copy of Spore that I'll be able to play someday. Or maybe they'll make a half-a-loaf version that starts a package dependency spiral on install, like some other things I've tried. Really, the open games I've liked the best have been those that aren't so much trying to copy a game as give a fresh take on it.

Many years ago, when the world was younger than it is today, I picked up a couple of really great games. The first was F-15 Strike Eagle. Its copy protection beat my disk drive heads out of alignment. It cost me half again as much as the game to get the repair. Just Microprose's way of thanking me for my business.

Another was Psi-5 Trading Company. My wife loved that game. She doesn't like a lot of computer games, so when she likes one, I try to make sure she gets to enjoy it. We got about three plays out of the first copy before it refused to play any more because its sensors detected that my store-bought disk had transformed into an evil pirated copy. A call to the publishers reassured me that they'd be happy to swap out my disk, for a price. Not including shipping and handling charges. All together about the price of the game. And in only two or three weeks, so long as holidays, employee vacations, and snow days didn't interfere. Or whatever. For the game my wife wanted to play tonight.

So I went out and bought copy number 2 at our local retail outlet. (Yes, I guess they "saw me coming.") It ran about twice before cosmic rays from the planet Skyron in the galaxy Andromeda turned my store-bought disk into a "pirate copy." If it weren't for a cracked copy a friend gave me, we would never have played the game again.

I'd like to say I learned my lesson at that point, but no, hope (and foolishness) springs eternal.

Or nearly so.

I quit.

I'm not going to play the copy protection game.

So there you are. Make it free of copy protection, then I'll play the game.