"bodyType" - Breaking the Humanoid Mold

Discussion in 'Mechanics' started by Mackinz, Jun 24, 2014.

  1. Mackinz

    Mackinz The Waste of Time

    For the last few months, I have been sitting on an idea that I feel would help Starbound considerably. Today, I will try to type it out. Here goes.

    Have you ever noticed how every sentient race in vanilla Starbound looks like a recolored Human? If you are a stickler for details like me, then probably so. Every male has a stocky upper body, and every female has a thin waist and chest bulges. Every piece of clothing in vanilla Starbound is designed for these body types, and there is no way to change the clothing or body sprite for one character without it affecting every other character.

    For modders, this presents a distinct limitation. People designing a race mod are restricted to a stick humanoid shape or else all clothing in the game will not fit the new race. Unique body types, with unique legs, arms, or other body parts are frowned upon by the developers and require completely custom clothing which will fit that body type.

    While not necessarily limiting from a gameplay perspective, as all clothing can be worn albeit with clipping issues, the limitation on creativity and uniqueness is very real. Races like the Avali have to have their clothing tailored to their unique body type, and cannot equip "normal" equipment without looking ridiculous. Races like the Lucario and Ashen can equip normal clothing on their upper body without issue, but cannot equip pants without clipping. Even semi-humanoid races like the Reptan and Gallavoir are forced to have females which do not fit into the clothing because they do not have bulges on their chest.

    This limitation is very, very annoying, and I propose that we fix it.

    In trying to tackle this problem, I came up with a solution that may or may not be easy: the "bodyType" parameter.

    The "bodyType" parameter is something that could be added to the .species file of every race, as well as the various clothing files. To put it simply, this "bodyType" would allow for every race to equip all clothing when utilized properly. As I am not a coder by trade, I cannot explain the intricacies of how it would work, but the idea is for the species file to set, for each character of that race, what sprite is called for in a clothing file. Vanilla races would have their "bodyType" set to "humanoid", while other races would have their "bodyType" set to whatever custom value the mod maker wants.


    Code:
      "kind" : "human",
      "index" : 0,
      "nameGen" : [ "/species/humannamegen.config:names", "/species/humannamegen.config:names" ],
      "ouchNoises" : [ "/sfx/humanoid/humanhurt_male1.wav", "/sfx/humanoid/humanhurt_female1.wav" ],
      "charGenTextLabels" : [ "SKIN COLOR", "HAIR STYLE", "SHIRT", "PANTS", "UNDY COLOR", "HAIR COLOR", "SHIRT COLOR", "PANTS COLOR", "HUMAN", "PERSONALITY" ],
      "skull" : "/humanoid/human/dead.png",
    Code:
      "kind" : "human",
      "bodyType" : "humanoid",
      "index" : 0,
      "nameGen" : [ "/species/humannamegen.config:names", "/species/humannamegen.config:names" ],
      "ouchNoises" : [ "/sfx/humanoid/humanhurt_male1.wav", "/sfx/humanoid/humanhurt_female1.wav" ],
      "charGenTextLabels" : [ "SKIN COLOR", "HAIR STYLE", "SHIRT", "PANTS", "UNDY COLOR", "HAIR COLOR", "SHIRT COLOR", "PANTS COLOR", "HUMAN", "PERSONALITY" ],
      "skull" : "/humanoid/human/dead.png",


    Within the various clothing files, there would be a change in format as I will demonstrate.

    Code:
      "itemName" : "coolchest",
      "inventoryIcon" : "icons.png:chest",
      "dropCollision" : [-4.0, -3.0, 4.0, 3.0],
      "maxStack" : 1,
      "rarity" : "Common",
      "description" : "A cool jacket, too cool for drycleaning.",
      "shortdescription" : "Cool Jacket",
      "inspectionKind" : "armor",
    
      "maleFrames" : {
        "body" : "chestm.png",
        "backSleeve" : "bsleeve.png",
        "frontSleeve" : "fsleeve.png"
      },
    
      "femaleFrames" : {
        "body" : "chestf.png",
        "backSleeve" : "bsleeve.png",
        "frontSleeve" : "fsleeve.png"
      },
    Code:
      "itemName" : "coolchest",
      "inventoryIcon" : "icons.png:chest",
      "dropCollision" : [-4.0, -3.0, 4.0, 3.0],
      "maxStack" : 1,
      "rarity" : "Common",
      "description" : "A cool jacket, too cool for drycleaning.",
      "shortdescription" : "Cool Jacket",
      "inspectionKind" : "armor",
    
      "humanoid" : {
        "maleFrames" : {
          "body" : "chestm.png",
          "backSleeve" : "bsleeve.png",
          "frontSleeve" : "fsleeve.png"
        },
    
        "femaleFrames" : {
          "body" : "chestf.png",
          "backSleeve" : "bsleeve.png",
          "frontSleeve" : "fsleeve.png"
        }
      },


    For a unique race, the "bodyType" will be defined by the mod maker and a merge into various clothing files would allow the mod maker to design fitting sprites for the clothing to reduce clipping. Aside from custom races, this proposal would also allow for mods like Biologically-Correct Torsos to eliminate clipping concerns when changing vanilla races. With modification, this proposal could also allow for better player customization possibilities, allowing for a player choice of body type which would allow for selection of, say, bust size, character height, or physique... but I have not thought about how to propose that.

    I honestly can not say anything about how probable this suggestion is, let alone if it is even possible, but the restrictions on racial uniqueness need to be lifted to allow for better integration of modding into the game.

    Please leave feedback below.
     
    Birdcrown, Seajun_ and bounding star like this.
  2. Musetrigger

    Musetrigger Hard-To-Destroy Reptile

    I like the idea of changing the size of the 'bulges'. Lily's not a very big girl.

    As for the rest of it, I can't say. I'm not a modder nor am I a coder. But I'm interested in its progress.
     
    Seajun_ and Mackinz like this.
  3. Mackinz

    Mackinz The Waste of Time

    I'm not sure what you mean by "progress", as the OP is about as complete as I feel possible, but I think a lot of players would enjoy having multiple body types available per character... something like a 9x9 square of choices (i.e. 3 "physique" options mixed with 3 "chest" options).

    It would add so much to the role-playing possibilities, aside from allowing races to not have to worry about clipping!
     

Share This Page