Skip to content

[Game Init] Design your captain #182

Description

@utricularian

When creating a new game, before the crew hiring page, we want a new page that we'll call the Captain Creation. The high level of this is that, much like a crew member, your captain has some basic stats based on childhood. But we're going to construct a backstory, two years at a time, until the player feels ready to play their captain, the player wants to start over, or the captain dies during captain creation.

The gist is that we start with all the visible stats and required name fields for the captain. The captain starts at the same stats as our crew member does, including age 16. The first gate, which blocks the giant Use Captain button in the top right, is picking the childhood the captain grew up with.

So the page will look something like this:

Captain [ first name input ] [ nickname input ] [ last name input ]

Age: <current age>

Max Health: <current value>
Max Stamina: <current value>
Max Vigor: <current value>

Net Worth: <new current value. `net_worth` belongs to a Game object and represents the captains bank account>

Dice Pools:

<will explain in a bit>

Current Era: 

Then three options, tiled much in the same way that Crew are tiled, horizontally on the same plane. Each tile is a clickable button, and highlights when selected. They are mutually exclusive of one another.

The three options are the three different options for a childhood that the Captain had. It will affect the captain's stats and dice. These options should be modeled as either XML or yaml in some config somewhere. Will explain more on that in a second. Dice will be something we model too, explained later.

The player then chooses one of the three childhoods and next to each of the inherited values a green plus and value or a red minus and value will show the change in that value associated with the childhood. The childhoods are as described:

Childhood options

  • Orphan
    • Health: -10, Stamina: +20, Vigor: -10
    • Net Worth: 0
    • Athletics Dice +1
    • Brawling +1
    • Hand Eye Coordination +1
    • Salvage +1
    • Streetwise Dice +1
    • Survival +1
    • Thievery +1
  • Middle Class
    • Health: -10, Stamina: +0, Vigor: +10
    • Net Worth: +1000
    • Biology +1
    • Carry +1
    • Computer +1
    • Cooking +1
    • Endurance +1
    • Finances +1
    • Mechanics +1
    • Religion +1
    • Social +1
  • Child of the Elite
    • Health: +10, Stamina: -30, Vigor: +20
    • Net Worth: +5000
    • Art +1
    • Command +1
    • Diplomacy +1
    • History +1
    • Math +1
    • Pilot +1
    • Social +1
    • Trade +1

Dice Details

Dice will be used by each pawn later on to overcome skills and challenges. For now all we need to know is that there are a selection of dice, and each pawn can use zero-to-many of those dice. Exactly how many dice that pawn can use is stored in the Pawn row for that dice. For example, the Pawn Paul has +4 Athletics. His Pawn#athletics_dice should equal 4. We should store each dice as a column on pawn.

The current dice are:

  • Art
  • Astrogation
  • Athletics
  • Biology
  • Botanics
  • Brawling
  • Carry
  • Chemistry
  • Command
  • Computers
  • Cooking
  • Demolitions
  • Diplomacy
  • Endurance
  • Electronics
  • Fabrication
  • Finances
  • Fire Suppression
  • Hacking
  • Hand Eye Coordination
  • History
  • Investigation
  • Legal
  • Math
  • Mechanics
  • Medicine
  • Nuclear Science
  • Pilot
  • Pistols
  • Religion
  • Rifles
  • Salvage
  • Smuggling
  • Social
  • Stealth
  • Streetwise
  • Surveying
  • Survival
  • Thievery
  • Trade

After Selection

After the user selects the card that represents their childhood, the relevant stats show their delta and the Use Captain becomes clickable and green. This progresses them to the crew page, with the captain already seeded as a hired pawn.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions