BDCFF: Grant Walker's text format proposal

Proposal written by: Grant Walker
Last modified: about 11 Nov 1995
Supersedes: nothing
Superseded by: nothing

In this document:

  1. Text format proposal

1.0 Text format proposal

Grant's suggestion is that a text format could be developed similar to the windows INI files. For example:
; A comment line
[BDCFF]
compat=1.00
version=1.00
revision=8 Nov 1995; Hey, let's use _unambiguous dates_ with _four digit years_ for a change.
; Global Info
lives=5
frametime=200; 200 ms per frame, ie 5 frames per second

[sequence]
Cave A
Cave B
Cave C
Cave D
Intermission 1
Cave E
...

[Cave A]
author=Mr Smith
width=5
heigh=5
type=cave
map
WWWWW
W...W
W...W
W...W
WWWWW
One unresolved problem here is what to do about the many different object types? There aren't enough ASCII characters to support all the different objects in use over different implementations (remembering that for example, a zonk in Supaplex behaves slightly differently to a boulder in BoulderDash, and so you'd have to have different characters for them).

One possibility would be to have some kind of character mapping section. Maybe it would go like this:

[Object Types]
W=$12340000 ; ie 'W' means tag $1234, attributes $0000 = BoulderDash Steel Wall object
.=$56780000 ; ie '.' means tag $5678, attributes $0000 = BoulderDash Dirt object
r=$9ABC0000 ; ie 'r' means tag $9ABC, attributes $0000 = Supaplex Zonk object
; etc
To assist readability, we could provide standard "sets" of [Object Types] definitions. That is, provide a set for BoulderDash caves, another set for Supaplex caves, etc. That way, hopefully there will be some consistency in what the characters mean: 'W' will hopefully always be used to mean unexplodable wall, whether it be a BoulderDash type ($12340000) or a Supaplex type ($DEF00000) or whatever.
Webmaster for this page is Peter Broadribb