The country of origin should pay the costs of deporting illegals

The problem with illegal aliens is that
1. We don’t have the resources to hire enough agents to catch most of them
2. Most of those we do catch are immediately released because we don’t have the resources to hold most of them.
3. Those we do send back just get a free ticket home.
4. As soon as they are sent back, they just come to the US again.

I’m surprised nobody has mentioned this before: just bill (via tarrifs or other means) the country of origin for the costs of the deportation. After all, these are their citizens we are talking about.

1. The increased funding would go towards hiring more agents
2. The increased funding would allow us to better hold caught illegals
3. They still get a free ticket home, just we (meaning you and I, the tax payers) aren’t the ones paying for it.
4. Their own goverments will have an incentive to stop them, rather than encourage them, to cross the border.

Right now the Mexican goverment is actually encouraging people to cross, going so far as to give them desert crossing travel guides! If they worked with us, rather than against us, we’d be 10X better, not twice as better, as protecting the border.

We should also fine businesses that hire illegals. This is already the law – just not enforced.


Why the PS3 will probably fail

A few years back I wanted a DVD player for my TV. When I went to the store, I didn’t go to the video game aisle. I went to the DVD player aisle. Something like 6 months later I wanted a PS2. I didn’t go to the DVD aisle. I went to the video game aisle. Belatedly, I found out the PS2 could play DVDs, so I sorted of wasted my money on that $100 DVD player. While I now know better, is Grandma buying Christmas presents going to know? Of course not. And this is the flaw behind the $500/$600 PS3 sales strategy. Grandma’s going to buy a Wii for her grandkids, because it’s 1/3rd the price and it also plays games. And she’s going to buy a DVD player for her son, or some more affordable alternative such as the HD-DVD, because they all play movies. Even if you’re technically knowledgable you’re still going to balk at the price because, again, there are cheaper alternatives that do the same thing. For 1/2 the price I could get an XBOX 360 rather than a PS3. Most developers develop for both platforms and they usually use the lowest common denominator for both machines. So even if you have a Blu-Ray drive that holds Gigs of extra data, it just means you have a big empty disk.

In this article this article Ray Maguire defends the price because it’s allegedly cheaper than buying both together:

“I don’t think it’s an expensive machine; I think actually, it’s probably a cheap machine,” he commented. “If you think a Blu-Ray player by itself might be GBP 600-700, and we’re coming in at just GBP 425 – it’s a bargain.”

This is the begging the question fallacy. If you are Ray Maguire then you work for Sony and as such you won’t even consider buying a HD-DVD or an XBOX 360. So yeah, “it’s a bargain”. However, if you’re not Ray Maguire and you don’t work for Sony (or aren’t that loyal) you’re going to look at alternatives, in which case it’s not so cheap anymore.

In my opinion, Sony should sell the PS3 and they should sell a Blu-Ray drive. Each can sink or swim on its own merits. I think sticking to their guns will just cause both to fail.

Game Development

The more I use Vault the more I like it

So I reinstalled Vault and have been using it locally without a problem for a few days. The more I use it, the more I like it, to the point now where I couldn’t see working without it. It’s so easy to use, and has a very nice search tab where I can find all renegade files, or all files not checked in, and various other search filters.

Apparently the 403 bug with Vault was due to some firewall or proxy restriction at work. I’m trying to find a way to get around that. Once that’s done then I’ll buy a registration.

Game Development

You never have a second chance to make a first impression

My title is a cliche but I was reminded of it recently as I was looking for a graphics engine for my web-based MMOG. While there are free engines available, Ogre 3D probably first among them, people who expect to make money generally work harder than those who don’t – RakNet vs. HawkNL being a prime example. So I was prepared to pay for a low cost graphics engine, and one of these is Power Render. I took a first glance at their website. Had this been the first time I encountered Power Render I would have taken a second. But instead I closed the page without further consideration. This is because I had used it about 6 years ago in version 3.0 or something like that. I wasn’t that great of a programmer then compared to now and had even less tolerance for poor API design. In short, I was pissed off that after a week I couldn’t even get the library to compile (no project files were included) and that I had wasted $150 or something like that because you had to pay before you could get any code. I wrote a negative review on the gaming website I was running (though the website had nothing to do with programming APIs) and remember to this day not to use Power Render.

