SkotOS - Build Your Own Virtual Theatre

SkotOS, from ChatTheatre, is a suite of tools for making text-based games. If you want to play a SkotOS-based game, you can make an account on Castle Marrach, Allegory of Empires and/or Multiverse; Revelations.

But if you want to build a SkotOS-based game, this is a good place to start.

SkotOS runs primarily in a dynamic game-development language called DGD. There are also miscellaneous scripts and tools in other languages including Node.js and PHP &mdash but the game is mostly in DGD, while other tools are in appropriate other languages.

SkotOS is a game-building library, not a game. The Gables is an example (tiny) game built on SkotOS. It's a great place to start from as you use this documentation.

(The Eternal City was a Skotos Tech game, and is still running and you can play it. But it wasn't built on this engine. Lots of other games were.)

Thinking About Starting?

What's a SkotOS game like? Why would you want to build or run one? Why would a text game be worth running for twenty years?

Once you've pondered those questions, you might want to create an account on Castle Marrach to see a working SkotOS game in action. Or you might want to log into The Gables and see what's in a SkotOS mini-stage, and roughly what you'd get right out of the box.

And what if you decide to build a SkotOS-based game.

What would your first week of building a SkotOS game be like?

Ready to Build?

Don't skip that First Week section. But after that, you'll want more StoryBuilder docs on so many topics…

These will show you the architecture, systems and concepts behind a SkotOS game in more detail.

Also, check out the sidebar on the left. Sometimes it's easier to scroll through lots of topics than to drill down into sub-categories.

Maintaining a SkotOS Game

We also keep documentation about maintaining your SkotOS game once you've set it up.

Writing DGD-Side Code?

Documentation at this level has a more do-it-yourself feel. DGD's LPC is a programming language, and a lot of DGD problems are programming problems.

There's a ChatTheatre DGD and LPC documentation site which can help. There's also a bit of SkotOS-specific DGD documentation on this site, including:

Submitting Code Back? Or Modifying SkotOS?

It's likely that as you work with SkotOS, you'll notice bugs. ChatTheatre has been fixing the code for some time, but it's a huge project. And there are always, always more useful features to add, more libraries to write, etc.

What if you want to submit your code back to SkotOS so that everybody can use it?

SkotOS Classic

A few folks may be here, not to build a game, but because you heard about a twenty-year-old mass of glorious untamed built-by-volunteers digital wilderness and ruins, on top of a frankly bizarre dynamic language that few people ever braved.

That description is SkotOS Classic: a glorious wilderness of really amazing stuff built by volunteers, in all sorts of states of repair. Through the magic of Git, we can retain that beautiful wilderness for you to explore, even as we build a well-manicured amusement park out of its best parts.

Note that a lot of older SkotOS code, including both SkotOS Classic and SkotOS games that weren't part of that release, are being moved into other ChatTheatre repositories. Not everything wants or needs to be part of the core game-building library that everybody uses for every game.

Unless otherwise noted, the contents of this repository as declared public domain using the Creative Commons "No Rights Reserved" CC0 Declaration.

CC0 Declarations

Under US law it is a bit more difficult to declare something public domain (see article). Creative Commons offers a CC0 tool that combined with GPG signed commits to this repository, helps with this issue.

The following parties have declared their contributions to this repository as public domain:

  • Noah Gibbs

CC0
To the extent possible under law, Noah Gibbs has waived all copyright and related or neighboring rights to Skotos-Doc repository. This work is published from: United Kingdom.

Contributing

This repository is intended as a "working documentation", which means that we are actively seeking documentation and proposals for improvements of all kinds.

We require that before any first PR from a contributor to this repository can be accepted, either their first commit must be GPG signed and it must either a general update to this README.md with a CC0 disclaimer as above, or every commit must contain a comment that include a similar CC0 disclaimer, which can be obtained from Creative Commons CC0.