Intro

Description

Excalibur is a now abandoned formatter for Utopia. It has been updated up to age 19. The program is still available in compiled form, but chances are it will be outdated very soon if it isn't already. I no longer play Utopia, so I have no idea.
I have decided to leave it here because it might be used as starting point or inspiration by other formatter makers. The open source code (Delphi 4) is available for this (or any other) purpose, under a very liberal licence. The compiled versions are known to work on any 32-bit Windows, tested up to and including XP SP1.

Linecounter is a tiny tool meant to make life easier when writing a formatter. It has its own page with screenshots and download location.

Versions

There are two versions of Excalibur: the original one, which is finished, used for a couple of years, and the second version which is a complete, but very unfinished rewrite. The code of the first version however is awful, the second version has a much better structure, much cleaner code, faster operations and some extra features, like formatting a CB first and the KD later and still getting the networth info in the CB. It's not perfect, as it fails to use an OO approach, but it's quite usable by persons not familiar with the project I think.

Choosing

If you are a programmer interested in code for a formatter, it might be hard to decide which version to download. View the criteria below to decide.

Excalibur:
  • updating for new ages is a breeze because it usually just involves changing some constants
  • loads of features available (all formatters, time calculator, attack calculator, science calculator, virus-proof scripting engine for the Pascal-like Expasse language with access to the interal API plus a syntax-higlighting IDE for development (the Scriptorium) which also does a bit of HTML editting, screens for changing the settings, file association, internet update alert, forum post mover, plain mathematical expression evaluator, report generator for adding several pieces of data in one report, notepad, registry-free operation and possibly more I can't think of right now)
  • requires about a billion third-party components
  • no separation between engine and GUI
  • code is awful and in places speed is lacking (note: this is measurable, but not noticeable by the user on any computer bought after around 1996)
  • contains some ugly hacks and patches.

Excalibur 2:
  • best choice as start for a new project
  • readable code
  • more advanced and faster settings system (database-like)
  • GUI and engine are not tightly integrated, it's probably possible to use the engine as basis for e.g. an online formatter. The engine is called Cobra and my intention was to rename the whole project to Cobra.
  • few dependencies on third-party components (partly because unfinished)
  • elegant design (horizontally/vertically dockable, skinnable including menus)
  • fast (both startup and operations), can format anything in about 1/5 of a second even on a very old Pentium 1 machine
  • partial implementation of the JADE data exchange format
  • far from finished (most actual formatters are done, but nothing else, even a complete data exchange line implementation is missing).

Bugs

Except for the above outlined issues of each of the formatters, there is one known bug in the SoM formatter: with certain configurations of armies out (never if all armies are out at once), it will not format properly. This is a problem in both versions if I'm not mistaken. The recommended solution would be to build the formatter around the JADE specification for SoMs, as opposed to the structure which is currently used to store SoMs internally. The JADE version does not care whether army 1 or army 3 is out, it just cares about how many armies are out. This is a very smart approach and avoids having to convert between the different formats in order to create or interpret the JADE SoM line.
Change: 02-04-2003 | Visits: 10087 | © 2003 Project 5 | Validate XHTML | Validate CSS