Is that logical or fair? Probably not. It may be the world’s best 3D library right now for all I know. Will I ever look at using it again? No. It probably has working project files now and may even have up-to-date documentation but I’ll never know because I already wasted $150 learning that it didn’t (back then) and don’t want to go through that again.

The lesson to be learned is not so much to let people use your code before paying for it (though that is important if you don’t want forever pissed off customers), but that you only get one chance to launch your product. I got more of a proportionate gain in traffic for RakNet on launch day than on any time since then, except possibly when I started giving it away for free two years ago. But that was a bad thing because a few months later I’d find a crippling bug, which I’d fix shamefaced and wonder how anyone could have used RakNet with that bug. Then I’d do some order of magnitude performance improvement and be shamed at anyone could have seen how sub-optimal my library was. And so on. The RakNet of today doesn’t really share a single line of code with the RakNet of 4 years ago, is a million times faster, and has 10X the features. Yet someone who looked at RakNet 4 years ago wouldn’t have the impression of the hyper-fast full featured RakNet of today, but the slow, weak, clumsy version of then. In fact, the review still refers to the RakNet of 4 years ago and this is analogous to the impression many people probably have today of the library.

The same holds true in game development, but it’s even worse. Because with a programming library, if someone doesn’t buy your library today that’s OK because someone 4 years from now who has never heard of it might and you’ve been working on it the whole time. But with a game, once you get your two weeks of shelf space you’re gone. Nobody will buy your game 4 years later: They wouldn’t have heard of it and even if they did there are games with 4 years worth of graphics advancements to compete with yours.

In every project I’ve ever worked on, game development has gone on to the very end, with a month of bug testing, and that’s it. There was no dedicated time spent on game design, or fun, or balance. These things were worked on simultaneously while the levels were being built and the game programmed. The problem is that if you make a level that’s not fun, or an AI that’s too hard, nobody knows that and even if someone did it wouldn’t matter because the person responsible is the same person who created the problem and they probably don’t agree with you. What might be fun to a programmer who plays the game 10X a day for years might not be fun for someone who has never seen it before. So these games are released, and they have good graphics, and they may be novel, but nobody is playing them 6 months later.

To make a classic game, or programming library, or probably a lot of other things I think it’s extremely important to look at the issue of quality over completeness. Blizzard does this, and it takes them years to make a game, but they are making something like 10 million * 15 dollars a month right now with WoW where other MMOGs are considered a success to get 1/100th those subscription rates.

I think for my own MMOG I’m going to spend X months developing it, then force myself to spend another X months polishing it, with closed beta tester feedback the whole time. Because I only get one shot to launch, and if I can pull this off I will be pretty wealthy. But if I fail, I will have lost years of my life and a ton of money.


Dropping for Paypal

If you’re interested in taking credit cards online, I think the best option on the internet right now is Paypal. But it depends on your volume:
$150 setup fee
$30 a month monthly fee
You have to actually program a shopping cart using their API
Supports recurring billing
3% + some small amount per-transaction fee
Money goes to your bank account

No setup fee
No monthly fee
You don’t have to program anything, although you might want to use javascript to make filling the form easier.
Supports recurring billing
3% + some large amount per-transaction fee
Money goes to PayPal’s bank account, which in theory you can transfer to your bank account.

That “in theory” is why I’ve waited so long to switch to PayPal. I’ve read numerous stories about how PayPal has frozen accounts, for no fault of the owner, because of scammers or other reasons. Just search for “Pay Pal sucks” in Google and you’ll see lots of horror stories about this.

