43 lines
1.8 KiB
Markdown
43 lines
1.8 KiB
Markdown
# Forge
|
|
|
|
Forge is an authoring tool for Singe: a game is described -- its types, rooms, rules, and tracks --
|
|
rather than written, and Forge compiles the description into an ordinary Singe game that can be
|
|
read and edited by hand. Forge is itself a Singe game. It is its own project: nothing of it ships
|
|
inside Singe, and a game it builds carries its own copy of the runtime.
|
|
|
|
Forge needs Singe 3.00 or later.
|
|
|
|
## Layout
|
|
|
|
| Folder | What is in it |
|
|
|---|---|
|
|
| forge/ | Forge itself: the editor (Forge.singe, Forge.rml), the runtime (Author.singe), the compiler (AuthorCompile.singe), its games.dat, the kit of art the tutorials use, and the tutorials' finished descriptions |
|
|
| docs/ | The Forge book (Forge.adoc), its vocabulary chapter (ForgeVocabulary.adoc, generated), and its pictures |
|
|
| testScripts/ | The test scenes, the sample descriptions (author/), the library port comparisons (ports/), and the files they load |
|
|
| util/ | Tools: the vocabulary chapter, the tutorial kit and pictures, credits, and the library converters |
|
|
| FORGE.md | The plan |
|
|
|
|
## Building
|
|
|
|
./build.sh
|
|
|
|
writes build/Forge.html, build/Forge.pdf, and build/Forge.game, the distributable. Packing is
|
|
Singe's own --pack, so the build needs a Singe binary: by default the newest one in a Singe tree
|
|
beside this one (../singe/.builddir), or whatever SINGE names:
|
|
|
|
SINGE=/path/to/Singe-v3.00-Linux-x86_64 ./build.sh
|
|
|
|
It also needs lua5.4, asciidoctor, and asciidoctor-pdf.
|
|
|
|
## Testing
|
|
|
|
testScripts/run.sh every scene
|
|
testScripts/run.sh 52 83 just these
|
|
|
|
runs the scenes headless against the same Singe binary (SINGE again) and reports each. Logs and
|
|
screenshots are kept in build/tests/.
|
|
|
|
## Licence
|
|
|
|
GPL version 3 (COPYING). The test files' and the kit's credits are in testScripts/README.md and
|
|
forge/kit/LICENSE.
|