You know where to find my email address. Before contacting me, see if your questions have already been dealt with in the following Frequently Asked Questions list.


"Where did you learn how to create all these applets? / How can I learn how to create similar applets?"

I learned it the hard way, by going through the language specifications and examples at Sun's Java site and checking out other people's source code. But I wouldn't recommend this approach to anyone today. Back when I started, there was a shortage of good Java reference literature on the market (at least in this part of the world) and you couldn't just walk into a bookstore and look for the Java section. Try a beginner's book first.

"What kind of compilers do you prefer? / Which graphics applications and other software do you use?"

Well, I'm kind of cheap and decided early on to try a low-budget approach to Java programming, so I'm sticking with shareware applications and software that's available for free. Since I'm working on a Mac and odds are you're not, I don't see much point in recommending specific products, other than Sun's Java Developer's Kit, which is available for other platforms as well, and possibly the Persistence of Vision freeware raytracer. (I also happen to own a very early version of Adobe Photoshop, but I wouldn't dream of buying their latest release. To an amateur developer it's simply not worth the cost.)

"I downloaded [some game] and tried unpacking it with WinZip, like you recommended, but it said there was something wrong with the TAR file. What software should I use?"

This may be an unsatisfactory answer, but if you download the compressed file correctly, WinZip 6 (or later) will work. I've had an overseas friend of mine test it with WinZip 6.2 and all the ingredients came out OK. The archived and GNU zipped games are binary files, so make sure your browser doesn't try to fetch them as text. Also be careful when saving the file on your hard drive, that the browser doesn't try to give it any new or modified name extensions (like _tar.tar instead of .tar.gz). That could confuse WinZip later on.

"I've written a Java game of my own and now a company wants to buy it. What price should they pay? How much money did you get for yours?"

I'm not telling. What I got is irrelevant, because there is no real market for ready-made Java games. In general, companies are not interested in paying for a game made by an amateur, unless it happens to have a strong connection to what they are doing. The big money is in contracted development, where you know your product suits your customers' needs, because you have built it according to their specifications. If you have found a buyer for a finished game, consider yourself lucky. Ask for as much as you think you can get away with.

"Some of your games don't seem to work in [Windows] Netscape 4.05. I keep getting these NullPointerException errors. What's wrong?"

The problem occurs when the applets fail to obtain the graphics data they need from the network. Instead of a functioning image they are left with simply a "null pointer". As for the cause of this, the most common one seems to be that some people (particularly in local area networks) are connected to the web by way of a so-called proxy server. This generally speeds up surfing but often robs the browser of some of its privileges, like verifying for itself that the machine an applet attempts to get data from is still a valid source. If Netscape can't do that it will refuse to complete the delivery. There may be other causes as well, but if you constantly get null pointer exceptions, ask your local system administrator if you are indeed surfing through a proxy server and what to do about it.

"Hey, I have come up with/stolen this really cool idea for a Java game I want on my homepage. Could you write it for me? Please, please, please! I can't pay you anything, but..."

Unfortunately, the world doesn't quite work that way. I have bills to pay, like most other people, and a Java game is a very time-consuming project. I just can't afford to to that kind of charity work, even if I would happen to find the game idea interesting.

"I've played [this and that game] lots of times before, but now it doesn't seem to work. No matter how many times I press the space bar, it won't start. What gives?"

If you've recently upgraded your web browser to a current version, the problem could be caused by the new Java 1.1 not being fully compatible with Java 1.0 (on which all my applets were based). It seems that applets are no longer given "focus" (think of it as the ability to sense keyboard input) by default when clicked upon. It has to be specifically requested by the programmer. I've modified most of my applets to take care of this, but if you play the game on some other server you may still experience this problem if the site manager hasn't updated his copy.

"Miten saisin omalle kotisivulleni myös java-pelin. Onko lähde koodeista hyötyä."

I don't speak Finnish. Swedish is taught as a second language in Finland, not the other way around. Don't expect me to try to decipher those sentences. I just don't have the time. Questions in any other languages than Swedish, English, German, Danish or Norwegian will be promptly ignored.

"I've put a link to your site on my page. Will you return the favor and include a link back to me?"

As a general rule, I only link to sites that contribute some original and impressive work, which the owner of the site must have created himself. That means no "List of cool games and links I've found on the web" type of sites -- no matter how long the list is or how cool the games are. If a game or educational document isn't yours, I'd rather link straight to the author and credit the one who really deserves it. In short: no middle men.

"We need an applet that does [such and such] for our commercial site. Are you willing to do contracted work? We'd pay you big bucks."

I might be. It depends on how swamped I am with work at the moment. Most of the time I'm reluctant to take on someone else's Java project, even if it would pay well. As a general rule, the smaller the applet, the greater the chances.

"Can I borrow some of the graphics from [one of the applets] to use in my own programs / on my own site?"

Uhm... welllll... er... uh... I suppose, maybe... uhm... considering... hm... yeah, OK. But whatever happened to originality?

"We have put together a slightly modified version of [one of the applets] that we'd like to include on our site / on some CD / in some Java book. You're still mentioned as the original author and all that. Is this alright with you?"

Usually yes. Though as a matter of formality I'd prefer a chance to have a look at the modified applet first, just to be sure.

"Your highscores don't get stored permanently. I think it would be a good idea to have the applets do that. You should also include multiplayer options. How about it?"

The web server I originally built this site on did not allow custom CGI scripts, which meant there was no easy or practical way of storing applet information permanently. That's why none of the early games have permanent highscores. When I made Tube I tried a technique that let the applet store the player's own highscores on his own hard drive by way of "cookies." This, however, turned out not to work with the Macintosh Runtime for Java (used by the Mac version of Internet Explorer). But now that I have moved to a new place (, I can equip all future games with permanent highscore lists.

"Wouldn't it be a great improvement to include [such and such] in [this and that applet]? Why don't you put it in right now?"

There are plenty of things that could easily be improved -- particularly about my earliest applets. However, I've decided on the policy to preserve the applets as they were when I originally considered them finished. It's to serve as a reminder of how standards have changed over the months and years. (Malfunctions are exempt from this policy, though. If there's a bug in an applet, I'll try to fix it.)

"I think [one of the applets] is pretty cool and I want to put it on my homepage. How do I do that? Explain please."

Sorry, but you will have to learn that elsewhere. It would take a hundred times longer for me to explain it to you by e-mail than for someone who

  • knows what hardware you use,
  • knows what software you use,
  • knows what sort of www account you have,
  • has a fair idea of how much you already know, and
  • lives within a convenient walking distance
to show it to you in person. So please talk to someone with those qualifications first.