The problem I had with is that they refused an overseas transaction (because it was overseas) for $1000 and didn’t ask me first or tell me about it until the pissed off customer contacts me and wants to know where his money is. Apparently his credit card company put a hold on the money anyway and there is some kind of asinine process where he can’t get his money although refused the transaction and there’s no way for me to help him out. Obviously, I cancelled and am out about $1200 counting the setup and monthly fee. If I had gotten PayPal originally this wouldn’t have happened (Paypal does accept overseas).

When I finally finish my MMO and have thousands of customers though, I will have to switch back. I can’t afford the risk of PayPal freezing an account clearing tens of thousands a month and the per-transaction charge will kill me.

Game Development

Going back to web-based game

If you look at MMOG Chart you’ll see this little game called Runescape. It’s a web-based MMOG. The graphics are terrible and the gameplay simplistic, yet they are raking in the money and have more subscribers than Everquest. Why? Lets look at what is different between Runescape and the other MMOGs.

1. The graphics suck.
2. The gameplay is simplistic.
3. It’s cheap.
4. It runs in a webbrowser.

Since the first two are negative points, the conclusion must be that it’s the last two points that are selling the game. More than this though – if your graphics suck you don’t have to spend as much time or money on graphics, which is a big plus to me in my situation.

So I’m going to avoid the work of migrating the Reality Engine (although it is a great engine) and continue with my original plan of using Irrlicht in a web browser. Irrlicht just released version 1.0 too so I’m going to take a look at that soon.


Dropping Evolution for Vault

Evolution, like Perforce, is good at the check-out / modify / check-in model of working. I don’t work that way though – I do modify / scan for changes / check in. While Evolution supports scanning for changes (which Perforce doesn’t really do) if it finds Renegade files you only have the option to merge by hand and immediately change what is on the server. You cannot check out these files, nor is your change set atomic, nor can you submit comments with your check-in.

The merge tool that comes with Evolution is especially lame. All they did was take the freeware GPL merge tool and rename it. It doesn’t link in with the rest of Evolution because they’d have to make it open source. As a result, it is missing features such as the ability to see what version you are looking at if you do a diff in the history.

I’m dropping Evolution until a later date when they have time to polish it up. I’m going to give Vault another shot, since the more I use these other tools the more I still like Vault.


IonForge Evolution is pretty good!

I’ve been trying out various source control applications recently. At work we use Perforce. I have to admit that it’s powerful. That aside, I hate Perforce with a passion. I’ve lost work on at least 4 occassions and everytime I have a problem it’s “Perforce fucked up again” which is probably about once a week. It’s because Perforce doesn’t work well with people who do what I do, which is to work partly at home (not on Perforce) and partly at work (sometimes on Perforce).

Over the last 5 days I tried SourceGear Vault, because I’ve had really nice experiences with it when I used to work for nFusion. For usability it’s the best I’ve seen. However, the server installation is a nightmare due to external dependencies, to the point to where I decided it wasn’t worth the headache and tried installing IonForge Evolution.

I don’t have much to say about the installation of Evolution (which is a good thing). It took about half an hour to install. 5 minutes to figure out. I uploaded RakNet’s directories, setup users and groups with permissions per-directory, and that was it. I had a friend download the client and connect to me and it worked the first time. The only bad thing is it seems like uploading is pretty slow compared to Perforce or Vault. However, connections are reasonably fast unlike Vault, which takes a good 10 seconds to connect.

Evolution supports my style of working, which is to work locally without checking out and only uploading when I want to. I’m not totally sure but I think that it also supports searching for renegade files, which Vault doesn’t do short of checking out everything first.

The price is decent. Perforce is $800 per user. Vault is $289 per user. Evolution is $550 per user, but 50% off for IGDA members, so $275. Howevfer, it might be the most expensive for me. I only need 2 users. Perforce gives that for free. Vault comes with one free users. I don’t think Evolution comes with any free users. I’ll email them now to find out.


E3 is no longer about the games

Yesterday I was at E3 trying to talk to a developer who was obviously passionate and hopeful about their new MMO. I forget the name, but it was to be a free download and free play, with subscriptions for premium content. But I couldn’t hear half of what he was saying, even though he was speaking loudly, and I had my ear turned towards him. This is because they had the unfortunate position of being next to a booth with an announcer, screaming into a microphone idiotic play-by-play commentary on a game of Quake.


