FTF Standard File Formats for PBEM/Utilities
From: Tim Jones <Tim.Jones@S...>
Date: Thu, 22 May 1997 06:30:24 -0400
Subject: FTF Standard File Formats for PBEM/Utilities
Hi all
I know the thread to design a standard format spluttered out some time
ago with no conclusion, but I'm into equine flagellation.
I'm thinking about building a file parser/writer for use by ftmap to
read a standard game description and produce the map from it. The
current version uses a fairly proprietary and difficult format, it would
be great if it could just be run off PBEM game reports directly.
In addition other people have done work along this track with the Java
Battle Computer using the Mark Kochte PBEM reports. What I hope to
design is something that can be easily parsed by a computer but also is
a nice format for PBEM games for humans to read.
In my real job I at times write translators for vector graphic files
such as DXF. The great thing about standards like DXF is that everyone
agrees on it and so the exchange of data between diverse applications is
possible. Now DXF isn't a human friendly form but it's the spirit of
this I'm looking for. Another analogy is the RTF format used by word
processors. I intend to call this new format FTF (Full Thrust Format).
My initial thoughts are the format should be object based, what this
means is that the various records and fields within the report are
represented by a set of self contained data and the functions to act on
them. For example instead of having a record for an FT ship we might
abstract this to be a Game Object. A Ship is a type of Game Object but
so is a Base or an Asteroid or a Fighter Squadron. The abstract class of
Game Objects, all have certain data in common such as a
Position/Heading/Facing/Velocity. A Ship is a type of Game Object which
will inherit the values for the generic Game Object record but add its
own fields for things that are to do with ships such as Thrust Rating.
This model can then be applied throughout the entire FT game structure.
What is required is a full set of the objects within the game and the
data associated with each that is important for the use of that object
in a human report or a utility data file.
The other point is how the data is tagged. A tag in this context is a
text value that delimits certain words as special, e.g. in html the tag
<H1> warns that the next item is a Heading. I'm not proposing to use
html tags as anyone who has used them knows they aren't human readable,
I suggest something along the lines of
Ship:
Fighter:
Lastly the way that data types are delimited and represented, examples
of data types are list, position, numeric value and string. The damage
rows of a ship could be represented by a list (vector) of numeric values
in several alternative ways e.g.
Damage: {5,5,5}
Damage: 5/5/5
Damage: 5,5,5
If you are interested in this I invite you ideas and opinions via
private email or on the list if you deem this is an appropriate thread.
Sincerely
Tim Jones
--
To contact me directly about ftmap/FTF/ftdeck (threshold cards) please
use:-
Tim.jones@smallworld.co.uk