Skip to main content

A card creator for Arkham Horror: The Card Game

Project description

Shoggoth

Card creation software for Arkham Horror: The Card Game

Status

Under development. Viewermode probably out of date. Lots of stuff has only been implemented with surface level functionality or only works with specific setups.

Shoggoth allows you to create homebrew cards for Arkham Horror: The Card Game. It features a sensible templating system with inheritance, that makes it easy to define new cards in very few rules.

Installation:

The easiest way is to head to releases and grab the file for your system.

If you're on linux, or are comfortable around python, you can install Shoggoth as a python tool, using pipx install shoggoth (or uvx shoggoth if you use uv).

Note, that due to this being a hobby project, I'm not going to spend resources on obtaining a Apple developer license, and as such, Mac will complain about the application being unsigned, insecure or unknown. That is expected.

Security and false positives in virus detection Windows defender has on ocassion reported Shoggoth as being harmful. Shoggoth is not malware, but it does a lot of the same things as malware - it downloads files from the internet without asking you (asset files), unpacks them, and parse arbitrary files (projects/cards) on your system. All of this is intended and expected. That being said, Shoggoth is not reviewed for security, and you shouldn't try to run files from people you don't trust. I can't give you any guarantee that the standard python json module doesn't have some exploit that will allow someone take over your system. Most software can't make that guarantee.

Usage

Simply start Shoggoth for the UI mode. In UI mode, you'll have an experience similar to other card designers, where the UI will help guide you along to create cards similar to official cards. You can also use shoggoth as a cli tool. Run shoggoth --help for more information.

Card and data design

Shoggoth is built for Arkham Horror: The Card Game (trademarked by Fantasy Flight Games. No affiliation, nor endorsement whatsoever). In theory, there's only 7 card types in AHTCG, but over time, there has been so many variations and exceptions. This has led to Shoggoth adopting the following design:

All Cards are contained within a Project - what's typically called an "expansion". A project could be as small as 1 card, or over 600 cards.

A Project can have cards directly or Encounter Sets that contain cards. Player cards will typically belong directly to a project, whereas encounter cards are grouped by Encounter Sets.

All Cards are built from some standard information, and 2 Faces, the front and back. All faces are identical in fields - there's no feature available for one face that's not available for every other. Enemies can have Shroud, Clues, Doom, and locations can have Attack, Health and Horror. The UI makes it easy to generate standard compliant cards, but if you edit the json data directly, you have full control.

Structure and Fields

Project

{
    "name": "Full Name of Project",
    "icon": "path/to/icon.jpeg",
    "code": "FNoP",
    "encounter_sets": [],
    "cards": [],
    "id": "random-generated-guid"
}```

Encounter Set
```json
{
    "name": "Name of Set",
    "icon": "path/to/encounter/icon.png",
    "code": "NoS",  // Shorthand code for set
    "card_amount": 40,  // automatically calculated, stored for convinience
    "id": "random-generated-guid",
    "order": 1  // manual order, such as scenario order, in the project
}```

Cards
```json
{
    "name": "Werewolf",  // Primary name of card. The actual title text on the card can be different, but this is the identifier. 
    "front": {},  // Front side of the card.
    "back": {},
    "encounter_number": "10",  // Number in the encounter set, if any. This can be given as a range "10-15" or a single number.
    "project_number": 50,  // Card number in the project.
    "id": "0a1b2a69-b55f-4571-8b20-90eaa2fea43b",  // random guid
    "encounter_set": "c959bdf0-6833-4e10-b1ee-7af118b18f15",  // id of the containing encounter set.
    "investigator": "Astrid"  // Mainly for player cards - used for grouping cards related to an investigator, such as signatures and weakness together with the investigator.
}

Faces

{
    "type": "enemy",  // Which template should be used. This either references one of the defaults in the asset package, or a file location of your json templte.
    "text": "",  // Main body text of the card.
    "flavor_text": "",  // Flavor text, background story, etc, all goes here.
    "traits": "Monster.", // Traits of the card  
    "victory": "Victory 1.",  // The victory field
    "illustration": "/path/to/werewolf.png", // path to the primary image for this card. 
    "health": "5<per>", // health of this card.
    "evade": "5",  // evasion value of this card
    "attack": "3", // attack value
    "damage": 1,  // number of damage per attack
    "horror": 2,  // number of horror per attack
    "classes": [] // variation of this card. For enemies this can be ["weakness"] or ["basic_weakness"], for assets it could be ["seeker", "guardian"].
}

Many more fields are available. Almost all fields are text fields, and takes a string to render. A few are intergers, lists or file paths. The full specification will be available later. Check out the defaults in the asset package.

You can incentivise the further development of Shoggoth (and other AH:TCG software and content) by donating on Patreon or Ko-Fi.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

shoggoth-0.4.11.tar.gz (480.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

shoggoth-0.4.11-py3-none-any.whl (230.3 kB view details)

Uploaded Python 3

File details

Details for the file shoggoth-0.4.11.tar.gz.

File metadata

  • Download URL: shoggoth-0.4.11.tar.gz
  • Upload date:
  • Size: 480.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.11

File hashes

Hashes for shoggoth-0.4.11.tar.gz
Algorithm Hash digest
SHA256 226a2c71cac4e9ec5fd6e1da87df84e001acc5aa4f8016c0ecc7f27a93884913
MD5 77ebb483b75a50c8785c5cf935320d19
BLAKE2b-256 785d55216eb0ab22d6073505cf81a3409c723e316802d0fb7fa2fd05ceb2ffe3

See more details on using hashes here.

File details

Details for the file shoggoth-0.4.11-py3-none-any.whl.

File metadata

  • Download URL: shoggoth-0.4.11-py3-none-any.whl
  • Upload date:
  • Size: 230.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.11

File hashes

Hashes for shoggoth-0.4.11-py3-none-any.whl
Algorithm Hash digest
SHA256 6af21d6ad8cbc1e20c38f3a682f7b0b0513c5ac9753c059331c7c098ae99cbaa
MD5 0697476e94c258ea60009bbfe209056a
BLAKE2b-256 0449927ccef997ce2a7cbec4217fd9348593b52d7654badc0b6e878fea376c5b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page