I was then drawn in by a huge projection of this 5 minute cutscene of a gorgeous battle between Japanese styled heros and a horde of crawling monsters led by a Japanese styled villian. There were hundreds of characters on the screen at once. So I turn to look at the game (yet another MMO) and, at least at first view, it’s a copy of WoW with one (not hundreds) of characters on the screen at once and that character with a sword (Rather than guns as was in the movie). Which was confusing because I didn’t expect to see a copy of WoW, but the game that was on the projector, which was hundreds of characters in a war with a zerg-like horde of charging beasts. So different are the two that I looked back at the projector just to make sure I was looking at the right game (I was). I try to watch some gameplay but am distracted when 6 scantily clad models prance onto the stage in front of the projection and start dancing around, with another model screeching excitedly into the microphone. I just left at that point because it was annoying and the crowd was too large to look at the game any longer.

A while later, in another booth, they have having a Warcraft 3 tournament, but it’s hard to tell more than that because there are 8 monitors up on a platform with only 3 of them showing the game the announcer is screaming about. Between the crowds, the announcer, and the layout I never was able to tell who won.

Mid-day they had a girl twirling a flaming baton, with other models on raised platforms dancing or shooting with pretend guns. I have no idea what game or company they were with. I think it was Ubisoft though, because later on in the same general area another model got a hold of another microphone. It went something like


I laughed.

The most interesting thing I saw was that Microsoft games had a copy of Windows Vista there. The demo guy had chess up on the screen, but apparently lost the network connection because he had to load up ipconfig /renew (I was watching what he was typing). I don’t think he got it working though.

To their credit, there were companies there just trying to show off their games at let people play it. But a very significant number of companies were there just to do the equivalent of standing up on a box and screaming their names over and over, to the point where you couldn’t understand anyone else. I was ready to go home literally about 30 minutes after walking in. I’m not going to go to any future E3 events.


SourceGear Vault Review

Sourcegear Vault is a source control server that is designed to be a replacement for Visual Source Safe.

Rather than write a long review, I’ll list the major pros and cons:

1. Client is very easy to use. Even with no training in any source control system I think most users can accomplish what they want with little direction. Perforce, by comparison (which is the next closest comparison) is very difficult to use and it is both possible and likely you will lose data because of this.
2. You can work by changing files locally and merging and checking them in. Or you can do the usual checkout / change / checkin method.
3. It doesn’t create files on your local harddrive (Perforce also has this benefit). CVS and Subversion both create files on your harddrive, which is really annoying when trying to make builds.
4. It has a command line Linux client.
5. It’s half the price of Perforce.
6. It uses a real database, rather than try to reinvent the wheel as does Perforce.
7. All but one of my support posts on the forum were answered quickly.

1. It’s slow to connect to – takes about 10 seconds even on localhost with a fast computer.
2. The command line Linux client requires Mono, and my users indicate that is an unacceptable dependency. Perforce has better support for Linux.
3. While it comes with a web interface, the web interface is useless for anything other than looking at the directory structure.
4. Depends on Microsoft’s expensive SQL database, rather than MySQL, a free alternative. Microsoft has a free version of their database but it comes with restrictions. I heard you can purchase the SQL database from SourceGear cheaper, but this is unconfirmed.
5. Depends on Microsoft’s IIS, which is very difficult to configure and is inferior to Apache. In fact after 5 days I still don’t have it working right. “The Vault server could not be contacted to perform the operation. Your network connection to the server may have been interrupted. Please verify your network settings using the Options dialog under the Tools menu in the Vault GUI Client.The request failed with HTTP status 403: Access Forbidden.” This may be an IIS error, but I really consider it to be a Vault error, because Vault has a needless dependency on IIS and the only reason I installed IIS is because Vault depends on it.
6. My friend Jason told me it’s very slow with very large databases.