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
"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
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
"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 (javaonthebrain.com), I can equip all future games with permanent
"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
to show it to you in person. So please talk to someone with those qualifications
- 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