Extending the System
Sooner or later you will want something the four file types do not cover — a faction, a spell, a specific creature with no sheet, a new category of gear. This chapter is the decision framework for when to reach for a schema edit and when to resist it.
First: can the existing types hold it?
Most things you want to add are already speak-able in the four types, and you should prefer that. Ask the question "is this a Character, Equipment, Location, or Game-Start?" honestly, and most answers are yes:
- A faction is not a fifth type — it is a Location (the space it controls) plus a GM Instruction (how it acts) plus maybe a Character for its leader. Three existing files model it completely.
- A named NPC monster is a Character with its stats, even if the players never "play" it.
- A spell or ability a character uses is a row inside that Character's abilities array, not a new type.
- A distinctive object is Equipment.
Four types deliberately cover a lot. When you feel the itch for a new type, spend effort first on seeing the thing as a combination of the existing four. This keeps the system's one core strength — a small, searchable, cross-referenced web — intact.
When you genuinely need a new type
Sometimes the existing types genuinely cannot hold it cleanly. The signal is repetition: you find yourself typing the same bundle of fields into the notes of file after file, or re-stating the same concept across many unrelated entries. That repetition is the system telling you the concept wants a file of its own.
Before you build a new file type, step through the design checklist:
- Name it as the single anchored concept. The type is one thing, folded in one folder, one schema.
- Give it a small, enumerated core. Model the fields that the machine reasons over as choices and ranges, not free prose. If you cannot name its categories, you are not ready to type it.
- Decide the references. Which existing files will point at it, and what will it point at? Follow the reference direction rule: the user of a thing carries the reference, not the thing itself.
- Decide the computed layer early. Any derived value belongs as a formula on the schema, never hand-typed into files.
- Keep it original. A new type must be native to SPAECIMH's idiom, not a familiar mechanic from another system wearing a new folder.
This is also the point to read the Creating File Types and Updating File Types guides — they carry the mechanical how-to for registering a type, and this manual carries the judgment about whether you should.
Editing an existing schema — the restraint rule
More often than adding a type, you will be tempted to add a field to one. Resist until the field earns it. The test:
- One character, many values (a skill list, a connection, an ability) → an array field, or a row inside an existing array. Not a new top-level field per item.
- A value the system must enforce (a category that gates combat) → an enumerated field.
- A value the story needs but the machine does not → it is prose; it belongs in description/notes, not a new field.
The classic mistake is a schema that grows one field per idea until the file type is a sprawling Wiki. A good schema is small, enumerated and cross-referenced — the way Character already is. When you edit, edit the expression, the enum, or the reference target. Do not bolt on a new scalar every session.
Genre adaptation without breaking the wheel
SPAECIMH claims to be universal, and the way to prove it is to adapt it to a new genre without touching a formula. The currency is text — call gold credits. The setting is text — flavour the four roads. The monsters are Character files — rebuild them with the same six attributes. The system's mechanics (4d6, derived attributes, ORIGIN tiers) are genre-agnostic by design, and that is the point of originality: a system that never copied anybody can be dropped anywhere without owing anyone anything.
Adapt by adding entries, not by editing mechanics. The moment you change the check formula for a genre, you have broken the build. Keep the math native and let the fiction change around it.
The final audit
Before you call a build done, run it through the system's own rules:
- Are derived values left to the sheet, never hand-typed?
- Is every reference pointing at a real, existing file?
- Are the enumerated fields inside their enums?
- Does any requested edit change a formula that should stay untouched?
- Would the world you built still work as a dynamic system — something that runs on its own once seeded — rather than a script you have to narrate line by line?
Answer those honestly and the system will carry whatever you build. Answer them casually and you will quietly trade SPAECIMH — a small, coherent, machine-run universal system — for a pile of files that no longer agree with each other. Build like it's load-bearing, because it is.