Shoddy Battle

About Shoddy Battle

See also the screenshot gallery.

From the ground up, Shoddy Battle has been designed to run on multiple platforms — Microsoft Windows, Apple's Mac OS X, GNU/Linux, and others. We have realised this goal by writing the program in the Java programming language. Java has also made it easy for us to write the program in such a way that each section of the logic is separate from other parts — for example, somebody hoping to modify the metagame does not need to understand how the online communications work.

Unlike some other pokemon simulators, you are fully entitled to view the source code, to modify it to your needs, to redistribute it as you see fit, and to run it for whatever purpose you like, so long as you pass these freedoms on to others. Shoddy Battle's commitment to freedom results in numerous practical advantages:

  • Security is improved because open design prevents the proliferation of poor designs (e.g. "SIDs") that suffer from the trusted client problem.
  • The simulator can be intimately customised for whatever metagames you have imagined, however elaborate.
  • The project will outlive its original developers, so that a large rewrite is not required eventually.
  • With more people free to work on the project casually, problems will be solved faster.

With little programming, Shoddy Battle allows the creation of new moves, items, and pokemon. With slightly more programming, it is possible to create any sort of metagame. Because the program is free as in freedom, no aspect of the server is closed down to you. We do not make decisions for you. If you would like to play without critical hits, you can easily do that on your own server.

Shoddy Battle implements most of the Advance (Ruby/Sapphire/Emerald) and Jewel (Diamond/Pearl) metagames at present. Of course, you can customise the metagame however you like thanks to the freedoms offered to you by the project.

To get started, download the client and connect to a server. Or, if you are interested in running a server, check here to get started. You can also checkout the current source code from the repository; it can be viewed online as well.