Skip to content

flipstone/codiphi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Codiphi protocol
---
Define your own wargame codex (or use someone else's) in human-readable file structure
Declare your army list as a simple json construct
Codiphi will complete, validate and price your list

Basic Instructions
---
1. Find or write your schematic file
The schematic describes what makes a list legal or illegal.  We've tried to make this a very natural structure that's easy to read and manage.  Here's a simple example:

    model :hero {
      cost 100
    }
    list { 
      cost_measure "points"
      expects 1 :hero
    }

This schematic declares:
  "A model named 'hero' - it costs 100"
  "Any list created under this schematic is priced in points."
  "Any list created under this schematic requires at least one hero model."

You can also ask a friend for theirs.

2. Build out your list
Write a YAML-formatted file that makes selections for your army.  YAML files are plainly formatted text that's intended to be easy to read and edit.  

Every list file must include a "list" root node that contains a "schematic" attribute.  The schematic attribute is expected to be a reference to the schematic that's used to validate the file.

Here's an example list:

--- 
list: 
  description: First Man Standing
  schematic: test/hero2
  author: Codiphi Developer
  author_email: development@flipstone.com
  variant: nested legal
  notes: removing node
  version: "1"
  unit: 
  - type: hero-squad
    model: 
    - type: hero
      description: Neo
      count: 3
      weapon: 
      - type: sword
        cool_thing: magical
      - type: super_atom_bomb
        ammunition: untracked_attribute
      - type: shotgun
        ammunition: hellfire_rounds


3. Run codiphi on your list

  engine/bin/codiphi my_list_file.yml

This will generate yml output that is very similar to the one created, but decorated with either attributes from the schematic or with validation errors describing why the list is not legal under the schematic.

For additional help running the command-line engine, ask it for help:
  engine/bin/codiphi -h 

About

Expression language for wargaming factions

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published