Project Proposal

Project Information

Project: KoLmafia
Summary: a desktop tool which interfaces with the Kingdom of Loathing
Related Documents:

Process impact: This proposal, along with drafts of related documents, will be used by management to determine whether or not to approve work on this project. A clear and precise project plan helps set expectations that will be used later to evaluate the success of the project.

Background and Motivation

Kingdom of Loathing is an online adventure game written in PHP.
Problem to be addressed
As players advance in level in this game, the tendency is for them to settle into routines where they repeat the same set of tasks over and over again, tasks which involve nothing more than senseless link-clicking. As these routines continue, players begin to grow bored and dissatisfied, causing them to depart from the game without having experienced the subtler details which make the game enjoyable.
Current approaches
  • KoLmelion: A VB.NET implementation of a Kingdom of Loathing desktop interface.
  • KwiKoL: A Java library which interfaces with the Kingdom of Loathing using Jakarta's HttpClient.
  • KoL CLI: A PERL implementation of a Kingdom of Loathing command-line interface.
  • Argon: A browser helper which interfaces with the Kingdom of Loathing.
  • Motivation
    Because the Kingdom of Loathing requires very simple input and generates very simple output, the OS-dependent and full-blown HTML parser solutions to this problem are overkill; a specialized, cross-platform tool can be created which consumes far fewer resouces while providing the user with the same experience. However, many users aren't familiar with command-line utilities; therefore, they cannot enjoy the benefits provided by KoL CLI.
    Written in Java without any use of C++ bindings, KoLmafia serves as a platform-independent solution. KoLmafia makes use of the built-in Java networking libraries to parse and retrieve only what's necessary in order to play Kingdom of Loathing, eliminating HTML parser overhead. Java's Swing libraries are also simple enough to provide the user with a clean interface without consuming resources or excessive screen space.


    The goal of this project is to create a cross-platform desktop tool, written in Java (J2SE 1.5 compliant), which interfaces with the online adventure game, Kingdom of Loathing. The project intends to provide all the user-friendliness of the KoLmelion graphical user interface while giving KoL CLI and other command-line users the scripting flexibility to which they have grown accustomed.

    For information regarding the benefits of this project, please refer to the target and benefits document.


    In Scope Out of Scope
    [in scope] [out of scope]

    Risks and Rewards

    The main risks of this project are outlined in the project plan, and the main rewards for working on this project are outlined in the target and benefits document.

    Copyright © 2003 Jason Robbins. All rights reserved. License terms. Retain this copyright statement whenever this file is used as a template.