I am a university student and professional Java programmer from Uppsala, Sweden. I have been programming for almost as long as I can remember, and picked up Java in the winter of 1999/2000, and haven't looked back.

GameForm started to take shape in the late fall of 2000, while I was writing a couple of games, primarily a game called Snake II. I wanted to use the same graphics code for the games, and also use a single graphics and level editor for all games. I put some effort into making classes that would be reusable, both small, fast and flexible enough to use in both the games and the data editor. They turned out well enough that I could use them in a basic graphics library that I could also use in future games, and a flexible data editor.

Working on the library and editor turned out to be more fun than working on the various games, and I decided to document the source code and release it. A lot of the code was rewritten, restructured and/or commented, especially code that was only used by the editor was removed from the core library to reduce its size. Despite adding a lot of functionality in the process, the final library ended up taking about half the size of the original library. I decided to rewrite Snake II for the new library and it is now included as an example of a game written using GameForm.